lsmt
kivi
lsmt | kivi | |
---|---|---|
3 | 1 | |
33 | 41 | |
- | - | |
8.8 | 5.6 | |
4 months ago | about 1 year ago | |
Go | Go | |
GNU Affero General Public License v3.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
lsmt
-
TidesDB – High-performance, durable, transactional embedded storage engine
It's pretty interesting how this design turned out, RocksDB for example I believe is well over 200,000 lines. I originally wrote it in GO, well the base of it:
https://github.com/guycipher/lsmt
Then once I felt ok with what I had I took what I had in GO and painstakingly rewrote it to C++, (originally was gonna be C). Why GO first? I honestly write a lot more GO than C++ lately so I'm faster at writing in GO. Not to say I don't write C++. I've been writing code for 15+ years, C++ was one of my first languages at 14 years old, just haven't been writing it everyday. This project has changed that pretty dramatically!
- A fast transactional, durable LSMT implementation written in GO
- Single level embedded log structured merge tree (LSMT) Golang package
kivi
What are some alternatives?
btree - A fast, disk-based BTree package with an extensive easy-to-use API optimized for large keys with many values.
udisk - The fastest ACID-transactional persisted Key-Value store designed as modified LSM-Tree for NVMe block-devices with GPU-acceleration and SPDK to bypass the Linux kernel