Skip to content

rbtcollins/async-lsm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

async-lsm - an LSM library for Rust

All the existing Rust LSM's appear to be synchronous. This leads to a function colouring mismatch when using cloud blob storage, as (most) all client SDKs for such systems are async.

Currently, this is an experiment.

Goals

  • Library for opening LSM storage on top of an Async storage abstraction
  • Included storage implementations for local disk and common blob storage APIs
  • Single process access to the storage - fencing and other distributed system concerns should be handled by the deployment layer of an application built on top of this library.
  • Write-through caching
  • Read caching
  • Some sensible limits on value and key sizes
  • Reads don't block writes
  • Mutations don't block reads
  • Mutations are serialised, but multiple mutations can be in flight at once

About

Exploring writing an Async based LSM

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages