A simple, fast, embeddable, persistent key/value store written in pure Go, supporting transactions and multiple data structures.
NutsDB is an embeddable, persistent key/value store written in pure Go. It provides a simple and fast storage engine that supports fully serializable transactions and multiple data structures like lists, sets, and sorted sets. It solves the need for lightweight, reliable embedded storage within Go applications without external dependencies.
Go developers building applications that require embedded, persistent storage with transaction support and rich data structures, such as microservices, desktop apps, or tools needing local data management.
Developers choose NutsDB for its simplicity, pure Go implementation with no external dependencies, and support for transactions and multiple data structures in a single embeddable package, offering a robust alternative to in-memory stores or heavier databases.
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.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
With no external dependencies, it's easy to integrate and deploy, reducing setup overhead and compatibility issues in Go applications.
Supports fully serializable read-only and read-write transactions, ensuring data consistency for critical operations within a Tx object.
Beyond key/value, it offers lists, sets, and sorted sets, providing Redis-like functionality in an embedded package for varied data models.
Features like Merge V2 and HintFile reduce memory usage by ~65% and startup time significantly, as shown in benchmarks for large datasets.
Data from versions before v1.0.0 is not compatible, forcing a full rewrite and careful migration planning, which can be disruptive.
Options like SegmentSize must be manually set, and default changes have broken existing deployments, requiring vigilant adjustments.
Compared to established embedded databases, it has fewer third-party tools, community plugins, or extensive documentation, limiting support.