Here we are: Microservices, Container, Cloud … and lots of data to deal with. Usually that’s where the real trouble starts. Many developers still base their designs on the concept of perfectly consistent ACID transactions, everything being always consistent and in order, no anomalies around.
But reality is different: Perfect consistency does not exist and many real-world use cases require much weaker consistency models in order to satisfy the scalability or robustness requirements.
So, what are our options and what is the price we need to pay? Do we need to accept potentially losing data in order to get higher availability? How much can I scale without compromising consistency?
In this session we will answer this and many more questions. We will also have a look at some popular data stores and examine what kind of consistency models you can achieve with them and how. Finally, we will have a peek into latest research and see new ideas that might push the borders of the current state-of-art.
Update February 2016: The talk has been recorded in tape and is available on YouTube.