Consistency for distributed data stores