Preface |
|
xv | |
Acknowledgments |
|
xvii | |
|
|
1 | (6) |
|
2 Distributed Data Management |
|
|
7 | (18) |
|
|
7 | (10) |
|
2.1.1 Logical Time and Lamport Clocks |
|
|
8 | (1) |
|
|
9 | (1) |
|
2.1.3 Mutual Exclusion and Quorums |
|
|
10 | (2) |
|
|
12 | (1) |
|
2.1.5 Group Communication through Broadcast and Multicast |
|
|
12 | (3) |
|
2.1.6 The Consensus Problem |
|
|
15 | (1) |
|
|
16 | (1) |
|
|
17 | (1) |
|
|
18 | (7) |
|
|
19 | (1) |
|
2.3.2 Concurrency Control |
|
|
20 | (1) |
|
2.3.3 Recovery and Commitment |
|
|
21 | (4) |
|
3 Cloud Data Management: Early Trends |
|
|
25 | (14) |
|
3.1 Overview of Key-value Stores |
|
|
25 | (1) |
|
3.2 Design Choices and their Implications |
|
|
26 | (4) |
|
|
27 | (1) |
|
3.2.2 Data Distribution and Request Routing |
|
|
27 | (1) |
|
|
28 | (1) |
|
3.2.4 Fault-tolerance and Data Replication |
|
|
29 | (1) |
|
3.3 Key-Value Store System Examples |
|
|
30 | (6) |
|
|
31 | (2) |
|
|
33 | (2) |
|
|
35 | (1) |
|
|
36 | (3) |
|
4 Transactions on Co-located Data |
|
|
39 | (32) |
|
4.1 Data or Ownership Co-location |
|
|
40 | (8) |
|
4.1.1 Leveraging Schema Patterns |
|
|
40 | (4) |
|
4.1.2 Access-driven Database Partitioning |
|
|
44 | (1) |
|
4.1.3 Application-specified Dynamic Partitioning |
|
|
45 | (3) |
|
4.2 Transaction Execution |
|
|
48 | (1) |
|
|
48 | (2) |
|
|
48 | (1) |
|
|
49 | (1) |
|
|
50 | (2) |
|
4.4.1 Explicit Replication |
|
|
51 | (1) |
|
4.4.2 Implicit Replication |
|
|
51 | (1) |
|
4.5 A Survey of the Systems |
|
|
52 | (19) |
|
|
52 | (4) |
|
|
56 | (2) |
|
|
58 | (2) |
|
|
60 | (4) |
|
|
64 | (1) |
|
|
65 | (3) |
|
|
68 | (3) |
|
5 Transactions on Distributed Data |
|
|
71 | (12) |
|
5.1 Database-like Functionality on Cloud Storage |
|
|
71 | (4) |
|
5.2 Transactional support for Geo-replicated Data |
|
|
75 | (2) |
|
5.3 Incremental Update Processing using Distributed Transactions |
|
|
77 | (2) |
|
5.4 Scalable Distributed Synchronization using Minitransactions |
|
|
79 | (2) |
|
|
81 | (2) |
|
6 Multi-tenant Database Systems |
|
|
83 | (22) |
|
|
84 | (4) |
|
|
84 | (1) |
|
|
85 | (1) |
|
|
86 | (1) |
|
6.1.4 Analyzing the Models |
|
|
86 | (2) |
|
6.2 Database Elasticity in the Cloud |
|
|
88 | (12) |
|
6.2.1 Albatross: Live Migration for Shared Storage Data Stores |
|
|
89 | (3) |
|
6.2.2 Zephyr: Live Migration For Shared Nothing Data Stores |
|
|
92 | (6) |
|
6.2.3 Slacker: Live DBMS Instance Migration in Shared-nothing Model |
|
|
98 | (2) |
|
6.3 Autonomic Control for Database Workloads in the Cloud |
|
|
100 | (4) |
|
|
104 | (1) |
|
|
105 | (2) |
Bibliography |
|
107 | (11) |
Authors' Biographies |
|
118 | |