/kitten

🐱Kitten is a distributed file system optimized for small file storage, inspired by Facebook's Haystack.

Primary LanguageGoApache License 2.0Apache-2.0

kitten🐱

Go

简体中文

About kitten

Kitten is a distributed file system optimized for small files storage,inspired by Facebook‘s Haystack

Features

  • High throughput & Low latency for millions of files
  • Fault-tolerant, store replicates files on different racks
  • Cost-effective
  • Simple

Quick Start

Find more detail design in docs folder.

Roadmap

Name Issue Description
Kitten's basic component #1 Implement basic component including Store, Proxy, Directory(WIP), Cache
Introduce Etcd #2 Introduce Etcd for distributed management.
Expose easy APIs #3 Find an elegantly way to expose APIs.
Support S3 API #4 As S3 APIs are the de facto standards for OSS, support S3 style APIs.
Implement erasure code #5 Split data into two groups(hot/warm), use erasure code to store warm data.

Acknowledgments

Inspired by:

bfs distributed file system(small file storage) writen in golang.

seaweedfs SeaweedFS is a fast distributed storage system for blobs, objects, files, and data lake, for billions of files!

Thanks again for JetBrains' Sponsorship!