KurrentDB (EventStoreDB)

active

by Kurrent, Inc. · since 2012 · also known as KurrentDB, EventStoreDB, Event Store

A purpose-built event store for event sourcing, with streams, subscriptions and projections.

event storedatabase enginesource-availablemature

Overview

KurrentDB, called EventStoreDB until the company rebranded as Kurrent in late 2024, is a database built for event sourcing: data is appended as immutable events to millions of fine-grained streams, with optimistic concurrency per stream, catch-up and persistent subscriptions, and server-side projections. Recent versions add connectors to Kafka, MongoDB, Elasticsearch and relational sinks, plus SQL access over Arrow Flight. It is the reference store for CQRS/event-sourced systems in .NET and JVM shops. Licensing tightened with 26.2 (2026): single-node production use stays free, but clustering, read-only replicas, archiving and encryption at rest now require an Enterprise license.

Strengths & trade-offs

Strengths

  • +Built for event sourcing: per-stream optimistic concurrency and ordering
  • +Catch-up and persistent subscriptions make building read models straightforward
  • +Immutable log gives a natural audit trail and replay
  • +First-party connectors to Kafka, MongoDB, Elasticsearch and SQL databases
  • +Mature clients for .NET, JVM, Node.js, Go, Python and Rust

Trade-offs

  • −Clustering and encryption at rest now require a paid license (26.2+)
  • −No sharding; one cluster's write throughput is bounded by a single leader
  • −Not suited to ad-hoc querying of current state
  • −Source-available license, not OSI open source

Great for

  • +Event-sourced domain models with CQRS
  • +Audit-heavy financial and logistics systems
  • +Integrating microservices via durable event streams

Think twice for

  • −General CRUD apps without event-sourcing needs
  • −High-volume telemetry better suited to Kafka or time-series DBs

Capabilities

Native or official first-party support · 9 of 25 tracked

✓Transactions
✓JSON
✓Change data capture
✓Pub/Sub
✓Durable persistence
✓Encryption at rest
✓Role-based access
✓Time travel
✓Streaming ingest
–Joins
–Secondary indexes
–Full-text search
–Vector search
–Geospatial
–Triggers
–Stored procedures
–Materialized views
–TTL / expiry
–Columnar storage
–In-memory
–Compression
–Branching
–Online schema changes
–Offline sync
–Runs in WebAssembly

Scale & consistency

Comfortable data size
Medium · ≤ 10 TB
Horizontal scaling
None
Multi-region
Read replicas
Transactions
Limited ACID
Consistency
Strong
Schema
Schemaless
Architecture
Single node, Distributed, Client server
Query languages
Stream reads/subscriptions API, JavaScript projections, SQL (Arrow Flight)

Clusters replicate the full log to every node for availability rather than sharding; 26.2 moves clustering to Raft.

Deployment

Self-hosted Vendor-managed cloud Serverless Embedded Edge Kubernetes operator

available on · AWS · Google Cloud · Azure

Ecosystem

apis & protocolsgRPC, HTTP/AtomPub, Arrow Flight SQL
client languagesC#, Java, JavaScript, Go, Python, Rust

Alternatives to KurrentDB (EventStoreDB)

Compare all→
Axon ServerEvent Store7.5

AxonIQ's event store and message router for Axon Framework CQRS and event-sourced apps.

kurrentdb vs axon-server →
PostgreSQLRelational93.2

The extensible, standards-first open-source relational database.

kurrentdb vs postgresql →
XTDBRelational8.3

Bitemporal SQL database on object storage that keeps every version of every row.

kurrentdb vs xtdb →
DatomicRelational14.9

Immutable Datalog database from Nubank where every fact is timestamped and queries run in the app process.

kurrentdb vs datomic →
PGMQRelational21.1

An SQS-style message queue implemented as a lightweight Postgres extension.

kurrentdb vs pgmq →
LiveStoreRelational15.5

Event-sourced local-first data layer: reactive SQLite on the client, rebuilt from a synced event log.

kurrentdb vs livestore →

KurrentDB (EventStoreDB) FAQ

What is KurrentDB (EventStoreDB)?

KurrentDB (EventStoreDB) is an event store database by Kurrent, Inc., first released in 2012. KurrentDB, called EventStoreDB until the company rebranded as Kurrent in late 2024, is a database built for event sourcing: data is appended as immutable events to millions of fine-grained streams, with optimistic concurrency per stream, catch-up and persistent subscriptions, and server-side projections. Recent versions add connectors to Kafka, MongoDB, Elasticsearch and relational sinks, plus SQL access over Arrow Flight. It is the reference store for CQRS/event-sourced systems in .NET and JVM shops. Licensing tightened with 26.2 (2026): single-node production use stays free, but clustering, read-only replicas, archiving and encryption at rest now require an Enterprise license.

Is KurrentDB (EventStoreDB) open source?

Not in the OSI sense. KurrentDB (EventStoreDB) is source-available: you can read the code, but the license restricts some uses, typically offering it as a competing managed service. License: Kurrent License v1 (KLv1).

Does KurrentDB (EventStoreDB) support ACID transactions?

Partly. KurrentDB (EventStoreDB) offers limited ACID guarantees (for example, single-record or single-partition transactions), with strong consistency.

Does KurrentDB (EventStoreDB) scale horizontally?

KurrentDB (EventStoreDB) does not scale horizontally; it runs on a single node, so you scale it up rather than out. It is comfortable at medium scale (≤ 10 TB). It supports cross-region read replicas.

How can I run KurrentDB (EventStoreDB)?

You can self-host it and use the vendor's managed cloud. Managed offerings include Kurrent Cloud. It is available on AWS, Google Cloud and Azure.

What is KurrentDB (EventStoreDB) best for?

KurrentDB (EventStoreDB) is a strong fit for event-sourced domain models with CQRS; audit-heavy financial and logistics systems; and integrating microservices via durable event streams. Think twice for general CRUD apps without event-sourcing needs.

What are the best alternatives to KurrentDB (EventStoreDB)?

Common alternatives to KurrentDB (EventStoreDB) include Axon Server, PostgreSQL, XTDB, Datomic and PGMQ. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.

How popular is KurrentDB (EventStoreDB)?

KurrentDB (EventStoreDB) ranks #177 of 844 databases on the WhichDB Score (18.6/100), and #1 among event store databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.