Book Image

Cassandra Design Patterns - Second Edition

By : Rajanarayanan Thottuvaikkatumana
Book Image

Cassandra Design Patterns - Second Edition

By: Rajanarayanan Thottuvaikkatumana

Overview of this book

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.
Table of Contents (15 chapters)

Chapter 7. Designing Applications

 

"Knowing is not enough; we must apply. Willing is not enough; we must do."

 
 --Johann Wolfgang von Goethe

Learn, assimilate, and apply—it is a continual cyclic process, and this is the mantra. Coming up with design patterns is important but, finding good uses for them is the key. All the previous chapters discussed various design patterns that are very specifically applicable to Cassandra as a NoSQL data store. Applying these design patterns in the right contexts or to the right use cases is very important, and this is going to be the focus of this chapter. In the case of RDBMS, the data modeling has a very strong theoretical support from academia. Moreover, one data model designed for one RDBMS can be easily reused for another RDBMS without any fundamental changes. But in the case of NoSQL data stores, it is different. Each and every NoSQL data store has its own unique way of data modeling. The data modeling techniques in Cassandra are unique to Cassandra...