Skip to content

JPewterschmidt/FrenzyKV

Repository files navigation

FrenzyKV

A LSM KV database.

Credits

  • Implementation and tests of Bloom filter from LevelDB.
  • nlohmann json: JSON for Modern C++.
  • Zstandard: Zstandard - Fast real-time compression algorithm
  • crc32c: CRC32C implementation with support for CPU-specific acceleration instructions.
  • smhasher: A test suite designed to test the distribution, collision, and performance properties of non-cryptographic hash functions.
  • Magic Enum: Static reflection for enums (to string, from string, iteration) for modern C++, work with any enum type without any macro or boilerplate code.
  • libuuid: Portable uuid C library.
  • GoogleTest: GoogleTest - Google Testing and Mocking Framework.
  • benchmark: A microbenchmark support library.
  • xmake: 🔥 A cross-platform build utility based on Lua
  • Koios: A C++ coroutine library.
  • toolpex: A C++ Utility Toolbox.

Acknowledgement

System API design and system structure were inspired by Google's LevelDB, since I have not yet get enough experience to design such a system. But There's no code copied directly from LevelDB except for bloom filter and it's tests. Both two files were marked Google's copyright declaration.

About

A LSM KV database.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages