awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
nutsdb avatar

nutsdb/nutsdb

0
View on GitHub↗
3,554 stars·345 forks·Go·apache-2.0·16 viewsnutsdb.github.io/nutsdb↗

Nutsdb

NutsDB is an ACID-compliant, embedded transactional storage engine that functions as both a disk-backed key-value store and an in-memory data structure store. It provides atomic and serializable transactions with commit and rollback capabilities to ensure strict data consistency for applications requiring a lightweight persistence layer.

The engine distinguishes itself by supporting a variety of complex data types, including lists, sets, and sorted sets, alongside standard byte-slice storage. It implements a transactional storage model featuring hot backups and a compaction algorithm to maintain write performance and storage efficiency.

The system includes capabilities for atomic integer arithmetic, bitwise operations, and data expiration via time-to-live settings. Data retrieval is supported through cursor-based iteration and key pattern scanning using prefixes, ranges, or regular expressions. It also provides a watch system for real-time notifications when specific keys are modified.

Features

  • Embedded Key-Value Stores - Provides an embedded key-value store for persisting byte slices within isolated, named buckets.
  • Manual Transaction Controls - Provides explicit begin, commit, and rollback methods for direct transaction lifecycle management.
  • Complex Data Structure Stores - Organizes data using lists, sets, and sorted sets to handle diverse storage and retrieval requirements.
  • Complex Data Structure Stores - Supports high-performance data manipulation of complex types including lists, sets, and sorted sets.
  • Disk-Backed Stores - Utilizes memory-mapped files and standard file I/O to persist large datasets on physical disks.
  • Append-Only Log Stores - Implements a persistence layer that writes data to an append-only file with an in-memory index for high write throughput.
  • Complex Data Type Indexing - Organizes diverse datasets using lists, sets, and sorted sets to enable efficient range scans and membership checks.
  • Atomic State Updates - Ensures data consistency and isolation during complex write cycles using serializable transactions and atomic operations.
  • ACID-Compliant - Provides a storage engine that ensures atomic, consistent, isolated, and durable operations with crash safety and rollback support.
  • Key-Value - Persists data as simple key-value pairs for high-performance access within a transactional context.
  • Strict Serializability - Ensures strict data consistency through sequential transaction processing and absolute serializability.
  • Transactional Storage Engines - Provides a transactional storage model featuring hot backups and a compaction algorithm to maintain write performance.
  • Memory-Mapped I/O - Maps files directly into virtual memory to allow the operating system to handle page caching and disk I/O.
  • Byte Sequence Storage - Stores and manages raw binary data sequences as the fundamental unit for key-value storage.
  • Cursor-Based Iteration - Traverses entries in forward or reverse order using a cursor to process large datasets efficiently.
  • Storage Compaction Utilities - Reclaims storage space and maintains write performance by merging multiple versions of the same key.
  • In-Memory Caches - Implements high-speed memory mapped files and time-to-live settings to manage temporary data and reduce latency.
  • Key Change Notifications - Provides a watch system to track changes to specific keys and trigger immediate notifications upon updates.
  • Prefix-Based Scanning - Retrieves entries using prefix matching, regular expressions, or range-based scans to find specific keys.
  • Change Notifications - Monitors specific keys for modifications and triggers notifications when data updates occur.
  • List Data Structures - Implements ordered sequence collections supporting efficient push, pop, and range-based operations.
  • Log Compaction - Implements log compaction to retain only the latest value for each key, reclaiming space and optimizing reads.
  • Memory-Mapped Storage - Provides configurable storage options including memory-mapped files and standard file I/O.
  • Set Data Structures - Provides collections of unique elements optimized for membership testing and set-theoretic operations like unions and differences.
  • Sorted Sets - Stores unique elements associated with numerical scores to enable efficient range queries and ranking operations.
  • Bucket-Based Namespaces - Organizes key-value pairs into named logical containers to separate data domains within a single store.
  • Large Dataset Optimizations - Optimizes memory usage and consistency through high-performance compaction algorithms on large-scale data.
  • Database Systems - Listed in the “Database Systems” section of the Awesome Go awesome list.
  • Database Tools - Embedded KV database with transactions.

