is a transaction model often used on databases that rely heavily on horizontal scaling and performance.
- BA: Basic Availability: The database looks like it is always available.
- S: Soft-state: The database doesn’t enforce consistency. Developers should have this responsibility.
- E: Eventual consistency: The consistency can be delayed. Some “reads” can still use “old” values.
- NoSQL databases tend to use this kind of transaction model.
- It is commonly used in large-scale, performant systems using sharding and horizontal scale-out.
- Don’t require locking or rollback actions. Eventual synchronization and reconciliation of nodes should be enough.
- Data replication can use a Master-Slave, Master-Master, Multi-Master, and Peer-to-Peer configuration.
- Products: Cassandra, Hadoop, DynamoDB, BigTable, MongoDB, Redis.
- ACID: Provides a consistent system.
- BASE: Provided high availability.