It's snapshot time! There's been a lot of event sourcing content so far. Let's do a recap! Below you will find a short summary of event sourcing related articles that I have published here so far. Treat it as a table of content or a lookup or a pattern collection. It's ordered by date, the … Continue reading Snapshot time!
TL;DR Do you know that feeling of being powerless? Of being not able to tell why your system acted in a specific way? Of not being able to recognize whether it's a hacker or your system malfunction? Event sourcing, by storing all the events that happened in your system helps a lot. Still, you can … Continue reading Why did it happen?
TL;DR When modelling with event sourcing, people often tend to create long living streams/aggregates. I encourage you to improve your modelling with interim streams. Long live the king A user, an account, a company. Frequently this kinds of aggregates are distinguished during first modelling attempts. They are long lasting, never ending streams of events. Sometimes … Continue reading Event Sourcing and interim streams
TL;DR Designing a multitenant system puts a hard requirement on a designer to do not leak data between tenants. Is there anyone who would like to show a list of employees' emails from one company to another? Azure Table Storage Azure Table Storage is a part of Azure Storage Services. It's mentioned in the original … Continue reading Multitenant Event Sourcing with Azure Table Storage
TL;DR Sometimes System.Collections.Concurrent provide not enough methods to squeeze the top performance out of them. Below you can find a small extension method that will make your life easier in some cases Concurrent dictionary The concurrent dictionary provides a lot of useful methods. You can TryAdd, AddOrUpdate. Additionally, you can use TryUpdate which provides a … Continue reading Concurrent conditional deletes
TL;DR Beside common advantages of event sourcing like the auditing, projections and sticking closely to the domain, you can use events to discover the domain again and provide meaningful insights to your business. Include.Metadata I've already described the idea of enriching your events. This is the main enabler for analyzing your events in various way. … Continue reading Rediscover your domain with Event Sourcing
TL;DR Are you in a team trying to convince a database administrator to use event sourcing? Are you a DBA that is being convinced? Or maybe it's you and a person that does not want to change the relational point of view. In any case, read forward. Drop. Every. Single. Table That's the argument you … Continue reading Event sourcing for DBAs