Seaweed-FS: simple distributed file system written in Go

“SeaweedFS is a simple and highly scalable distributed file system. There are two objectives:

  1. to store billions of files!
  2. to serve the files fast!

Instead of supporting full POSIX file system semantics, SeaweedFS choose to implement only a key~file mapping. Similar to the word “NoSQL”, you can call it as “NoFS”.

Instead of managing all file metadata in a central master, SeaweedFS choose to manage file volumes in the central master, and let volume servers manage files and the metadata. This relieves concurrency pressure from the central master and spreads file metadata into volume servers’ memories, allowing faster file access with just one disk read operation!

SeaweedFS costs only 40 bytes disk storage for each file’s metadata. It is so simple with O(1) disk read that you are welcome to challenge the performance with your actual use cases.

SeaweedFS started by implementing Facebook’s Haystack design paper. It grows with more features along the way. Download latest compiled binaries for different platforms here. SeaweedFS Discussion Group…”