What is EventStoreDB?
EventStoreDB is an industrial-strength database technology that stores your critical data in streams of immutable events allowing you to realize the powerful benefits of the Event Sourcing design pattern. It was built specifically for Event Sourcing - we believe that makes it the best solution in the market for building event-sourced systems.
The core features (like guaranteed writes, concurrency model, granular streams, and stream APIs) make it a better choice for event sourcing than other database solutions that were originally built for other purposes. And on top of that, it’s available as open source.
Writes are committed to disk which makes it ideal for a “source of record” database.
EventStoreDB can run as a cluster of nodes containing the same data which remains available for writes provided at least half the nodes are alive and connected.
Projections allow you to react to events as they are written, and to create new events when interesting combinations occur.
There are client SDKs based on the gRPC framework for all major languages and platforms including .NET, Java, Go, Node, and Rust.
Optimistic concurrency checks
Writes supports an optimistic concurrency check on the version of the stream to which events are written. If the check fails during writing, the server returns an exception to let you know.
Great performance that scales
Whilst performance depends on configuration and use patterns, we’ve benchmarked EventStoreDB at around 15,000 writes per second and 50,000 reads per second!
Multiple hosting options
The server can run on Windows, Linux, and MacOS, both on-premise or in-cloud.
Commercial support plans
Multi-tiered support plans with responses times as low as 2-hours. Support customers also get access to a commercial version and a range of operational tools.
Immutable data store
EventStoreDB stores your data as a series of immutable events over time, providing one of the strongest audit log options available (characteristics similar to a blockchain).
Why use EventStoreDB?
Event Sourcing and event-driven architecture have a host of benefits for modern, micro-service based systems. And EventStoreDB has been built with a comprehensive feature list to make building your systems using Event Sourcing easier.
With strong performance and high availability, EventStoreDB can cope with up to 15,000+ writes and 50,000+ reads per second (we've benchmarked at these figures but performance depends on configuration and use patterns). It also guarantees writes unlike other database models that weren’t originally built for event sourcing.
Where can it run?
EventStoreDB can run as a server on most platforms from desktop operating systems like Windows, Linux and macOS, to Windows and Linux servers, Docker containers, and orchestration tools such as Kubernetes. Clients can connect to the server either over HTTP or using one of the gRPC framework-based client SDKs.
You can install the open-source version using Chocolatey or packagecloud package managers, build from our Github repository, or download the latest binaries from our website. We also offer a commercial version that is available to our paid support plan customers - click here to find out more.
It’s easy to get started with EventStoreDB. Follow our beginner’s tutorial for step-by-step instructions on downloading and installing the server, and writing sample applications to write and read events.
You can also visit our docs section, which contains detailed technical documentation on setting up the server and connecting to it via clients.