Part I. Foundations of Data Systems
1.Reliable, Scalable, and Maintainable Applications
Thinking About Data Systems
Reliability
Hardware Faults
Software Errors
Human Errors
How Important Is Reliability?
Scalability
Describing Load
Describing Performance
Approaches for Coping with Load
Maintainability
Operability: Making Life Easy for Operations
Simplicity: Managing Complexity
Evolvability: Making Change Easy
Summary
2.Data Models and Query Languages
Relational Model Versus Document Model
The Birth of NoSQL
The Object-Relational Mismatch
Many-to-One and Many-to-Many Relationships
Are Document Databases Repeating History?
Relational Versus Document Databases Today
Query Languages for Data
Declarative Queries on the Web
Map Reduce Querying
Graph-Like Data Models
Property Graphs
The Cypher Query Language
Graph Queries in SQL
Triple-Stores and SPARQL
The Foundation: Datalog
Summary
3.Storage and Retrieval
Data Structures That Power Your Database
Hash Indexes
SSTables and LSM-Trees
B-Trees
Comparing B Trees and LSM-Trees
Other Indexing Structures
Transaction Processing or Analytics?
Data Warehousing
Stars and Snowflakes: Schemas for Analytics
Column-Oriented Storage
Column Compression
Sort Order in Column Storage
Writing to Column-Oriented Storage
Aggregation: Data Cubes and Materialized Views
Summary
……