nutsdb
moss
nutsdb | moss | |
---|---|---|
2 | 2 | |
2,185 | 941 | |
- | 0.0% | |
9.1 | 0.0 | |
almost 2 years ago | about 2 years ago | |
Go | Go | |
Apache License 2.0 | GNU General Public License v3.0 or later |
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.
nutsdb
-
Is there a lightweight, stable and embedded database library?
Maybe worth looking at nutsdb? https://github.com/xujiajun/nutsdb
-
Open Source Databases in Go
nutsdb - Nutsdb is a simple, fast, embeddable, persistent key/value store written in pure Go. It supports fully serializable transactions and many data structures such as list, set, sorted set.
moss
-
Open Source Databases in Go
moss - Moss is a simple LSM key-value storage engine written in 100% Go.
-
But how, exactly, databases use mmap?
I decided to dig through a database source code to answer that question. There are plenty of databases that use mmap. Some of them decided to not use anymore. Some examples: SQLite has an option of accessing disk content directly using memory-mapped I/O[1], it seems LevelDB used to use but it changed it[2], Lucene has an option with MMapDirectory[3], LMDB uses mmap[4], a simple key/value in-memory database from Counchbase called moss uses mmap for durability of in-memory data[5] and MongoDB removed mmap storage engine for WiredTiger[6].
What are some alternatives?
go-sqlite - pure-Go SQLite driver for Go (SQLite embedded)
badger - Fast key-value DB in Go.
pebble - RocksDB/LevelDB inspired key-value database in Go
bolt
buntdb - BuntDB is an embeddable, in-memory key/value database for Go with custom indexing and geospatial support
tidb - TiDB is an open-source, cloud-native, distributed, MySQL-Compatible database for elastic scale and real-time analytics. Try AI-powered Chat2Query free at : https://tidbcloud.com/free-trial
LibraDB - LibraDB is a simple, persistent key/value store written in pure Go in less than 1000 lines for learning purposes.
prometheus - The Prometheus monitoring system and time series database.
InfluxDB - Scalable datastore for metrics, events, and real-time analytics
fastcache - Fast thread-safe inmemory cache for big number of entries in Go. Minimizes GC overhead
dgraph - The high-performance database for modern applications
pgweb - Cross-platform client for PostgreSQL databases