Grokking the Advanced System Design Interview
Ask Author
Back to course home

0% completed

Vote For New Content
About Read-your-writes

goobaek

Nov 1, 2023

As stated above, put() requests are coordinated by one of the top  nodes in the preference list. Although it is always desirable to have the first node among the top  to coordinate the writes, thereby serializing all writes at a single location, this approach has led to uneven load distribution for Dynamo. This is because the request load is not uniformly distributed across objects. To counter this, any of the top  nodes in the preference list is allowed to coordinate the writes. In particular, since each write operation usually follows a read operation, the coordinator for a write operation is chosen to be the node that replied fastest to the previous read operation, which is stored in the request's context information. This optimization enables Dynamo to pick the node that has the data that was read by the preceding read operation, thereby increasing the chances of getting "**read-your-writes**" consistency.

I wonder that why does this optimization increase "**read-your-writes**" consistency. I think "read-your-writes" is causal consistency. Am I right?

0

0

Comments
Comments

On this page

Strategies for choosing the coordinator node

Consistency protocol

'put()' process

'get()' process

Request handling through state machine