Contents

About the Author

About the Technical Reviewer

Acknowledgments

image Part I: Next Generation Databases

image Chapter 1: Three Database Revolutions

Early Database Systems

The First Database Revolution

The Second Database Revolution

Relational theory

Transaction Models

The First Relational Databases

Database Wars!

Client-server Computing

Object-oriented Programming and the OODBMS

The Relational Plateau

The Third Database Revolution

Google and Hadoop

The Rest of the Web

Cloud Computing

Document Databases

The “NewSQL”

The Nonrelational Explosion

Conclusion: One Size Doesn’t Fit All

Notes

image Chapter 2: Google, Big Data, and Hadoop

The Big Data Revolution

Cloud, Mobile, Social, and Big Data

Google: Pioneer of Big Data

Google Hardware

The Google Software Stack

More about MapReduce

Hadoop: Open-Source Google Stack

Hadoop’s Origins

The Power of Hadoop

Hadoop’s Architecture

HBase

Hive

Pig

The Hadoop Ecosystem

Conclusion

Notes

image Chapter 3: Sharding, Amazon, and the Birth of NoSQL

Scaling Web 2.0

How Web 2.0 was Won

The Open-source Solution

Sharding

Death by a Thousand Shards

CAP Theorem

Eventual Consistency

Amazon’s Dynamo

Consistent Hashing

Tunable Consistency

Dynamo and the Key-value Store Family

Conclusion

Note

image Chapter 4: Document Databases

XML and XML Databases

XML Tools and Standards

XML Databases

XML Support in Relational Systems

JSON Document Databases

JSON and AJAX

JSON Databases

Data Models in Document Databases

Early JSON Databases

MemBase and CouchBase

MongoDB

JSON, JSON, Everywhere

Conclusion

image Chapter 5: Tables are Not Your Friends: Graph Databases

What is a Graph?

RDBMS Patterns for Graphs

RDF and SPARQL

Property Graphs and Neo4j

Gremlin

Graph Database Internals

Graph Compute Engines

Conclusion

image Chapter 6: Column Databases

Data Warehousing Schemas

The Columnar Alternative

Columnar Compression

Columnar Write Penalty

Sybase IQ, C-Store, and Vertica

Column Database Architectures

Projections

Columnar Technology in Other Databases

Conclusion

Note

image Chapter 7: The End of Disk? SSD and In-Memory Databases

The End of Disk?

Solid State Disk

The Economics of Disk

SSD-Enabled Databases

In-Memory Databases

TimesTen

Redis

SAP HANA

VoltDB

Oracle 12c “in-Memory Database”

Berkeley Analytics Data Stack and Spark

Spark Architecture

Conclusion

Note

image Part II: The Gory Details

image Chapter 8: Distributed Database Patterns

Distributed Relational Databases

Replication

Shared Nothing and Shared Disk

Nonrelational Distributed Databases

MongoDB Sharding and Replication

Sharding

Sharding Mechanisms

Cluster Balancing

Replication

Write Concern and Read Preference

HBase

Tables, Regions, and RegionServers

Caching and Data Locality

Rowkey Ordering

RegionServer Splits, Balancing, and Failure

Region Replicas

Cassandra

Gossip

Consistent Hashing

Replicas

Snitches

Summary

image Chapter 9: Consistency Models

Types of Consistency

ACID and MVCC

Global Transaction Sequence Numbers

Two-phase Commit

Other Levels of Consistency

Consistency in MongoDB

MongoDB Locking

Replica Sets and Eventual Consistency

HBase Consistency

Eventually Consistent Region Replicas

Cassandra Consistency

Replication Factor

Write Consistency

Read Consistency

Interaction between Consistency Levels

Hinted Handoff and Read Repair

Timestamps and Granularity

Vector Clocks

Lightweight Transactions

Conclusion

image Chapter 10: Data Models and Storage

Data Models

Review of the Relational Model of Data

Key-value Stores

Data Models in BigTable and HBase

Cassandra

JSON Data Models

Storage

Typical Relational Storage Model

Log-structured Merge Trees

Secondary Indexing

Conclusion

image Chapter 11: Languages and Programming Interfaces

SQL

NoSQL APIs

Riak

Hbase

MongoDB

Cassandra Query Language (CQL)

MapReduce

Pig

Directed Acyclic Graphs

Cascading

Spark

The Return of SQL

Hive

Impala

Spark SQL

Couchbase N1QL

Apache Drill

Other SQL on NoSQL

Conclusion

Note

image Chapter 12: Databases of the Future

The Revolution Revisited

Counterrevolutionaries

Have We Come Full Circle?

An Embarrassment of Choice

Can We have it All?

Consistency Models

Schema

Database Languages

Storage

A Vision for a Converged Database

Meanwhile, Back at Oracle HQ

Oracle JSON Support

Accessing JSON via Oracle REST

REST Access to Oracle Tables

Oracle Graph

Oracle Sharding

Oracle as a Hybrid Database

Other Convergent Databases

Disruptive Database Technologies

Storage Technologies

Blockchain

Quantum Computing

Conclusion

Notes

image Appendix A: Database Survey

Aerospike

Cassandra

CouchBase

DynamoDB

HBase

MarkLogic

MongoDB

Neo4J

NuoDB

Oracle RDBMS

Redis

Riak

SAP HANA

TimesTen

Vertica

VoltDB

Index

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.117.99.152