How to store events in Event Sourcing
An event store sounds exotic, but it’s a database like any other. It keeps events grouped by the record they belong to, always adds new ones at the end, and gives you the guarantees you expect from a database. Once you see that, questions about performance, consistency and choosing a tool get much easier to answer.
The first articles explain that model and build a simple event store on PostgreSQL in an hour. They also show that relational databases already work this way inside. The next ones cover how other parts of the system keep track of the events they’ve already processed. The later articles look at the building blocks underneath, and at whether S3 or temporal tables can do the same job.
You don’t need all of this to use an existing event store. It helps you understand what it guarantees, and why.

Event stores are key-value databases, and why that matters
2023-04-07Event stores are the foundational building block of Event Sourcing. They’re also one of the biggest sources of confusion. They are databases turned upside down, append…
Let's build event store in one hour!
2023-01-08Last year, I completed two items from my speaker bucket list NDC Oslo and Domain-Driven Design Europe. I’m proud and happy, as those conferences were a huge inspirations…
What if I told you that Relational Databases are in fact Event Stores?
2021-02-03Are you one of those people saying that Event Sourcing is detached from reality? Do you think that you don’t need such extravagance, as you have relational databases? Why…
Let's talk about positions in event stores
2021-10-06Discussions about positions can be awkward, to say the least… It is also the case with positions in Event Sourcing. Each event store implementation has its own…
Checkpointing the message processing
2025-12-08Let’s start by asking you two questions. What Super Frog has to do with messaging? When was the last time you wrote if statements in SQL? If it’s been a long time, have…
The Write-Ahead Log: A Foundation for Reliability in Databases and Distributed systems
2024-12-07I want to talk with you today about the Write-Ahead Log concept. Why? Last month, I gave the “PostgreSQL Superpowers” talk again twice at .NET meetups. And I had random…
Unobvious things you need to know about key-value stores
2022-06-22Today I wanted to talk a bit about Key-Value databases. It is a seemingly obvious subject, but it is easy to overlook the basic assumptions and have a spectacular failure…
Using S3 but not the way you expected. S3 as strongly consistent event store
2024-09-02Welcome to the new week! Hype is strong in our industry, but the most powerful news usually comes surprisingly silent. That’s what happened with the latest AWS S3 update…
Are Temporal Tables an alternative to Event Sourcing?
2022-04-20I’ve been asked recently at least a few times about Temporal Tables and how they relate to Event Sourcing. Beware, and don’t confuse it with temporary tables. They are…