EventSourcingDB
The database built for Event Sourcing. Write, read, and observe events with consistency guarantees and a tamper-evident history – as a single binary, from a Raspberry Pi to Kubernetes.
Free up to 25,000 events – in development and in production, no license key needed.
- License
- Proprietary
- Runs on
- Container, Linux, macOS, Windows
- Speaks
- HTTP
General-purpose databases can store events. They just don't understand them.
Relational databases, document stores, and streaming platforms all get you part of the way. Ordering, append-only behavior, concurrency, and replay are then up to you. EventSourcingDB takes care of exactly these things – and nothing more.
- Events stay in order and are never changed. Append-only is the model, not a convention.
- Every write can check its preconditions. Nobody borrows a book that is already gone.
- History and live updates are one stream. Replay everything, then keep going in real time.
POST /api/v2/data/write-events HTTP/1.1
Authorization: Bearer secret
Content-Type: application/json
{
"events": [{
"source": "https://library.eventsourcingdb.io",
"subject": "/books/42",
"type": "io.eventsourcingdb.library.book-borrowed",
"data": { "readerId": "17" }
}],
"preconditions": [{
"type": "isSubjectPopulated",
"payload": { "subject": "/books/42" }
}]
}
One HTTP call, one CloudEvent, one precondition. If book 42 has never been acquired, the write is rejected.
Sixteen reasons, four promises.
Every capability links to the part of the docs where you can check it for yourself.
Reliable storage
- Atomic writesEvery write is fully committed, or not at all.Consistency Guarantees
- Optimistic lockingPreconditions detect concurrent writes without extra roundtrips.Preconditions
- SnapshotsFast replays, even with long event streams.Snapshots
- Tamper-evident historyEvery event is cryptographically chained to the one before.Verifying Store Integrity
Answers to all your questions
- Hierarchical subjectsGroup related events and read whole branches at once.Subjects
- Time travelRecover any historical state and explore what-if scenarios.Reading Events
- Replay to liveReplay the past and continue in real time without a gap.Observing Events
- Natural-language queriesAsk questions about your events through the MCP server.Introduction to the MCP Server
From Raspberry Pi to the cloud
- Temporary dataFull features with data that is removed on shutdown, for fast tests.Running EventSourcingDB
- Management UIHealth, license state, and EventQL in the browser.Using the Management UI
- One-minute configurationA handful of CLI flags, nothing more.CLI Overview
- Runs anywheremacOS, Linux, Windows, on x86 and ARM, in Docker or Kubernetes.Installing EventSourcingDB
Frictionless integration
- Client SDKsOfficial SDKs for eight languages.Client SDKs – Overview
- CloudEventsStandard event format, no lock-in.CloudEvents
- MonitoringHealth API, Prometheus, and OpenMetrics built in.Logging and Monitoring
- Real-time subscriptionsNo extra message broker needed.Observing Events
Everything that comes with EventSourcingDB.
Where EventSourcingDB fits in.
Other tools are great at what they were built for. Here is how they compare when the job is Event Sourcing – from our point of view, as the makers of EventSourcingDB.
| Relational databases | NoSQL databases | Event streaming | EventSourcingDB | |
|---|---|---|---|---|
| Ordered, append-only streams | Custom tables, append-only enforced by hand | Ordering via partitioning schemes or naming conventions | Ordered, but built for propagation, not as a long-term record | Native, with stream separation by subject |
| Concurrency per write | Ad hoc locking or optimistic concurrency in the application | Generally no consistent concurrency control | No stream-level isolation | Preconditions on every write |
| Snapshots and replay | Built yourself | Built from scratch | No built-in snapshots | Built in, including replay to live |
| Operation | Mature, well known | Flexible, scalable | Powerful, but a platform of its own | One binary, an HTTP API, minimal configuration |
Free to start. Licensed per instance.
Every plan includes every feature. What differs is the number of events you store, and who you are.
Free
Evaluation, development, and smaller systems
- No license key needed
- All features included
- Community support
Commercial
Companies and teams
- Unlimited events
- All features included
- Support plans available
Individual developer
Natural persons building in a private capacity
- Technically identical to Commercial
- Invoice issued to you personally
- Not for companies, including one-person companies
Volume and OEM
Larger fleets and hardware manufacturers
- Volume licenses
- OEM and embedded use
All prices per instance. For commercial licenses, VAT depends on your country; within the EU, the reverse-charge mechanism may apply with a valid VAT ID. Licenses renew automatically at the end of their term.
Reduced terms
Start-ups, non-profit organizations, schools, universities, research institutions, and similar may qualify for reduced terms on request.
Ask about reduced terms →Support plans
Optional, on top of any license. One plan covers your organization, billed yearly.
Connect with the community via GitHub.
Contact via email, first reply within two business days.
Contact via email, callback possible, first reply within 24 hours, 7 days a week.
Support and contact tailored to your business needs, such as 24/7 availability.
The EventSourcingDB family
EventSourcingDB Auditing Services
Early accessEventSourcingDB chains every event to the one before it. Auditing Services checks that chain continuously and hands its fingerprints to an external custodian, so that a change to stored events no longer goes unnoticed – not even one made by whoever runs the database. The events themselves never leave your infrastructure.
Continuous chain verification and external fingerprint custody for EventSourcingDB.
Discover EventSourcingDB Auditing Services →EventSourcingDB Analysis Services
Early accessConnect it to EventSourcingDB, and it works out for itself what your events contain, proposes the analyses the data supports, and keeps every number live. There is no data model to maintain, no ETL job, and no schema migration.
Live analyses and dashboards, inferred from the events of an EventSourcingDB.
Discover EventSourcingDB Analysis Services →Try it yourself.
Quickstart
This quickstart gets EventSourcingDB running on your machine in a few minutes.
Start the quickstart →First Steps with EventSourcingDB
This tutorial builds a small library step by step.
Start the tutorial →EventSourcingDB Documentation
Quickstart, Fundamentals, Guides, Reference, SDKs & Tools, Operations, and Changelog.
Open the docs →Planning something bigger?
Whether you need a quote, support, or a second opinion on your architecture – we are happy to help.