Skip to content

An experimental KV store, which implements an LSM on top of Bolt segments.

License

Notifications You must be signed in to change notification settings

couchbaselabs/cellar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cellar

An experimental KV store, which implements an LSM on top of Bolt segments.

Status

EXPERIMENTAL – the API is evolving and the implementation is new

Build Status Coverage Status GoDoc codebeat badge Go Report Card

High Level Concept

  • Data coming into Cellar is batched. Each batch is written out to its own Bolt segment.
  • Reads from Cellar must navigate all the live Bolt segments.
  • Over time, you have too many segments, and must merge segments.

NOTE: if you can arrange to write all keys in a batch in sorted order, we can take advantage of Bolt's strengths. One way to build batches and write them to Cellar in sorted order is to place moss in front of Cellar. In the future we may offer another package to combine these two projects seamlessly.

Features

  • API inspired by Bolt
  • But, only 1 bucket. Support for nested or multiple buckets was removed.
  • Configurable merge policies. Currently only one really dumb implementation.

Performance

Is this actually faster for any use cases?

We don't know yet. This is an ongoing experiment.

License

Apache 2.0

About

An experimental KV store, which implements an LSM on top of Bolt segments.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages