Quantcast File System
Quantcast File System is an open-source distributed file system software package for large-scale MapReduce or other batch-processing workloads. It was designed as an alternative to the Apache Hadoop Distributed File System, intended to deliver better performance and cost-efficiency for large-scale processing clusters.
Design
QFS is software that runs on a cluster of hundreds or thousands of commodity Linux servers and allows other software layers to interact with them as if they were one giant hard drive. It has three components:- A chunk server runs on each machine that will host data, manages I/O to its hard drives, and monitors its activity and capacity.
- A central process called the metaserver keeps the directory structure and maps of files to physical storage. It coordinates activities of all the chunk servers and monitors the overall health of the file system. For high performance it holds all its data in memory, writing checkpoints and transaction logs to disk for recovery.
- A client component is the interface point that presents a file system application programming interface to other layers of the software. It makes requests of the metaserver to identify which chunk servers hold its data, then interacts with the chunk servers directly to read and write.
QFS is written in the programming language C++, operates within a fixed memory footprint, and uses direct input and output.