Database Reference
In-Depth Information
for a particular record is selected to be the master for that record. Relying on the
per-record timeline consistency model, the PNUTS system supports the following
range of API calls with varying levels of consistency guarantees:
￿
Read-any : This call has a lower latency as it returns a possibly stale version of
the record.
￿
Read-critical (required version) : This call returns a version of the record that is
strictly newer than, or the same as the required version .
￿
Read-latest : This call returns the latest copy of the record that reflects all writes
that have succeeded. It is expected that the read-critical and read-latest can have
a higher latency than read-any if the local copy is too stale and the system needs
to locate a newer version at a remote replica.
￿
Write : This call gives the same ACID guarantees as a transaction with a single
write operation in it (e.g. blind writes).
￿
Test-and-set-write (required version) : This call performs the requested write to
the record if and only if the present version of the record is the same as required
version. This call can be used to implement transactions that first read a record,
and then do a write to the record based on the read, e.g. incrementing the value
of a counter.
Since the system is designed to scale to cover several worldwide replicas,
automated failover and load balancing is the only way to manage the operations
load. Therefore, for any failed server, the system automatically recover by copying
data from a replica to other live servers.
Amazon: Dynamo
Amazon runs a world-wide e-commerce platform that serves tens of millions
customers at peak times using tens of thousands of servers located in many data
centers around the world. In this environment, there are strict operational require-
ments on Amazon's platform in terms of performance, reliability and efficiency, and
to support Amazon's continuous growth the platform needs to be highly scalable.
Reliability is one of the most important requirements because even the slightest
outage has significant financial consequences and impacts customer trust.
The Dynamo system [ 121 ] is a highly available and scalable distributed key/value
based datastore built for supporting internal Amazon's applications. Dynamo is
used to manage the state of services that have very high reliability requirements
and need tight control over the tradeoffs between availability, consistency, cost-
effectiveness and performance. There are many services on Amazons platform
that only need primary-key access to a data store. The common pattern of using
a relational database would lead to inefficiencies and limit the ability to scale
and provide high availability. Thus, Dynamo provides a simple primary-key only
interface to meet the requirements of these applications. The query model of the
Search WWH ::




Custom Search