0% completed
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
On this page
Strategies for choosing the coordinator node
Consistency protocol
'put()' process
'get()' process
Request handling through state machine