Database Reference
In-Depth Information
Chapter 5
Database Replication of NoSQL
Database-as-a-Service
NoSQL database as a service is part of the database as a service offering to
complement traditional database systems often by removing the requirement ACID
transactions as one common feature. NoSQL database as a service has been
supported by many service providers that offer various consistency options, from
eventual consistency to single-entity ACID. For the service provider, weaker
consistency is related to a longer replication delay, and therefore should allow better
availability and lower read latency.
This chapter investigates the replication delay of NoSQL databases by observing
the consistency and performance characteristics of various offerings from the
customers' perspective. In this chapter, we present a detailed measurements over
several NoSQL databases, that show how frequently, and in what circumstances,
different inconsistency situations are observed, and what impact the customers sees
on performance characteristics from choosing to operate with weak consistency
mechanisms. In addition, we describe the development of the overall methodology
of experiments for measuring consistency from the customer's view. The chap-
ter first presents an architecture for benchmarking various NoSQL databases in
Sect. 5.1 . Then, Sect. 5.2 reports on the experiments that investigate how often a read
sees a stale value. For several platforms, data is always, or nearly always, up-to-date.
For one platform, specifically Amazon SimpleDB, stale data is frequently observed.
Thus, in Sect. 5.3 , the performance and cost trade-offs of different consistency
options are explored. Section 5.4 discusses some limitations of generalizing results
and gives some conclusions.
5.1
Architecture of Benchmark Application
Figure 5.1 illustrates the architecture of the benchmark applications in this study.
There are three roles composed: the NoSQL database, the writer , and the reader .
A writer repeatedly writes 14 bytes of string data into a particular data element
where the value written is the current time, so that it is easy to check which write
Search WWH ::




Custom Search