Skip to content

Latest commit

 

History

History
14 lines (12 loc) · 693 Bytes

LSM-Tree.md

File metadata and controls

14 lines (12 loc) · 693 Bytes

Designing a Key-Value Store in Golang

Part 1 - Basic project setup, In-memory store, WAL files for persistence. API for read / write Key-Value pairs.
Part 2 - WAL -> Data files, Adding support for Deletes. Working with tombstones.
Part 3+ - Depending on the interest this can be extended as follows:

  • a distributed version
  • making the values a CRDT so we can have eventual consistency
  • Performance testing / Scaling
  • Along the lines of Property / Unit Testing for such a system
  • Learn and write Jepsen tests and much much more.

Sources:

Byte-Byte-Go Ashwanth Kumar