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

Append-Only Event Store Libraries

Ranking updated Jun 30, 2026

For an event store for event-sourced apps, the strongest matches are eventstore/eventstore (KurrentDB formerly EventStore is a dedicated event-native database that), apache/kafka (Apache Kafka is a distributed commit log and event) and railseventstore/rails_event_store (Rails Event Store is a Ruby library that implements). travisjeffery/jocko and rabbitmq/rabbitmq-server round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

High-performance storage engines and frameworks designed for implementing event sourcing patterns in distributed software systems.

Append-Only Event Store Libraries

Find the best repos with AI.We'll search the best matching repositories with AI.
  • eventstore/eventstoreEventStore avatar

    EventStore/EventStore

    5,809View on GitHub↗

    KurrentDB is an event-native database designed for event sourcing and event-driven architectures. It stores application state as an immutable, ordered sequence of events rather than updating rows in place, preserving full history for audit, replay, and distributed consistency. The database combines event storage with real-time streaming and a built-in JavaScript projection engine that transforms and aggregates event streams into materialized views. The system provides official gRPC client libraries for Python, Node.js, Java, .NET, Go, and Rust, enabling multi-language application development

    KurrentDB (formerly EventStore) is a dedicated event-native database that stores application state as an immutable append-only log, purpose-built for event sourcing with built-in projections, event subscriptions, and multi-language clients — it fully matches the search for an append-only event store optimized for event sourcing.

    C#Immutable Event LogsIntegrated Event Storage and Streaming
    View on GitHub↗5,809
  • apache/kafkaapache avatar

    apache/kafka

    32,846View on GitHub↗

    Kafka is a distributed event streaming platform designed for capturing, storing, and processing real-time data streams across interconnected nodes. It functions as a distributed commit log, providing a fault-tolerant storage mechanism that records state changes sequentially to ensure data consistency and durability across distributed environments. The platform distinguishes itself through a partitioned commit log architecture that enables horizontal scaling and parallel processing of data streams. It integrates a stream processing engine for continuous transformations and aggregations, while

    Apache Kafka is a distributed commit log and event streaming platform that provides an append-only log for capturing and replaying event streams, making it a viable backbone for event-sourcing architectures, though it lacks built-in projections and atomic multi-aggregate commits.

    JavaAppend-Only Storage EnginesDistributed Commit Logs
    View on GitHub↗32,846
  • railseventstore/rails_event_storeRailsEventStore avatar

    RailsEventStore/rails_event_store

    1,507View on GitHub↗

    Rails Event Store is a library for implementing event sourcing and command query responsibility segregation patterns within Ruby applications. It functions as a framework for capturing all application state changes as an immutable sequence of events, providing a permanent and verifiable history of system operations. The library provides a messaging infrastructure that decouples business logic by broadcasting domain events through a central bus. This architecture allows for the execution of handlers either immediately or asynchronously, ensuring that heavy processing tasks do not block the pri

    Rails Event Store is a Ruby library that implements an append-only event store on top of a relational database, providing event streams, aggregates, replay, projections, and subscriptions — it is exactly the kind of tool for event sourcing in Rails, though it is not a standalone database.

    RubyRead Model Projections
    View on GitHub↗1,507
  • travisjeffery/jockotravisjeffery avatar

    travisjeffery/jocko

    5,010View on GitHub↗

    Jocko is a cloud-native event streaming platform and distributed commit log implemented in Go. It functions as a distributed message broker that ensures data durability and high availability by replicating record sequences across a cluster. The system is designed as a Zookeeperless event streamer, utilizing built-in consensus coordination to manage cluster state and leader election without requiring external coordinator services. It implements the Kafka wire protocol, allowing it to communicate with existing ecosystem clients and tools. The platform provides capabilities for distributed log

    Jocko is a distributed commit log and event streaming platform compatible with Kafka, providing an append-only log and message streaming, but it is not specifically designed as an event store for event sourcing with aggregates, projections, and atomic commits — it is more of a message broker that could be used as a building block in such architectures.

    GoAppend-Only Message LogsDistributed Commit Logs
    View on GitHub↗5,010
  • rabbitmq/rabbitmq-serverrabbitmq avatar

    rabbitmq/rabbitmq-server

    13,732View on GitHub↗

    RabbitMQ is a multi-protocol messaging broker that functions as an AMQP message broker, a clustered message queue, and a distributed message stream. It provides a server for translating and bridging communication between diverse messaging standards to connect heterogeneous systems. The system distinguishes itself through distributed broker clustering and federation, using shoveling mechanisms to synchronize data across geographically separate sites. It supports high-throughput, append-only logs for persisting and reading large sequences of messages for real-time processing. The broker covers

    RabbitMQ is a message broker with append-only log and stream features, but it is not a dedicated event store for event sourcing — it lacks built-in aggregate storage, projections, and atomic commits over multi-stream transactions that define the category.

    JavaScriptAppend-Only Log StorageAppend-Only Message Logs
    View on GitHub↗13,732
  • uber/cadenceuber avatar

    uber/cadence

    9,336View on GitHub↗

    Cadence is a distributed workflow orchestration engine designed to execute long-running, asynchronous business logic with built-in durability and resilience across distributed systems. It functions as a stateful process manager that ensures processes resume from their last known state following system crashes or network outages. The platform utilizes a distributed task queue to manage work across independent worker nodes and supports persistence via SQL or Cassandra backend storage. It includes a workflow visualization dashboard for inspecting execution histories and state traces, alongside a

    Cadence is a distributed workflow orchestration engine that uses event history for stateful workflow execution, but its core purpose is long-running business logic orchestration rather than serving as a dedicated append-only event store for event-sourcing architectures.

    GoEvent History Replayers
    View on GitHub↗9,336
  • openhft/chronicle-queueOpenHFT avatar

    OpenHFT/Chronicle-Queue

    3,692View on GitHub↗

    Chronicle Queue is a high-performance data handling system featuring off-heap message queues, memory-mapped file stores, and replicated message stores. It provides a binary compatible memory layout that enables different programming languages to share data without serialization overhead. The system utilizes a replicated message store to synchronize data across multiple nodes, ensuring high availability and instant failover. Its memory-mapped architecture supports deterministic replay from disk and low-latency data recording. The project implements off-heap memory management and zero-allocati

    Chronicle Queue is a high-performance low-latency queue with append-only log storage and replay, which can support event-sourcing patterns but is not a dedicated event store designed for event streams, aggregates, and projections.

    JavaAppend-Only Log Storage
    View on GitHub↗3,692
  • automerge/automergeautomerge avatar

    automerge/automerge

    6,373View on GitHub↗

    Automerge is a distributed state synchronization engine and library for conflict-free replicated data types. It enables multiple nodes to perform concurrent updates to a shared dataset while guaranteeing that all replicas eventually converge to the same state. The project provides a high-performance implementation written in Rust to manage state merging and synchronization. It employs a byte-compressed synchronization protocol to transmit minimal delta updates between peers, facilitating data consistency in peer-to-peer and real-time collaborative environments. The system covers broad capabi

    Automerge is a CRDT-based state synchronization library for real-time collaboration, not a dedicated append-only event store database for event sourcing—it focuses on distributed state merging rather than persistent event streams, replay, and projections.

    JavaScriptState Reconstruction Replay
    View on GitHub↗6,373
  • memvid/memvidmemvid avatar

    memvid/memvid

    15,679View on GitHub↗

    Memvid is an embedded memory framework designed to provide persistent, versioned context for intelligent agents. It functions as a local vector database library that stores all data within a single binary file, removing the need for external database infrastructure or network dependencies. The system distinguishes itself by integrating in-process vector indexing with append-only versioning, allowing for high-speed semantic similarity searches alongside the ability to track and roll back state changes over time. It includes built-in transparent data encryption and masking to secure sensitive i

    Memvid is an embedded vector database with append-only versioning designed for AI agent memory, not a dedicated event store for event-sourcing architectures—it lacks event streams, replay, projections, and subscriptions as core primitives.

    RustAppend-Only Storage Engines
    View on GitHub↗15,679
  • codenotary/immudbcodenotary avatar

    codenotary/immudb

    8,982View on GitHub↗

    immudb is a tamperproof database that maintains an immutable record of entries using cryptographic commit logging. It ensures verifiable database integrity by utilizing Merkle trees to generate membership and consistency proofs that detect unauthorized data alterations. The system employs a multi-model storage engine that unifies key-value, document, and relational data structures within a single immutable backend. It provides compatibility with the PostgreSQL wire protocol, allowing it to integrate with standard SQL clients, ORMs, and database tools. The project covers broad capabilities in

    immudb is a tamperproof immutable database that supports append-only logging and cryptographic verification, but it is a general-purpose database rather than a dedicated event store—it lacks built-in event stream management, projections, and event subscriptions needed for event-sourcing architectures.

    GoAppend-Only Storage Engines
    View on GitHub↗8,982
  • 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

    OrbitDB is a peer-to-peer database with an append-only Merkle-DAG log, but it is a general-purpose decentralized storage system rather than a dedicated event store built around event-sourcing concepts like aggregates, projections, and replay.

    JavaScriptAppend-Only Log Storage
    View on GitHub↗8,737
  • livestorejs/livestorelivestorejs avatar

    livestorejs/livestore

    3,475View on GitHub↗

    Livestore is a reactive state management framework that utilizes a local SQLite database to store and synchronize application data. It provides an event-sourced state store that processes typed events through materializer functions to derive and persist application state. The framework implements offline-first data synchronization using a push-pull engine and append-only event logs to maintain consistency between clients and servers. It includes a real-time presence system for tracking user activity and shared session status across connected clients. The system covers a broad capability surf

    Livestore is a reactive state management framework that uses an append-only event log and event sourcing internally, but it is not a standalone, dedicated event store database optimized for storing immutable event streams — it is a higher-level framework for building offline-first applications.

    TypeScriptEvent Logs
    View on GitHub↗3,475
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
eventstore/eventstore5.8KC#NOASSERTIONJun 15, 2026
apache/kafka32.8KJavaApache-2.0Jun 16, 2026
railseventstore/rails_event_store1.5KRubymitFeb 12, 2026
travisjeffery/jocko5KGoMITMay 20, 2026
rabbitmq/rabbitmq-server13.7KJavaScriptNOASSERTIONJun 26, 2026
uber/cadence9.3KGoApache-2.0Jun 16, 2026
openhft/chronicle-queue3.7KJavaapache-2.0Feb 19, 2026
automerge/automerge6.4KJavaScriptMITJun 22, 2026
memvid/memvid15.7KRustApache-2.0May 27, 2026
codenotary/immudb9KGoNOASSERTIONJun 1, 2026

Related searches

  • a distributed system for stream processing
  • a self-hosted Kafka alternative
  • an embedded key-value store for local persistence
  • a study resource for event-driven systems
  • a project for learning in-memory stores by building one
  • a project for understanding databases by building one
  • a wide-column store for huge write loads
  • a framework for building DDD SaaS applications