Build real-world, industry-strength data storage solutions with time-tested design methodologies using Cassandra
About This Book
Explore design patterns which co-exist with legacy data stores, migration from RDBMS, and caching technologies with Cassandra
Learn about design patterns and use Cassandra to provide consistency, availability, and partition tolerance guarantees for applications
Handle temporal data for analytical purposes
Who This Book Is ForThis book is intended for big data developers who are familiar with the basics of Cassandra and wish to understand and utilize Cassandra design patterns to develop real-world big data solutions. Prior knowledge of RDBMS solutions is assumed.
What You Will Learn
Enable Cassandra to co-exist with RDBMS and other legacy data stores
Explore various design patterns to build effective and robust storage solutions
Migrate from RDBMS-based data stores and caching solutions to Cassandra
Understand the behaviour of Cassandra when trying to balance the needs of consistency, availability, and partition tolerance
Deal with time stamps related to data effectively
See how Cassandra can be used in analytical use cases
Apply the design patterns covered in this book in real-world use cases
In DetailThere are many NoSQL data stores used by big data applications. Cassandra is one of the most widely used NoSQL data stores that is frequently used by a huge number of heavy duty Internet-scale applications. Unlike the RDBMS world, the NoSQL landscape is very diverse and there is no one way to model data stores. This mandates the need to have good solutions to commonly seen data store design problems. Cassandra addresses such common problems simply.
If you are new to Cassandra but well-versed in RDBMS modeling and design, then it is natural to model data in the same way in Cassandra, resulting in poorly performing applications and losing the real purpose of Cassandra. If you want to learn to make the most of Cassandra, this book is for you.
This book starts with strategies to integrate Cassandra with other legacy data stores and progresses to the ways in which a migration from RDBMS to Cassandra can be accomplished. The journey continues with ideas to migrate data from cache solutions to Cassandra. With this, the stage is set and the book moves on to some of the most commonly seen problems in applications when dealing with consistency, availability, and partition tolerance guarantees.
Cassandra is exceptionally good at dealing with temporal data and patterns such as the time-series pattern and log pattern, which are covered next. Many NoSQL data stores fail miserably when a huge amount of data is read for analytical purposes, but Cassandra is different in this regard. Keeping analytical needs in mind, you'll walk through different and interesting design patterns.
No theoretical discussions are complete without a good set of use cases to which the knowledge gained can be applied, so the book concludes with a set of use cases you can apply the patterns you've learned.
Style and approachThis book is written in very simple language and an engaging style complete with examples in every chapter and real-world use cases at the end of the book.