Star history

Star history chart for nutsdb/nutsdbStar history chart for nutsdb/nutsdb

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Nutsdb

Similar open-source projects, ranked by how many features they share with Nutsdb.
  • apple/foundationdbapple avatar

    apple/foundationdb

    16,446View on GitHub↗

    FoundationDB is an ACID-compliant distributed transactional key-value store. It functions as a scalable database engine that ensures strict serializability and data consistency across a cluster of servers using a shared-nothing architecture. The system is distinguished by its multi-region replication capabilities, allowing data to be synchronized across different datacenters for high availability and disaster recovery. It utilizes optimistic concurrency control to manage distributed transactions and employs a majority-based coordination system to maintain cluster state. The platform provides

    C++aciddistributed-databasefoundationdb
    View on GitHub↗16,446
  • redis/go-redisredis avatar

    redis/go-redis

    22,159View on GitHub↗

    This project is a feature-rich Go client library designed for interacting with Redis. It serves as a comprehensive interface for managing remote data stores, enabling developers to execute standard database commands, handle complex data structures, and perform asynchronous operations within Go applications. The library distinguishes itself through its support for advanced Redis capabilities, including connection pooling, pipelining, and transactional integrity. It provides specialized primitives for managing distributed clusters, including automated topology updates and request routing to sha

    Gogogolangredis
    View on GitHub↗22,159
  • microsoft/garnetmicrosoft avatar

    microsoft/garnet

    11,885View on GitHub↗

    Garnet is a multi-threaded in-memory database and distributed key-value store. It functions as a high-performance remote cache store that implements the RESP wire protocol to maintain compatibility with existing Redis clients and libraries. The project is distinguished by a shared-memory architecture that enables parallel request processing across multiple cores for sub-millisecond latency. It features a tiered storage system that automatically offloads colder data from system memory to SSD or cloud storage layers, and includes a specialized vector search database for high-dimensional similar

    C#cachecache-storagecluster
    View on GitHub↗11,885
  • tporadowski/redistporadowski avatar

    tporadowski/redis

    9,987View on GitHub↗

    Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL database. It provides sub-millisecond read and write access to data stored in RAM and can operate as a vector database for indexing high-dimensional embeddings. The system supports a wide range of data storage and synchronization primitives, including the management of strings, hashes, lists, sets, and JSON documents. It enables real-time data operations through atomic transactions, hybrid persistence using snapshots and append-only logs, and high-availability configurations

    Credisredis-for-windowsredis-msi-installer
    View on GitHub↗9,987
See all 30 alternatives to Nutsdb→

Frequently asked questions

What does nutsdb/nutsdb do?

NutsDB is an ACID-compliant, embedded transactional storage engine that functions as both a disk-backed key-value store and an in-memory data structure store. It provides atomic and serializable transactions with commit and rollback capabilities to ensure strict data consistency for applications requiring a lightweight persistence layer.

What are the main features of nutsdb/nutsdb?

The main features of nutsdb/nutsdb are: Embedded Key-Value Stores, Manual Transaction Controls, Complex Data Structure Stores, Disk-Backed Stores, Append-Only Log Stores, Complex Data Type Indexing, Atomic State Updates, ACID-Compliant.

What are some open-source alternatives to nutsdb/nutsdb?

Open-source alternatives to nutsdb/nutsdb include: apple/foundationdb — FoundationDB is an ACID-compliant distributed transactional key-value store. It functions as a scalable database… redis/go-redis — This project is a feature-rich Go client library designed for interacting with Redis. It serves as a comprehensive… microsoft/garnet — Garnet is a multi-threaded in-memory database and distributed key-value store. It functions as a high-performance… tporadowski/redis — Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL… tidwall/buntdb — BuntDB is an embedded key-value store for Go applications, providing in-memory storage with optional disk persistence.… dgraph-io/badger — Badger is an embeddable key-value store written in Go that provides persistent data storage for byte keys and values.…