In this paper, we examine a number of SQL and socalled "NoSQL" data stores designed to scale simple OLTP-style application loads over many servers. Originally motivated by Web 2.0 applications, these systems are designed to scale to thousands or millions of users doing updates as well as reads, in contrast to traditional DBMSs and data warehouses. We contrast the new systems on their data model, consistency mechanisms, storage mechanisms, durability guarantees, availability, query support, and other dimensions. These systems typically sacrifice some of these dimensions, e.g. database-wide transaction consistency, in order to achieve others, e.g. higher availability and scalability.
[1]
Nancy A. Lynch,et al.
Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services
,
2002,
SIGA.
[2]
Werner Vogels,et al.
Dynamo: amazon's highly available key-value store
,
2007,
SOSP.
[3]
Wilson C. Hsieh,et al.
Bigtable: A Distributed Storage System for Structured Data
,
2006,
TOCS.
[4]
Adam Silberstein,et al.
Benchmarking cloud serving systems with YCSB
,
2010,
SoCC '10.
[5]
Michael Stonebraker,et al.
10 rules for scalable performance in 'simple operation' datastores
,
2011,
Commun. ACM.