A simple, fast, ordered, persistable key-value storage library for Go, using an LSM-like design.
Moss is a Go library that provides a simple, fast, and ordered key-value storage implementation with persistence. It solves the need for an efficient, concurrent, and persistable key-value collection within Go applications, using an LSM-like design with immutable sorted segments.
Go developers building applications that require embedded key-value storage with ordered data, concurrent access, and persistence, such as databases, caching layers, or state management systems.
Developers choose Moss for its pure Go implementation, non-blocking concurrent reads and writes, efficient snapshot isolation, and flexible persistence options, making it a lightweight yet powerful alternative to heavier storage engines.
moss - a simple, fast, ordered, persistable, key-val storage library for golang
Readers and writers operate independently without locks, enabling high throughput in concurrent environments as per the immutable segment stack design.
Snapshots provide consistent reads with low overhead by cloning the segment stack, ideal for transactional views without blocking writes.
Merge operations allow efficient handling of write-heavy workloads like counters, reducing I/O overhead through read-compute-write optimizations.
mossStore offers append-only writes and memory-mapped reads with configurable compaction, and hooks allow integration with external storage like LevelDB or SQLite.
Each batch must have unique keys, forcing applications to manage this constraint externally, which can complicate logic for some use cases.
Performance relies on background merger tasks; if slow or misconfigured, it can stall ingest of new batches, requiring careful tuning of CollectionOptions.
Long-lived snapshots or iterators can delay reclamation of old segments, potentially leading to increased memory usage and performance degradation.
The Prometheus monitoring system and time series database.
Milvus is a high-performance, cloud-native vector database built for scalable vector ANN search
TiDB is built for agentic workloads that grow unpredictably, with ACID guarantees and native support for transactions, analytics, and vector search. No data silos. No noisy neighbors. No infrastructure ceiling.
CockroachDB — the cloud native, distributed SQL database designed for high availability, effortless scale, and control over data placement.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.