Designing and Planning an Event Store System
CQRS and Event Sourcing design patterns
I am designing and building a Data Product, this will expect to receive a lot of inmutable notifications from different social network platforms, so, I will need to perform write operations of these notifications fast, and sometimes I will have to perform read operations with complex agregations against this database, a little later I will create another article with details about the whole technology, but, for now I have a problem or rather a doubt, and this issue is called: DATA STORAGE. Although I am very clear about all concepts around the CAP Theorem, my main concern is selecting one among the hundreds of types of databases currently in existence, and this last argument dragged me to write this article and concentrate on build my own Event-Based Storage.
This article is not about simply presenting a technical concepts, so it is important that you read some concepts that I have highlighted in bold in order to have some context, this article is based on explaining each of my decisions quickly.
What is an Event Store System?
An event store system is a kind of storage to permanent persist and manage a log of inmutable (cannot be modified or deleted) events or actions that have occurred in a system or…