List of Figures
3.2 Vector Clocks – Exchange via Gossip in State Transfer Mode
3.3 Vector Clocks – Exchange via Gossip in Operation Transfer Mode
3.4 Consistent Hashing – Initial Situation
3.5 Consistent Hashing – Situation after Node Joining and Departure
3.6 Consistent Hashing – Virtual Nodes Example
3.7 Consistent Hashing – Example with Virtual Nodes and Replicated Data
3.8 Membership Changes – Node X joins the System
3.9 Membership Changes – Node B leaves the System
3.10 Storage Layout – Row-based, Columnar with/out Locality Groups
3.11 Storage Layout – Log Structured Merge Trees
3.12 Storage Layout – MemTables and SSTables in Bigtable
3.13 Storage Layout – Copy-on-modfify in CouchDB
3.14 Query Models – Companion SQL-Database
3.15 Query Models – Scatter/Gather Local Search
3.16 Query Models – Distributed B+Tree
3.17 Query Models – Prefix Hash Table / Distributed Trie
3.18 MapReduce – Execution Overview
3.19 MapReduce – Execution on Distributed Storage Nodes
4.1 Amazon’s Dynamo – Consistent Hashing with Replication
4.2 Amazon’s Dynamo – Concurrent Updates on a Data Item
4.3 Project Voldemort – Logical Architecture
4.4 Project Voldemort – Physical Architecture Options
5.1 MongoDB – Replication Approaches
5.2 MongoDB – Sharding Components
5.3 MongoDB – Sharding Metadata Example
6.1 Google’s Bigtable – Example of Web Crawler Results