Questions tagged [eventstoredb]

EventStoreDB is a scalable, high-performance, open-source database optimized for Event Sourcing. It supports append-only, idempotent writes of ordered events to named event streams and reading them back in sequence. EventStoreDB has the concept of internal projections (built-in and created by users), which can process events on the server and emit new events or create links to existing events in other streams.

EventStoreDB is a widely used, general-purpose, event store database, optimized for Event Sourcing, with features including high-availability replication and idempotent writes and embedded projections.

The EventStoreDB server is open-sourced and available under Event Store License. Commercial Licenses are also available from Event Store Limited.

EventStoreDB uses raw binary format to store the data and gives developers freedom to choose their own serializers. Event Store allows using TCP and HTTP (v5) or TCP and gRPC (v20+) protocols for client-server communication.

Officially supported client libraries are:

More client libraries will be released after EventStoreDB v20 is generally available. There are also client libraries created by the community, which offer support for more programming languages.

The latest EventStoreDB server releases can be installed on the majority of platforms, including Docker. Ubuntu and Windows binaries can also be downloaded from the EventStoreDB repository releases page.

The current production release series of EventStoreDB is v20. Compared with the previous version (v5), it contains significant performance improvements and introduces gRPC as the primary communication protocol. Event Store Cloud managed clusters for all major cloud platforms were announced in January 2020 and expected to be available during the year of 2020.

Event Store Discuss is the official home for community discussion, product/driver announcements, and introductions.

Related Tags

Books

127 questions
46
votes
2 answers

EventStore vs. MongoDb

I would like to know what advantages there are to using EventStore (http://geteventstore.com) over implementing event sourcing yourself in a MongoDb. The reason I ask, is that our company has a number of people that work with MongoDb daily. They…
Jay Pete
  • 3,697
  • 4
  • 31
  • 46
30
votes
2 answers

What difference between NEventStore and EventStoreDB

Recently I'm learning CQRS and want to change my system to use event-sourcing patterns. But I found that on .Net platform, there is two Event Store implementations. NEventStore(formerly JOliver EventStore) EventStoreDB(from EventStore.com) The two…
JasonMing
  • 541
  • 8
  • 15
22
votes
1 answer

Are snapshots supported in EventStoreDB?

I am seriously thinking of using EvenStore from Greg Young, for implementing a system based on events. However, I am not sure whether EventStore from Greg Young supports Snapshots. Snapshots are key requirement for my application as we do not want…
15
votes
3 answers

EventStore Subscribing to a stream for a category

I have started creating a test application in .Net, that uses EventStore by Greg Young as the backing store for CQRS/ES. In order to make it easy to load up a full aggregate, I save to a stream with a name of "agg-123". For example for a product…
eyeballpaul
  • 1,693
  • 2
  • 24
  • 36
14
votes
4 answers

Occasionally connected CQRS system

Problem: Two employees (A & B) go off-line at the same time while editing customer #123, say version #20, and while off-line continue making changes... Scenarios: 1 - The two employees edit customer #123 and make changes to one or more identical…
12
votes
3 answers

.Net Core Client for EventStore - Connection was closed

I've recently started trying out the EventStore Client API for .net-core (nuget package). However, I'm struggling in getting the events to write into the stream. Below is the code that I'm using to establish the connection: private readonly…
Nayab Siddiqui
  • 1,252
  • 12
  • 16
10
votes
5 answers

An event store could become a single point of failure?

Since a couple of days I've been trying to figure it out how to inform to the rest of the microservices that a new entity was created in a microservice A that store that entity in a MongoDB. I want to: Have low coupling between the…
gabrielgiussi
  • 7,577
  • 6
  • 36
  • 67
10
votes
3 answers

Convert JObject to type at runtime

I am writing a simple event dispatcher where my events come in as objects with the clr type name and the json object representing the original event (after the byte[] has been processed into the jobject) that was fired. I'm using GetEventStore if…
user156888
9
votes
1 answer

Event Store connection was closed

With the following docker-compose file I start my .Net Core 3.1 Console application and an Event Store container. version: "3.4" services: eventstore: image: eventstore/eventstore networks: - eventnet ports: - "2113:2113" …
321X
  • 2,846
  • 2
  • 28
  • 38
8
votes
1 answer

Serialize and Deserialize domain events to persist and retrieve from Event Store in generic implementation

I am using DDD with CQRS and Event Sourcing. I need to use an Event Store (specifically this event store) within my custom implementation of IEventStore to persist and retrieve domain events but I am having difficulties with the approach to take…
diegosasw
  • 8,724
  • 7
  • 66
  • 106
7
votes
2 answers

How should Event Sourcing event handlers be hosted to construct a read model?

There are various example applications and frameworks that implement a CQRS + Event Sourcing architecture and most describe use of an event handler to create a denormalized view from domain events stored in an event store. One example of hosting…
Mark
  • 965
  • 10
  • 21
6
votes
0 answers

EventStore on Kubernetes: Connection refused

I'm developing an open-sourced cloud event gateway in .NET 5.0, backed by an EventStore channel, and am facing problems to connect the ProjectionsManager service. I deployed an EventStore service in its own namespace, and can successfully connect to…
6
votes
3 answers

Compensating Events on CQRS/ES Architecture

So, I'm working on a CQRS/ES project in which we are having some doubts about how to handle trivial problems that would be easy to handle in other architectures My scenario is the following: I have a customer CRUD REST API and each customer has…
6
votes
1 answer

EventSourced Saga Implementation

I have written an Event Sourced Aggregate and now implemented an Event Sourced Saga... I have noticed the two are similair and created an event sourced object as a base class from which both derive. I have seen one demo here…
morleyc
  • 2,228
  • 9
  • 35
  • 85
6
votes
1 answer

What is a valid eventId in EventStore?

When I try to post an event without an eventId, I get: HTTP/1.1 400 Empty eventId provided. If I populate eventId with something random, then I get: HTTP/1.1 400 Write request body invalid In the stdout of the server, I see: Error converting…
Jessitron
  • 1,100
  • 11
  • 10
1
2 3
8 9