DynamoDB internal algorithms (Friday, Week 10, March 21, 2014)

Amazon DynamoDB

Cluster-level infrastructure for storage

This is Version 1 (2007)

Version 2 has simpler interface

Vector clocks in writes

The first node to do the write “owns” the write’s time

Five writes to a Dynamo key, including a partition and reconciliation by the client

Partition opens room for several “owners”

Client must record vector clocks

Every write preceded by a read to get the current clock

The original paper is Dynamo: Amazon’s Highly Available Key-Value Store.

If you’re interested in the full algorithm, David Drysdale has implemented it in Python.