Skip to content

databases-seroze/kvarkDB

Repository files navigation

kvarkDB

This is mainly inspired from tidesdb from the author Alex Padula But i'll try to add some experimental ideas.

Platform support:

  • Only targeted for unix like systems (eg: Mac, Ubuntu). If you want windows support please ask by raising a PR.

How to run:

// delete existing build dir and create a new make file // then run the cmake to actuall build the project % rm -rf build && cmake -S . -B build % cmake --build build Note: cmake --build build automatically takes care of rebuilding only the relevant files that have changed post last run

How to run tests: % ./build/*_tests

Milestones:

  • Implement WAL
  • Implement Compression
  • Implement BloomFilter
  • [] Implement SkipList + cursor
  • [] Implement memtable & sstable
  • [] Implement Column families
  • [] Write a minimal key-value db
  • [] Support REPL
  • [] Add Go, python bindings

Features:

  • [] LSM Based with levelled compaction (for now only has single level)
  • [] Transaction support
  • WAL
  • Compression support

Dependencies

  • install zstd4, snappy, lz4 libraries

About

Educational database implemented in C

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published