Datomic vs KurrentDB (EventStoreDB)
Datomic: Immutable Datalog database from Nubank where every fact is timestamped and queries run in the app process. KurrentDB (EventStoreDB): A purpose-built event store for event sourcing, with streams, subscriptions and projections.
key differences
- Datomic is primarily a relational database; KurrentDB (EventStoreDB) is event store.
- Licensing: Datomic is open source (permissive) (Apache-2.0 (binaries only; source not published)); KurrentDB (EventStoreDB) is source-available (Kurrent License v1 (KLv1)).
- Transactions: Datomic offers full ACID; KurrentDB (EventStoreDB) offers limited.
- Only Datomic has joins, secondary indexes, full-text search.
- Only KurrentDB (EventStoreDB) has json, pub/sub, encryption at rest, role-based access, streaming ingest.
- Datomic can run embedded in your application process.
choose datomic for
- +Financial and banking domain models needing auditability
- +Systems that must answer what was known at a given time
- +Complex domain graphs in Clojure services
best at · OLTP, Event sourcing, Ledger
choose kurrentdb for
- +Event-sourced domain models with CQRS
- +Audit-heavy financial and logistics systems
- +Integrating microservices via durable event streams
best at · Event sourcing, OLTP, Pub/Sub
Datomic vs KurrentDB (EventStoreDB): FAQ
What is the difference between Datomic and KurrentDB (EventStoreDB)?
Datomic: Immutable Datalog database from Nubank where every fact is timestamped and queries run in the app process. KurrentDB (EventStoreDB): A purpose-built event store for event sourcing, with streams, subscriptions and projections. Datomic is primarily a relational database; KurrentDB (EventStoreDB) is event store. Licensing: Datomic is open source (permissive) (Apache-2.0 (binaries only; source not published)); KurrentDB (EventStoreDB) is source-available (Kurrent License v1 (KLv1)). Transactions: Datomic offers full ACID; KurrentDB (EventStoreDB) offers limited.
When should I choose Datomic over KurrentDB (EventStoreDB)?
Choose Datomic for financial and banking domain models needing auditability; systems that must answer what was known at a given time; and complex domain graphs in Clojure services. Choose KurrentDB (EventStoreDB) for event-sourced domain models with CQRS; audit-heavy financial and logistics systems; and integrating microservices via durable event streams.
Is Datomic or KurrentDB (EventStoreDB) more popular?
KurrentDB (EventStoreDB) ranks #177 on the WhichDB Score (18.6/100) and Datomic ranks #225 (14.9/100). Popularity is not fit: check the requirements that matter for your project.
Are Datomic and KurrentDB (EventStoreDB) open source?
Yes. Datomic is open source. License: Apache-2.0 (binaries only; source not published). 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).