Apache Cassandra is a massively scalable, peer-to-peer database designed for 100 percent uptime, with deployments in the tens of thousands of nodes supporting petabytes of data. This book offers readers a practical insight into building highly available, real-world applications using Apache Cassandra.
The book starts with the fundamentals, helping you to understand how the architecture of Apache Cassandra allows it to achieve 100 percent uptime when other systems struggle to do so. You'll have an excellent understanding of data distribution, replication, and Cassandra's highly tunable consistency model. This is followed by an in-depth look at Cassandra's robust support for multiple data centers, and how to scale out a cluster. Next, the book explores the domain of application design, with chapters discussing the native driver and data modeling. Lastly, you'll find out how to steer clear of common antipatterns and take advantage of Cassandra's ability to fail gracefully.
What you will learn:
The book starts with the fundamentals, helping you to understand how the architecture of Apache Cassandra allows it to achieve 100 percent uptime when other systems struggle to do so. You'll have an excellent understanding of data distribution, replication, and Cassandra's highly tunable consistency model. This is followed by an in-depth look at Cassandra's robust support for multiple data centers, and how to scale out a cluster. Next, the book explores the domain of application design, with chapters discussing the native driver and data modeling. Lastly, you'll find out how to steer clear of common antipatterns and take advantage of Cassandra's ability to fail gracefully.
What you will learn:
- Understand how the core architecture of
Cassandra enables highly available applications - Use replication and tunable consistency levels
to balance consistency, availability, and performance - Set up multiple data centers to enable failover,
load balancing, and geographic distribution - Add capacity to your cluster with zero down time
- Take advantage of high availability features in
the native driver - Create data models that scale well and maximize
availability - Understand common anti-patterns so you can avoid
them - Keep your system working well even during
failure scenarios