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
attic-labs avatar

attic-labs/nomsArchived

0
View on GitHub↗
7,422 stars·267 forks·Go·Apache-2.0·35 views

Noms

Noms is a distributed version control database and content-addressable data store. It identifies data by cryptographic hashes to ensure integrity and deduplication, while tracking dataset state changes through a sequence of immutable commits to enable branching, forking, and historical recovery.

The system functions as a peer-to-peer data synchronizer, reconciling state between disconnected database instances to ensure all nodes converge on the same data. It distinguishes itself as a schema-flexible document store that supports self-describing types, allowing schemas to evolve and widen as new information is added without requiring manual migrations.

The platform exposes data via a GraphQL API for structured querying and supports offline-first application state by embedding database capabilities directly into apps. Its capability surface includes atomic transactions, range queries, and the ability to persist data across local file systems or remote cloud buckets.

Features

  • Content-Addressable Storage - Implements a content-addressable storage architecture where data is identified by cryptographic hashes to ensure integrity and deduplication.
  • Commit-Based Versioning - Tracks dataset state changes through immutable commits to enable branching, forking, and historical recovery.
  • Application State Syncs - Reconciles changes between disconnected database instances to ensure all copies eventually converge on the same state.
  • Complex Data Structure Stores - Manages organized information using complex types like lists and structs supported by atomic transactions.
  • Content-Based Deduplication - Eliminates redundant data by identifying identical entries through cryptographic content hashing.
  • Versioned Dataset Snapshots - Tracks dataset state changes through a sequence of immutable snapshots to enable branching and historical auditing.
  • Version Control Snapshots - Records full states of the repository as immutable snapshots to enable forking and historical recovery.
  • Self-Describing Types - Provides self-describing types that allow data interoperability without requiring a prior schema agreement.
  • Dataset Pointer Syncing - Copies named pointers between databases by verifying content-addressed chunks to minimize data transfer.
  • Schema Evolution - Widen or change container types implicitly as new data is added without rewriting existing stored information.
  • Integrity Verifiers - Produces a single unique hash representing the entire database state to verify that data is identical across peers.
  • Database Versioning - Tracks all previous versions of data to enable comparing two states or branching from a historical point.
  • Decentralized Storage - Persists content-addressable data chunks across local storage or blockstores to avoid full replication on every node.
  • Distributed Data Synchronization Systems - Provides mechanisms to reconcile state and ensure convergence across distributed database instances.
  • Immutable Commit Versioning - Tracks state changes using a progression of immutable commit structures to enable branching and merging.
  • Immutable Data Commits - Saves a new state of a dataset by creating an immutable commit that preserves previous versions.
  • Offline-First Persistence - Implements offline-first persistence by embedding database capabilities directly into applications for functionality without network connectivity.
  • Peer-to-Peer State Synchronization - Synchronizes changes between multiple concurrent peers in a network to ensure all nodes converge to the same state.
  • Schema Evolutions - Supports schema-less type evolution, allowing container types to widen implicitly as new data is added.
  • Content-Addressable Stores - Uses a content-addressable store to ensure data integrity and efficient deduplication.
  • Versioned Datasets - Allows initializing named collections of versioned data within a database to serve as the primary interface for operations.
  • Version Controlled Databases - Functions as a distributed version control database supporting branching and forking across peer nodes.
  • Peer-to-Peer Database Replication - Reconciles state between disconnected database instances using a peer-to-peer synchronization engine.
  • Peer-to-Peer State Synchronization - Functions as a peer-to-peer synchronizer that reconciles state between disconnected database instances to ensure convergence.
  • Merkle-Tree Storage Engines - Utilizes Merkle-tree storage engines to efficiently calculate differences between dataset versions and minimize computational overhead.
  • Cross-Instance Sync Storage - Efficiently reconciles changes between disconnected database instances to ensure state convergence.
  • GraphQL API Generators - Provides a GraphQL API that automatically derives schemas and resolvers from internal database structures for structured querying.
  • Dataset Comparators - Provides dataset comparators to calculate and display the differences between any two specific dataset versions.
  • Version History Retrieval - Provides version history retrieval to inspect the chronological sequence of commits and differences for a dataset.
  • Atomic Transactions - Executes atomic transactions to ensure that a set of changes is applied as a single unit across concurrent clients.
  • Cloud Storage Backups - Exports database snapshots to remote cloud object storage buckets for recovery and durability.
  • Remote-to-Local Database Synchronizers - Enables private forking or offline work by copying data between local and remote databases.
  • Flexible Metadata Stores - Provides a schema-flexible document store with self-describing types to avoid rigid migrations.
  • Local Data Persistence - Saves database content to local file systems for durable storage.
  • Merkle-Tree Diffing - Identifies differences between massive datasets using a tree structure to minimize processing time and resource usage.
  • Optimistic Concurrency Control - Employs optimistic concurrency control to manage simultaneous writes and maintain consistency across distributed clients.
  • Pluggable Storage Backends - Features pluggable storage backends that abstract data persistence across local file systems and remote cloud buckets.
  • Set Operation Engines - Computes unions and intersections across ordered search trees to filter data based on multiple criteria.
  • Versioned GraphQL Databases - Combines a content-addressed data store with a GraphQL API and a full history of immutable commits.
  • Range Query Structures - Searches sorted collections of numbers or strings using probabilistic trees to find values within a specific range.
  • Concurrent Write Coordinators - Uses concurrent write coordinators and optimistic locking to prevent data corruption during simultaneous insertions.
  • GraphQL APIs - Exposes internal database types and values through a structured GraphQL API for querying.
  • Databases - Versioned, forkable, and syncable database system.

