Database Reference
In-Depth Information
Data replication
While deciding upon the data replication strategy, Amazon engineers put significant focus
on achieving high availability and reliability. Traditional data replication techniques used to
have synchronous replica update, which means that if the value for a certain attribute gets
changed, it would be updated with all its replicas at that point of time only, and unless that
is done, access to that attribute would be made unavailable. This technique was used in or-
der to avoid wrong or stale data being provided to the user. But this technique was not that
efficient, as networks and disks are bound to fail and waiting for all data replicas to get up-
dates was really time consuming.
So, to avoid this, engineers decided to stick with eventual consistency, which means that
replicas would be updated asynchronously by a background process. This solution solved
the problem of availability but gave rise to one more problem, that is, conflicts. If a node
gets updated with a new attribute value, an asynchronous process will start updating the
replicas in the background. Suppose, that one of the nodes where a replica for the same
data resides is not available for update, then that node would have the same old value.
Meanwhile, if the node becomes available again and gets a read request, then it would
present the old value, and there would be a conflict between this node and other nodes.
Search WWH ::




Custom Search