Skip to content

ysono/pancake

Repository files navigation

🥞

Pancake is a toy database. The project's goal is to learn and experiment with algorithms. As a product, Pancake works, possibly correctly, and mildly fastly.

Features:

  • Data model = Document, dynamically typed.
  • Each secondary index key definition covers one contiguous sub-portion of values. It is specified by a sequence of integers that inspect within nested tuples.
  • Storage data structure = LSM Tree.
  • Storage engines:
    • Serial execution.
    • MVCC implementing Serializable Snapshot Isolation (i.e. optimistic locking).
  • Distributed:
    • No partitioning or replication, yet.

Architecture

See doc diagrams.

Sample usage

Starting the server:

cargo run --package pancake_server --bin pancake_server_serial
cargo run --package pancake_server --bin pancake_server_ssi

Accessing the server:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •