CMSC 818e Day 13

Reading time ~1 minute

These are notes taken during CMSC 818e: Distributed And Cloud-Based Storage Systems. Course webpage and syllabus here.

Day Thirteen

The readings for class today:

These readings are “postcards from the front” of applications – two readings about Facebook’s distributed system implemention

Sharding

Sharding - have a big table but don’t want to have to search through all the rows; so put some of the rows in some places and others in other places. Sharding is a form of horizontal partitioning. Sharding across multiple schemas (which in this case means different combinations of tables from a database).

Local Consistency

“Local consistency” in the case of the Existential Consistency paper means composable - defined at the object level; all accesses to ‘x’ are linearizable. Can be enforced at a single replica (causal consistency is an example of local consistency). Only looking at a small subset of the vertices - in other words, local by definition.

Local sequential consistency - all accesses conform to a single total ordering. But, that ordering doesn’t have to conform to reality.

Anomalies

98% reads, so not many anomalies because not many writes. But, likely undercounted anomalies by adjusting for clock skew. Nevertheless, the cost of anomalies is nothing in the case of Facebook, so there wouldn’t be much benefit to implementing strong consistency.

Sharding the Shards

In "Sharding the Shards: Managing Datastore Locality at Scale with Akkio", Annamalai, et al. present Akkio, a locality management service...… Continue reading