Database Reference
In-Depth Information
Spanner presents a novel globally distributed architecture that implements the
first globally ordered system with external consistency guarantees. While such guar-
antees were estimated to be fundamental for many applications within Google, it is
unclear how such an implementation affects latency, performance, and availability.
In particular, the write throughput might suffer from the two-phase locking mecha-
nism, which is known to be very expensive at wide scale. Moreover, it is not obvious
how Spanner deals with availability during network failures.
10.4.5 D isCussion
As cloud computing technology emerges, more and more cloud storage systems
have been developed. Table 10.2 gives an overview of the four aforementioned cloud
storage systems along with several other storage system examples. Many systems
implement eventual consistency. These systems are usually destined to serve social
networks, web shop applications, document-based applications, and cloud services.
Commonly, they adopt one of the following data models: key/value, column fami-
lies, and document-oriented. Moreover, many of these systems provide the user with
a flexible API that offers various consistency levels. On the opposite side, systems
that implement strong consistency serve many applications including services such
as mail service, advertisement, image hosting platforms, data analytics applications,
and a few cloud services as well. These applications, in general, require strong con-
sistency while their availability and performance requirements are not as high as web
shop services for instance. These systems implement, generally, a semi-relational
data model, column families, and rarely, a key/value model. Moreover, they usually
provide users with SQL-like API.
10.5 ADAPTIVE CONSISTENCY
A wide range of applications either require a strictly strong form of consistency or
settle for only static eventual consistency. However, for another class of applications,
consistency requirements are not obvious as they depend on data access behavior
dynamicity, clients needs, and the consequences (or the cost) of reading inconsistent
data. Typical applications that fall in this class include auction systems and web shop
applications. For these types of applications, availability and fast accesses are vital.
Therefore, strong consistency mechanisms may be too costly. While high levels of
consistency are strongly desired for these particular applications, it is not always
required. In the start of an auction or in the not so busy periods for a web shop, a
weaker form of consistency is sufficient and does not cause anomalies that the stor-
age system cannot handle. However, strong consistency is required toward the end
of the auction as well as in the busy holiday periods, as heavy accesses are expected
and data inconsistency might be of disastrous consequences. As with this type of
situations, static eventual or strong forms of consistency lead both to undesirable
consequences.
To cope with the dynamicity of accesses behavior at the massive cloud scale,
various adaptive and dynamic consistency approaches were introduced. Their goal
is to use strong consistency only when it is necessary. These approaches differ
Search WWH ::




Custom Search