Database Reference
In-Depth Information
server selection proceeds as before, but the data is also modified on the next
k servers in the ring (the reason for the ring is so that the servers to modify
“wraps around” to the beginning of the list if the primary server is within k
servers of the end of the list).
If one of the servers becomes unavailable, clients can simply update and
query the remaining server. If the server is returned to the pool, it can
then copy its data from one of the other servers before considering itself
up-to-date.
The data store undergoes a similar process when adding a new server or
permanently removing a server from the ring. When adding a server, the
new server will copy data appropriate to its location in the ring. When
removing a server, a pre-existing server will now need to hold the data from
that ring, which should be copied from the existing servers. Both of these
operations can happen in the background; since there are other servers in
the ring that can serve up queries for data, the server being updated is
missing.Updatesfromaclientcansimplybemadetothenewserverwithout
checking.
“NoSQL” Storage Systems
So-called “NoSQL” storage systems have grown in popularity over the last
few years, largely in step with the rise of Big Data applications. This section
covers a broad range of different approaches that are largely characterized
by high-performance reads and writes, usually at the expense of the usual
requirements of a transactional database, the complexity of the queries, or
(most often) both.
For many Big Data and, in particular, real-time streaming applications,
these are considered to be acceptable tradeoffs. Especially when using the
Lambda Architecture discussed later in this chapter, the requirements of a
data store for real-time analysis can be quite relaxed.
Although there are dozens of different storage options available for
streaming applications, this section discusses just three. They have been
chosen to demonstrate the range of possible choices and, in a production
system, it is likely that more than one of these systems will be in use as they
have different strengths and weaknesses. These systems are also generally a
complement rather than a replacement for the relational database.
Search WWH ::




Custom Search