High-performance storage engines and frameworks designed for implementing event sourcing patterns in distributed software systems.
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
While this is a high-performance immutable database with cryptographic verification and temporal query support, it is designed primarily for tamper-evident auditing rather than the specific stream-subscription and projection patterns required for event-sourced architectures.
Akka.NET is an actor model framework used for building concurrent and distributed applications. It functions as a distributed computing platform and state manager that enables isolated actors to communicate via asynchronous message passing, ensuring thread-safe state management without manual locks. The project is distinguished by its decentralized coordination capabilities, including a distributed state manager that uses sharding and dynamic rebalancing to maintain high availability. It incorporates an event sourcing engine that persists state as a sequence of events in an append-only log an
Akka.NET is a distributed actor framework that includes a built-in event sourcing engine with append-only persistence, stream subscription, and projection support, making it a robust tool for building event-sourced architectures.
SpacetimeDB is a stateful, real-time database platform that executes application logic directly within the database engine. By unifying data storage and business logic, it allows developers to build applications where state transitions are processed through atomic, server-side functions. The platform maintains persistent connections to stream incremental updates to clients, ensuring that local caches remain synchronized with the server state at all times. The platform distinguishes itself by generating type-safe client interfaces directly from server-side schema definitions, ensuring consiste
SpacetimeDB is a stateful database platform that natively implements event sourcing to persist state changes, making it a viable engine for event-sourced architectures despite its broader focus on executing application logic directly within the database.
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
Kafka is a distributed commit log that provides the append-only storage and stream subscription capabilities required for event sourcing, though it lacks built-in native support for projections and optimistic concurrency found in specialized event stores.
Patroni is a high availability manager and cluster orchestrator for PostgreSQL. It functions as an automatic failover controller and replication manager that ensures continuous database availability by automating leader election and promoting standby nodes during failures. The system maintains a consistent cluster state by acting as a distributed consensus coordinator. It synchronizes configuration and manages leader elections through integration with distributed configuration stores such as etcd, ZooKeeper, or Consul. Its broader capabilities include managing both synchronous and asynchrono
This is a high-availability orchestration tool for PostgreSQL clusters rather than a specialized event store designed for event-sourced architectures.
KeyDB is a multithreaded in-memory key-value store and distributed cache. It functions as a NoSQL database utilizing multi-version concurrency control to execute non-blocking queries and scans. The project is a multithreaded fork of Redis that maintains protocol compatibility while utilizing a multithreaded architecture to scale across multi-core hardware. It distinguishes itself with flash-tiered storage, allowing the system to offload data from primary RAM to SSD or flash storage to increase total capacity. The system supports high availability through active-active mesh replication and mu
This is a high-performance, multithreaded key-value store and distributed cache, which serves as a general-purpose database rather than a specialized engine for event-sourced architectures.