EventStoreDB

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 find links to the source code, or read more about the features below.

Download

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.

Features

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 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.

Download

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.

Get started

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.

Getting started

Technical documentation

You can also visit our docs section, which contains detailed technical documentation on setting up the server and connecting to it via clients.

Visit the docs