/yesdb

A storage engine for study

Primary LanguageC++Apache License 2.0Apache-2.0

yesdb

  • A storage engine for study

Features

  • Builtin server (yesdb-server)
  • Predictable read/write performance
  • Low latency
  • High throughput

Dependency

Install Dependency

ART no need install

# Catch2
git clone https://github.com/catchorg/Catch2.git
cd Catch2 && cmake -B build && cmake --build build && cd build && sudo make install
# Other dependency similar

How to Run

cd yesdb
cmake -B build
cmake --build build
./src/yesdb_server
curl http://0.0.0.0:18080/yesdb

Physical Data Layout

/*
* +-------+--------+--------+----------+-----+-------+
* | crc32 | tstamp | key_sz | value_sz | key | value | 
* +-------+--------+--------+----------+-----+-------+
*/

TODO 2023.8

  • Wal
  • Index
  • Recovery

Done

  • Read
  • Write
  • Serialize
  • Deserialize
  • Compress
  • Decompress
  • DBServer
  • Log
  • ART
  • Benchmark