My attempt in summarizing my experiences with using Cassandra for real world problems is out.
Cassandra Design Patterns – http://www.packtpub.com/cassandra-design-patterns/book is a concise collection of real world Cassandra USAGE and DESIGN patterns.
One of the key decisions while writing the book was whether to use some design pattern template and I finally decided to use a traditional design pattern definition template on the lines of famous GoF design patterns. This approach seemed aligned to the definition of Software Design Patterns on Wikipedia – “In software engineering, a design pattern is a general reusable solution to a commonly occurring problem within a given context in software design.”
Hopefully, strict design TRADITIONALIST would forgive me for using this template in a new paradigm of covering Cassandra Usage, Applicability, Architecture, Data modeling and Applied Design patterns along with Design patterns.
The book starts with capturing details on how Cassandra is useful for solving POST-RDBMS era challenges using the well known 3V model in the big data world. The patterns are aptly modeled on the 3Vs – velocity, variety and volume and would be a good read for people from RDBMS world to identify if they should start looking beyond the boundaries of their RDBMS world. Interestingly, these patterns are solved by almost all popular NoSQL solutions and hence not limited only to Cassandra.
Next, Cassandra’s unique differentiators are modeled into patterns that tell us how Cassandra can solve some of the most challenging problems in the data base world today.
Real world business problems are seldom solved using a single technology stack and hence the next chapter in the book covers some usage and design patterns of combining Cassandra with some popular big data technologies like Hadoop, Solr/Elastic Search etc.
The subsequent chapters continue the journey with some known patterns and anti patterns that can be used to solve real world problems including some listed under additional interesting patterns that are based on some new upcoming features in Cassandra.
Hopefully this concise book will enable data architects, solution architects, Cassandra developers and experts alike as a helpful tool and a guide for using the power of Cassandra in the right way.
I do promise to keenly listen to community reviews/suggestions and continue improving on enhancing this list of Cassandra Use case/Design patterns.