Contents
Part I: Next Generation Databases
Chapter 1: Three Database Revolutions
The Second Database Revolution
The First Relational Databases
Object-oriented Programming and the OODBMS
Conclusion: One Size Doesn’t Fit All
Chapter 2: Google, Big Data, and Hadoop
Cloud, Mobile, Social, and Big Data
Hadoop: Open-Source Google Stack
Chapter 3: Sharding, Amazon, and the Birth of NoSQL
Dynamo and the Key-value Store Family
XML Support in Relational Systems
Data Models in Document Databases
Chapter 5: Tables are Not Your Friends: Graph Databases
Sybase IQ, C-Store, and Vertica
Columnar Technology in Other Databases
Chapter 7: The End of Disk? SSD and In-Memory Databases
Oracle 12c “in-Memory Database”
Berkeley Analytics Data Stack and Spark
Chapter 8: Distributed Database Patterns
Distributed Relational Databases
Shared Nothing and Shared Disk
Nonrelational Distributed Databases
MongoDB Sharding and Replication
Write Concern and Read Preference
Tables, Regions, and RegionServers
RegionServer Splits, Balancing, and Failure
Global Transaction Sequence Numbers
Replica Sets and Eventual Consistency
Eventually Consistent Region Replicas
Interaction between Consistency Levels
Hinted Handoff and Read Repair
Chapter 10: Data Models and Storage
Review of the Relational Model of Data
Data Models in BigTable and HBase
Typical Relational Storage Model
Chapter 11: Languages and Programming Interfaces
Cassandra Query Language (CQL)
Chapter 12: Databases of the Future
A Vision for a Converged Database
Accessing JSON via Oracle REST