What this book covers
Chapter 1, Getting Up and Running with Cassandra, introduces the major reasons to choose Cassandra over a traditional relational or document database. It then provides step-by-step instructions on installing Cassandra, creating a keyspace, and interacting with the database using the CQL language and cqlsh tool.
Chapter 2, The First Table, is a walk-through of creating a table, inserting data, and retrieving rows by primary key. Along the way, it discusses how Cassandra tables are structured, and provides a tour of the Cassandra type system.
Chapter 3, Organizing Related Data, introduces more complex table structures that group related data together using compound primary keys.
Chapter 4, Beyond Key-Value Lookup, puts the more robust schema developed in the previous chapter to use, explaining how to query for sorted ranges of rows.
Chapter 5, Establishing Relationships, develops table structures for modeling relationships between rows. The chapter introduces static columns and row deletion.
Chapter 6, Denormalizing Data for Maximum Performance, explains when and why storing multiple copies of the same data can make your application more efficient.
Chapter 7, Expanding Your Data Model, demonstrates the use of lightweight transactions to ensure data integrity. It also introduces schema alteration, row updates, and single-column deletion.
Chapter 8, Collections, Tuples, and User-defined Types, introduces collection columns and explores Cassandra's support for advanced, atomic collection manipulation. It also introduces tuples and user-defined types.
Chapter 9, Aggregating Time-Series Data, covers the common use case of collecting high-volume time-series data and introduces counter columns.
Chapter 10, How Cassandra Distributes Data, explores what happens when you save a row to Cassandra. It considers eventual consistency and teaches you how to use tunable consistency to get the right balance between consistency and fault-tolerance.
Appendix A, Peeking Under the Hood, peels away the abstractions provided by CQL to reveal how Cassandra represents data at the lower column family level.
Appendix B, Authentication and Authorization, introduces ways to control access to your Cassandra cluster and specific data structures within it.