#10 Marten: Turning Postgres into an event and document store

Event sourcing is an approach to data persistence that is safe and flexible at the same time. It safely stores data in log over all changes ever made. Nothing is lost. At the same time, event sourcing give us tremendous flexibilty to changes the business rules that govern how the data is used. These are some of the reasons that event sourcing has become increasingly popular over the past years.

But even though event sourcing has some great benefits it's not the only good way to store data. Some scenarios call for a simple document store, and some call for a traditional relation model. Enter Postgresql. Postgresql is fast, rock solid, and ops-friendly database. Just the kind of thing to rely on for mission critical applications. Postgres is also an unusually versatile database that may have it's roots in the relation world, but today is equally capable of storing non-relational data.

The Marten ORM levarages Postgres' JSON capablilities to make Postgres look like both an event store and a document database, which means that we get three models in one from Postgres: Relational, document, and event sourcing.

In this workshop participants will get a hands-on introduction to event sourcing event sourcing using Marten. We will expand on that introduction to show how event sourcing tends to introduce a need for "readmodels" and how Marten supports that through its document store capabilites. Along the way there might be an anecdote or two from using Marten and postgres in the real world and under heavy load.
Intermediate Database

Cancellation Policy.

Ticket can be transferred or canceled. In case of cancellation there is a following cancellation fee: