Our open-source database was built from the ground up for Event Sourcing. The server can run on most platforms, and there are clients available for most languages. Visit our download page to get the binaries and source code, or read more about the features below.Download Quick start guide
What is EventStoreDB?
EventStoreDB is an industrial-strength Event Sourcing database that stores your critical data in streams of immutable events. It was built from the ground up 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-sourced systems than other database solutions that were originally built for other purposes. And on top of that, it’s available as open source.
Guaranteed writes Writes are committed to disk which makes it ideal for a “source of record” database.
High availability 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 Projections allow you to react to events as they are written, and to create new events when interesting combinations occur.
Client interfaces 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 response 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 help you take advantage of them.
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.
Event Store Cloud
EventStoreDB can be provisioned automatically with our multi-cloud SaaS offering, Event Store Cloud. With support for AWS, GCP, and Azure (coming soon), customers can subscribe to and manage Event Store service offerings via an API and an easy-to-use web console. Customers can provision services, and connect these services securely to their own cloud resources.
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.Download
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.Get started
You can also visit our docs section, which contains detailed technical documentation on setting up the server and connecting to it via clients.Documentation