AntidoteDB: Just the Right Kind of Consistency!
You need a data store that allows for high throughput and availability, but you are worried about the consistency of your data under concurrent updates when replicating across data centers? Current designs for data storage forces application developers to decide early in the design cycle, and once and for all, what type of consistency the database should provide.
At one extreme, data stores with strong consistency (such as Spanner and CockroachDB) require frequent global coordination; restricting concurrency in this way greatly simplifies application development, but it reduces availability and increases latency. At the opposite extreme, there are systems like Cassandra that provide eventual consistency only: they never sacrifice availability, but application developers must write code to deal with all sorts of concurrency anomalies in order to prevent violation of application invariants. But the system just needs to be consistent enough for the application to be correct!
AntidoteDB is supporting the just-right-consistency approach with a unique combination of features and properties. In this tutorial, you will learn how conflict-free replicated data types (CRDTs), transactions, and causal consistency interact in AntidoteDB. This tutorial is hands-on with many interactive elements to explore the features and limits of the Just-Right Consistency approach.