btree
lsmt
btree | lsmt | |
---|---|---|
2 | 3 | |
81 | 33 | |
- | - | |
8.7 | 8.8 | |
22 days ago | 3 months ago | |
Go | Go | |
BSD 3-clause "New" or "Revised" License | GNU Affero General Public License v3.0 |
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.
btree
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
What are some alternatives?
ObjectBox Go Database - Embedded Go Database, the fast alternative to SQLite, gorm, etc.
k4 - High-performance open-source, durable, transactional embedded storage engine designed for low-latency, and optimized read and write efficiency.
rosedb - Lightweight, fast and reliable key/value storage engine based on Bitcask.
tidesdb - High-performance durable, transactional embedded storage engine designed for flash and RAM optimization.
eliasdb - EliasDB a graph-based database.
lotusdb - Most advanced key-value database written in Go, extremely fast, compatible with LSM tree and B+ tree.
ariasql - The AriaSQL relational database management system.
kivi - Dynamo-inspired distributed leader-less key-value database that has no unique features and no apparent reason to exist
gitdb - Distributed Embeddable Database
gograph - A golang generic graph library that provides mathematical graph-theory and algorithms.
flashdb - FlashDB is an embeddable, in-memory key/value database in Go (with Redis like commands and super easy to read)
rosedb - 🚀 A high performance NoSQL database based on bitcask, supports string, list, hash, set, and sorted set. [Moved to: https://github.com/flower-corp/rosedb]