This repository has been archived by the owner on Nov 4, 2024. It is now read-only.
KVDK version 1.0.0 is a high performance persistent key-value storage solution based on Intel Persistent Memory.
Features
KVDK supports multiple data types along with several advanced features.
- Multiple data types. Raw string KV, sorted KV collection, hash KV collection and list.
- Basic KV operation. Like Get/Put/Update/Delete key-value pairs, and snapshot based scan.
- Expire data on time. Set a TTL (time-to-live) for a string KV or a collection in KVDK.
- Atomic Read-Modify-Write of key-value pairs.
- Atomic batch write across data types.
- Read-committed transaction across data types.
- Consistent dump & restore data to/from storage.
- Consistent checkpoint. Make a checkpoint at run time and restore data to the checkpoint at next startup.
- Multiple language APIs. C/C++/Java.
Public API
Please refer to doc/user_doc.md and examples/tutorial for public API and examples.
Performance
Please refer to doc/benchmark.md for benchmarking.