Database Reference
In-Depth Information
(d) QUORUM : It ensures that the write has been executed on (N=2 C 1) replicas
before responding to the client where N is the total number of system replicas.
(e) ALL : It ensures that the write operation has been committed to all N replicas
before responding to the client.
On the other hand, every read operation can choose on of the following available
consistency levels:
(a) ONE : It will return the record of the first responding replica.
(b) QUORUM : It will query all replicas and return the record with the most recent
timestamp once it has at least a majority of replicas (N=2 C 1) reported.
(c) ALL : It will query all replicas and return the record with the most recent
timestamp once all replicas have replied.
Therefore, any unresponsive replicas will fail the read operation. For read
operations, in the ONE and QUORUM consistency levels, a consistency check is
always done with the remaining replicas in the system background in order to fix
any consistency issues.
HBase [ 10 ] is another project is based on the ideas of BigTable system. It uses
the Hadoop distributed filesystem (HDFS) [ 26 ] as its data storage engine. The
advantage of this approach is that HBase does not need to worry about data
replication, data consistency and resiliency because HDFS already considers and
deals with them. However, the downside is that it becomes constrained by the
characteristics of HDFS, which is that it is not optimized for random read access.
In the HBase architecture, data is stored in a farm of Region Servers. A key-to-
server mapping is used to locate the corresponding server. The in-memory data
storage is implemented using a distributed memory object caching system called
Memcache [ 35 ] while the on-disk data storage is implemented as a HDFS file
residing in the Hadoop data node server.
HyperTable [ 30 ] project is designed to achieve a high performance, scalable,
distributed storage and processing system for structured and unstructured data. It is
designed to manage the storage and processing of information on a large cluster of
commodity servers, providing resilience to machine and component failures. Like
HBase, Hypertable also runs over HDFS to leverage the automatic data replication
and fault tolerance that it provides. In HyperTable, data is represented in the system
as a multi-dimensional table of information. The HyperTable systems provides a
low-level API and Hypertable Query Language (HQL) that provides the ability
to create, modify, and query the underlying tables. The data in a table can be
transformed and organized at high speed by performing computations in parallel,
pushing them to where the data is physically stored.
CouchDB [ 8 ] is a document-oriented database that is written in Erlang can
be queried and indexed in a MapReduce fashion using JavaScript. In CouchDB,
documents are the primary unit of data. A CouchDB document is an object that
consists of named fields. Field values may be strings, numbers, dates, or even
ordered lists and associative maps. Hence, a CouchDB database is a flat collection
of documents where each document is identified by a unique ID. CouchDB provides
Search WWH ::




Custom Search