Star history

Star history chart for attic-labs/nomsStar history chart for attic-labs/noms

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

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

Frequently asked questions

What does attic-labs/noms do?

Noms is a distributed version control database and content-addressable data store. It identifies data by cryptographic hashes to ensure integrity and deduplication, while tracking dataset state changes through a sequence of immutable commits to enable branching, forking, and historical recovery.

What are the main features of attic-labs/noms?

The main features of attic-labs/noms are: Content-Addressable Storage, Commit-Based Versioning, Application State Syncs, Complex Data Structure Stores, Content-Based Deduplication, Versioned Dataset Snapshots, Version Control Snapshots, Self-Describing Types.

What are some open-source alternatives to attic-labs/noms?

Open-source alternatives to attic-labs/noms include: orbitdb/orbitdb — OrbitDB is a decentralized data storage system that enables the creation of serverless databases residing across a… eto-ai/lance — Lance is a versioned columnar data format and storage engine designed as a multimodal AI lakehouse. It serves as a… lancedb/lancedb — LanceDB is a vector database and columnar data store designed to function as a versioned dataset manager and vector… ipfs/ipfs — IPFS is a peer-to-peer hypermedia protocol and content-addressed storage system that identifies data by cryptographic… datahaven-xyz/datahaven — Datahaven is a decentralized storage network and smart contract platform designed for storing verifiable data with… orbitdb/orbit-db — Orbit DB is a decentralized NoSQL database that utilizes conflict-free replicated data types to ensure eventual…

Open-source alternatives to Noms

Similar open-source projects, ranked by how many features they share with Noms.
  • orbitdb/orbitdborbitdb avatar

    orbitdb/orbitdb

    8,737View on GitHub↗

    OrbitDB is a decentralized data storage system that enables the creation of serverless databases residing across a network of peers. It functions as a peer-to-peer database that integrates with a content-addressed storage layer to distribute and replicate data without a central server. The system utilizes conflict-free replicated data types to ensure eventual consistency and state convergence across distributed nodes. It maintains an immutable record of updates using a directed acyclic graph to preserve causal ordering and cryptographic integrity. Access is managed through a decentralized ide

    JavaScriptcrdtdatabasedecentralized
    View on GitHub↗8,737
  • eto-ai/lanceeto-ai avatar

    eto-ai/lance

    6,671View on GitHub↗

    Lance is a versioned columnar data format and storage engine designed as a multimodal AI lakehouse. It serves as a vector database storage engine and a cloud object store dataset manager, organizing images, video, audio, and embeddings into a unified format optimized for machine learning workflows. The project distinguishes itself by combining a columnar layout for structured data with a specialized blob store for large multimodal tensors. It implements a hybrid search engine that integrates vector similarity search, full-text search, and SQL analytics on a single dataset, supported by a stor

    Rust
    View on GitHub↗6,671
  • lancedb/lancedblancedb avatar

    lancedb/lancedb

    9,031View on GitHub↗

    LanceDB is a vector database and columnar data store designed to function as a versioned dataset manager and vector search engine. It serves as a high-performance backend for indexing and retrieving high-dimensional embeddings, providing the foundation for machine learning data pipelines. The system distinguishes itself through a combination of cloud-native object storage and immutable version tracking, allowing for data time-travel and reproducible AI experiments. It integrates hybrid search capabilities, merging dense vector similarity with BM25 full-text search and SQL-like scalar filters

    HTMLapproximate-nearest-neighbor-searchimage-searchnearest-neighbor-search
    View on GitHub↗9,031
  • ipfs/ipfsipfs avatar

    ipfs/ipfs

    23,137View on GitHub↗

    IPFS is a peer-to-peer hypermedia protocol and content-addressed storage system that identifies data by cryptographic hashes rather than network locations. It enables the creation of a decentralized web by organizing files and directories as directed acyclic graphs of linked content identifiers. The project differentiates itself through the use of a distributed hash table for locating peers and a system of signed records to map human-readable names to changing content. It also provides HTTP gateways that translate standard web requests into peer-to-peer queries, allowing decentralized data to

    ipfsipfs-protocolipfs-web
    View on GitHub↗23,137
See all 30 alternatives to Noms→