[go: up one dir, main page]

Skip to content
/ aslam Public

(wip) a log structured merge tree storage engine in c++17

Notifications You must be signed in to change notification settings

mdvsh/aslam

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aslam

a concurrent log-structured merge tree storage engine in modern c++

implements:

  • Put(k, v)
  • Get(k) -> v
  • Delete(k)
  • Scan(k1, k2) -> [(k, v)]

uses level compaction, with a write-ahead log for durability

implements lock-free (templated) skiplist based memtable for fast writes.

build

$ mkdir build
$ cd build
$ cmake ..
$ make

todo

  • memtable
    • freezing and multiple tables
    • concurrency
      • stress test for correctness
      • todo: fix delete with multiple tables
  • mergeiterator
  • sorted strign table (sst) encoding
  • bloom filter for sst optimization
  • level compaction and persistence
  • write-ahead log
  • future?

benchmark

TODO

About

(wip) a log structured merge tree storage engine in c++17

Resources

Stars

Watchers

Forks