Skip to content

carapace/cellar

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Packages

No packages published

Languages

  • Go 99.0%
  • Other 1.0%