lsmt
k4
lsmt | k4 | |
---|---|---|
3 | 1 | |
33 | 262 | |
- | 0.8% | |
8.8 | 9.7 | |
4 months ago | 3 months ago | |
Go | Go | |
GNU Affero General Public License v3.0 | BSD 3-clause "New" or "Revised" 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
k4
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.
tidesdb - High-performance durable, transactional embedded storage engine designed for flash and RAM optimization.
raft - raft is a golang library that provides a simple, clean, and idiomatic implementation of the Raft consensus protocol
kivi - Dynamo-inspired distributed leader-less key-value database that has no unique features and no apparent reason to exist
lotusdb - Most advanced key-value database written in Go, extremely fast, compatible with LSM tree and B+ tree.
gosqldb - A key-value persistent database that supports SQL queries over B+ and LSM trees
starskey - Package for fast persistent and embedded key-value storage. LevelDB-WiscKey inspired.
go-sstables - Go library for protobuf compatible sstables, a skiplist, a recordio format and other database building blocks like a write-ahead log. Ships now with an embedded key-value store.