Repo: https://github.com/al8n/skipdb
An embedded, in-memory, zero-copy, MVCC, almost lock-free and serializable snapshot isolation database engine.
Features
- Atomicity, Consistency, Isolation, MVCC, serializable snapshot isolation, concurrent safe and almost lock-free.
- No extra allocation and copy, there is no
Arcwrapper for both key and value stored in the database, which means that users provideKandV, and database storeKandVdirectly. - Zero-copy and in-place compaction, which means there is no copy, no extra allocation when compacting.
- Concurrent execution of transactions, providing serializable snapshot isolation, avoiding write skews.
- Both read transaction and write transaction are
Send + Sync + 'static, which means you do not need to handle annoying lifetime problem anymore. - Lock-free and concurrent safe read transaction: the read transaction is totally concurrent safe and can be shared in multiple threads, there is no lock in read transaction.
BTreeMaplike user friendly API and all iterators implementIteratortrait, which means users use Rust powerful conbinators when iterating over the database.- Async version is runtime agnostic,
tokio,async-std,smol,wasm-bindgen-futuresand any other async runtime. - 100% safe, sets
[forbid(unsafe_code)].
Ext Link: https://github.com/al8n/skipdb
1
共 0 条评论, 1 页
评论区
写评论还没有评论