Database Reference
In-Depth Information
The Dynamo partition plan relies on Consistent Hashing [ 10 ] to divide load for
multiple main storage machines. With this mechanism, the mapping scope of a hash
function is deemed as a fixed circular space or “ring” (i.e. the maximum hash value
is followed by the minimum hash value). Every node in the system is assigned with
a random value in the space and such random value represents its “position” in the
ring. The position of every data item identified with a key, can be computed through
the calculation of hash value of a keyword in the data item. Then, we get the first
node clockwise, with the position larger than that of the data item. This way, every
node shall be responsible for the region between the node and the previous node.
The Consistent Hash has a main advantage that node passing only affects directly
adjacent nodes and do not affect other nodes.
Dynamo copies data items to N sets of mainframe computers, in which N is
a configurable parameter in order to achieve high availability and durability. It
distributes every key word K into a coordinating node. The coordinating node is
responsible for the copy of data items within its scope. Apart from storing all key
words within its scope, the coordinating node shall copy N
1 successive nodes in
the ring clockwise. This way, every node in the system will be responsible for a
region between itself and the Nth former node.
Dynamo system also provides eventual consistency, so as to conduct asyn-
chronous update on all copies. Before the update is applied to all copies, the put()
call may return to the caller. Consequently, the data returned by the next get() call
may not be the recently updated data. If there is no failure, the propagation delay
of updating can be determined. However, in case of failure (e.g, server failures or
network partition), the update may not propagate to all the copies until a large delay.
Vo l d e m o r t
Voldemort is also a key-value storage system, which was initially developed for
and is still used by LinkedIn. Key words and values in Voldemort are composite
objects constituted by tables and images. The voldemort interface includes three
simple operations: reading, writing, and deletion, all of which are confirmed
by key words. Voldemort provides asynchronous updating concurrent control of
multiple editions but does not ensure data consistency. However, Voldemort supports
optimistic locking for consistent multi-record updating: in case of conflict between
the updating and any other operations, the updating operation may exit. The vector
clock used in Dynamo provides various data editions with sequencing. The data
copy mechanism of Voldmort is the same as that of Dynamo. Voldemort may store
data in RAM but allows data be inserted into a storage engine. It is worth noting
that Voldemort supports two storage engines including Berkeley DB and Random
Access Files.
The key-value database emerged a few years ago. Deeply influenced by Amazon
DynamoDB, other key-value storage systems include Redis, Tokyo Canbinet and
Tokyo Tyrant, Memcached and MemcacheDB, Riak and Scalaris, all of which
provide expandability by distributing key words into nodes. Voldemort, Riak, Tokyo
Search WWH ::




Custom Search