Books & Videos

Table of Contents

  1. Chapter 1 Introducing Cassandra

    1. What’s Wrong with Relational Databases?

    2. A Quick Review of Relational Databases

    3. The Cassandra Elevator Pitch

    4. Where Did Cassandra Come From?

    5. Use Cases for Cassandra

    6. Who Is Using Cassandra?

    7. Summary

  2. Chapter 2 Installing Cassandra

    1. Installing the Binary

    2. Building from Source

    3. Running Cassandra

    4. Running the Command-Line Client Interface

    5. Basic CLI Commands

    6. Summary

  3. Chapter 3 The Cassandra Data Model

    1. The Relational Data Model

    2. A Simple Introduction

    3. Clusters

    4. Keyspaces

    5. Column Families

    6. Columns

    7. Super Columns

    8. Design Differences Between RDBMS and Cassandra

    9. Design Patterns

    10. Some Things to Keep in Mind

    11. Summary

  4. Chapter 4 Sample Application

    1. Data Design

    2. Hotel App RDBMS Design

    3. Hotel App Cassandra Design

    4. Hotel Application Code

    5. Twissandra

    6. Summary

  5. Chapter 5 The Cassandra Architecture

    1. System Keyspace

    2. Peer-to-Peer

    3. Gossip and Failure Detection

    4. Anti-Entropy and Read Repair

    5. Memtables, SSTables, and Commit Logs

    6. Hinted Handoff

    7. Compaction

    8. Bloom Filters

    9. Tombstones

    10. Staged Event-Driven Architecture (SEDA)

    11. Managers and Services

    12. Summary

  6. Chapter 6 Configuring Cassandra

    1. Keyspaces

    2. Replicas

    3. Replica Placement Strategies

    4. Replication Factor

    5. Partitioners

    6. Snitches

    7. Creating a Cluster

    8. Dynamic Ring Participation

    9. Security

    10. Miscellaneous Settings

    11. Additional Tools

    12. Summary

  7. Chapter 7 Reading and Writing Data

    1. Query Differences Between RDBMS and Cassandra

    2. Basic Write Properties

    3. Consistency Levels

    4. Basic Read Properties

    5. The API

    6. Setup and Inserting Data

    7. Using a Simple Get

    8. Seeding Some Values

    9. Slice Predicate

    10. Get Range Slices

    11. Multiget Slice

    12. Deleting

    13. Batch Mutates

    14. Programmatically Defining Keyspaces and Column Families

    15. Summary

  8. Chapter 8 Clients

    1. Basic Client API

    2. Thrift

    3. Avro

    4. A Bit of Git

    5. Connecting Client Nodes

    6. Cassandra Web Console

    7. Hector (Java)

    8. HectorSharp (C#)

    9. Chirper

    10. Chiton (Python)

    11. Pelops (Java)

    12. Kundera (Java ORM)

    13. Fauna (Ruby)

    14. Summary

  9. Chapter 9 Monitoring

    1. Logging

    2. Overview of JMX and MBeans

    3. Interacting with Cassandra via JMX

    4. Cassandra’s MBeans

    5. Custom Cassandra MBeans

    6. Runtime Analysis Tools

    7. Health Check

    8. Summary

  10. Chapter 10 Maintenance

    1. Getting Ring Information

    2. Getting Statistics

    3. Basic Maintenance

    4. Snapshots

    5. Load-Balancing the Cluster

    6. Decommissioning a Node

    7. Updating Nodes

    8. Summary

  11. Chapter 11 Performance Tuning

    1. Data Storage

    2. Reply Timeout

    3. Commit Logs

    4. Memtables

    5. Concurrency

    6. Caching

    7. Buffer Sizes

    8. Using the Python Stress Test

    9. Startup and JVM Settings

    10. Summary

  12. Chapter 12 Integrating Hadoop

    1. What Is Hadoop?

    2. Working with MapReduce

    3. Running the Word Count Example

    4. Tools Above MapReduce

    5. Cluster Configuration

    6. Use Cases

    7. Summary

  1. Appendix The Nonrelational Landscape

    1. Nonrelational Databases

    2. Object Databases

    3. XML Databases

    4. Document-Oriented Databases

    5. Graph Databases

    6. Key-Value Stores and Distributed Hashtables

    7. Columnar Databases

    8. Summary

  2. Glossary

  3. Colophon