Skip to content

Latest commit

 

History

History
41 lines (27 loc) · 1.71 KB

README.md

File metadata and controls

41 lines (27 loc) · 1.71 KB

Cellar

Build Status CircleCI Coverage Status

License Go Report Card

Cellar is the append-only storage backend in Go designed based on Abdullin Cellar. This fork is currently being redesigned, so the API should be considered unstable.

Core features:

  • events are automatically split into the chunks;
  • chunks may be encrypted using the Cipher interface;
  • designed for batching operations (high throughput);
  • supports single writer and multiple concurrent readers;
  • store secondary indexes, lookups in the metadata DB.

Contributors

In the alphabetical order:

Don't hesitate to send a PR to include your profile.

Design

Cellar stores data in a very simple manner:

  • MetaDB database is used for keeping metadata (including user-defined), see metadb.go;
  • a single pre-allocated file is used to buffer all writes;
  • when buffer fills, it is compressed, encrypted and added to the chunk list.

License

3-clause BSD license.