Books & Videos

Table of Contents

  1. Foundations of Data Systems

    1. Chapter 1 Reliable, Scalable, and Maintainable Applications

      1. Thinking About Data Systems
      2. Reliability
      3. Scalability
      4. Maintainability
      5. Summary
    2. Chapter 2 Data Models and Query Languages

      1. Relational Model Versus Document Model
      2. Query Languages for Data
      3. Graph-Like Data Models
      4. Summary
    3. Chapter 3 Storage and Retrieval

      1. Data Structures That Power Your Database
      2. Transaction Processing or Analytics?
      3. Column-Oriented Storage
      4. Summary
    4. Chapter 4 Encoding and Evolution

      1. Formats for Encoding Data
      2. Modes of Dataflow
      3. Summary
  2. Distributed Data

    1. Chapter 5 Replication

      1. Leaders and Followers
      2. Problems with Replication Lag
      3. Multi-Leader Replication
      4. Leaderless Replication
      5. Summary
    2. Chapter 6 Partitioning

      1. Partitioning and Replication
      2. Partitioning of Key-Value Data
      3. Partitioning and Secondary Indexes
      4. Rebalancing Partitions
      5. Request Routing
      6. Summary
    3. Chapter 7 Transactions

      1. The Slippery Concept of a Transaction
      2. Weak Isolation Levels
      3. Serializability
      4. Summary
    4. Chapter 8 The Trouble with Distributed Systems

      1. Faults and Partial Failures
      2. Unreliable Networks
      3. Unreliable Clocks
      4. Knowledge, Truth, and Lies
      5. Summary
    5. Chapter 9 Consistency and Consensus

      1. Consistency Guarantees
      2. Linearizability
      3. Ordering Guarantees
      4. Distributed Transactions and Consensus
      5. Summary
  3. Derived Data

    1. Chapter 10 Batch Processing

      1. Batch Processing with Unix Tools
      2. MapReduce and Distributed Filesystems
      3. Beyond MapReduce
      4. Summary
    2. Chapter 11 Stream Processing

      1. Transmitting Event Streams
      2. Databases and Streams
      3. Processing Streams
      4. Summary
    3. Chapter 12 The Future of Data Systems

      1. Data Integration
      2. Unbundling Databases
      3. Aiming for Correctness
      4. Doing the Right Thing
      5. Summary