title: Distributed File Systems: GridFS vs. GlusterFS vs Ceph vs HekaFS Benchmarks
body: <p>I am currently searching for a good distributed file system.</p>
  
  <p>It should:</p>
  
  <ul>
  <li>be open-source</li>
  <li>be horizontally scalable (replication and sharding)</li>
  <li>have no single point of failure</li>
  <li>have a relatively small footprint</li>
  </ul>
  
  <p>Here are the four most promising candidates in my opinion:</p>
  
  <ul>
  <li><a href="http://docs.mongodb.org/manual/reference/gridfs/" rel="noreferrer">GridFS</a> (based on MongoDB)</li>
  <li><a href="http://www.gluster.org/about/" rel="noreferrer">GlusterFS</a></li>
  <li><a href="http://ceph.com/" rel="noreferrer">Ceph</a></li>
  <li><a href="http://hekafs.org/" rel="noreferrer">HekaFS</a></li>
  </ul>
  
  <p>The filesystem will be used mainly for media files (images and audio). There are very small as well as medium sized files (1 KB - 10 MB). The amount of files should be around several millions.</p>
  
  <p>Are there any benchmarks regarding <strong>performance</strong>, <strong>CPU-load</strong>, <strong>memory-consumption</strong> and <strong>scalability</strong>? What are your experiences using these or other distributed filesystems?</p>