moss
darwin
moss | darwin | |
---|---|---|
2 | 1 | |
946 | 143 | |
0.5% | 1.4% | |
0.0 | 0.0 | |
over 2 years ago | over 1 year ago | |
Go | Go | |
GNU General Public License v3.0 or later | 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.
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].
darwin
-
database migrations
I use darwin for these things, it's been great to me.
What are some alternatives?
badger - Fast key-value DB in Go.
TinyGo - Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
bolt
Milvus - A cloud-native vector database, storage for next generation AI applications
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://www.pingcap.com/tidb-serverless/
prometheus - The Prometheus monitoring system and time series database.
jaeger - CNCF Jaeger, a Distributed Tracing Platform
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
groupcache - groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases.