Introduction

Welcome to the EventStoreDB 22.6 (interim release) documentation.

EventStoreDB is a database designed for Event Sourcingopen in new window. This documentation introduces key concepts of EventStoreDB and explains its installation, configuration and operational concerns.

EventStoreDB is available as both a Open-Source and an Enterprise versions:

Getting started

Get started by learning more about principles of EventStoreDB, Event Sourcing, database installation guidelines and choosing the client SDK.

Support

EventStoreDB community

Users of the OSS version of EventStoreDB can use the community forumopen in new window for questions, discussions and getting help from community members.

Enterprise customers

Customers with the paid support planopen in new window can open tickets using the support portalopen in new window.

Issues

Since EventStoreDB is the open-source product, we track most of the issues openly in the EventStoreDB repository on GitHubopen in new window. Before opening an issue, please ensure that a similar issue hasn't been opened already. Also, try searching closed issues that might contain a solution or workaround for your problem.

When opening an issue, follow our guidelines for bug reports and feature requests. By doing so, you would greatly help us to solve your concerns in the most efficient way.

Protocols, clients and SDKs

This getting started guide shows you how to get started with EventStoreDB by setting up an instance or cluster and configuring it.

EventStoreDB supports two protocols: gRPC and TCP, described below.

gRPC protocol

The gRPC protocol is based on open standardsopen in new window and is widely supported by many programming languages. EventStoreDB uses gRPC to communicate between the cluster nodes as well as for client-server communication.

We recommend using gRPC since it is the primary protocol for EventStoreDB moving forward. When developing software that uses EventStoreDB, we recommend using one of the official SDKs.

EventStoreDB supported clients

Read more in the gRPC clients documentation.

Community developed clients

TCP protocol

EventStoreDB offers a low-level protocol in the form of an asynchronous TCP protocol that exchanges protobuf objects. At present this protocol has adapters for .NET and the JVM.

WARNING

We plan to phase out the TCP protocol in later versions. Please consider migrating your applications that use the TCP protocol and refactor them to use gRPC instead.

Find out more about configuring the TCP protocol on the TCP configuration page.

EventStoreDB supported clients

Community developed clients

HTTP

EventStoreDB also offers an HTTP-based interface, based specifically on the AtomPub protocolopen in new window. As it operates over HTTP, this is less efficient, but nearly every environment supports it.

Find out more about configuring the HTTP protocol on the HTTP configuration page.

"Deprecation note"

The current AtomPub-based HTTP application API is disabled by default since v20 of EventStoreDB. You can enable it by adding an option to the server configuration.

As the AtomPub protocol doesn't get any changes, you can use the v5 HTTP API documentation for it.

NOTE

Although we plan to remove AtomPub support from the future server versions, the server management HTTP API will still be available.

Community developed clients