Cassandra Design Patterns - Second Edition
eBook - ePub

Cassandra Design Patterns - Second Edition

  1. 168 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Cassandra Design Patterns - Second Edition

Book details
Book preview
Table of contents
Citations

About This Book

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 For

This 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 Detail

There 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 approach

This 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.

Frequently asked questions

Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes, you can access Cassandra Design Patterns - Second Edition by Rajanarayanan Thottuvaikkatumana in PDF and/or ePUB format, as well as other popular books in Computer Science & Databases. We have over one million books available in our catalogue for you to explore.

Information

Year
2015
ISBN
9781785285707
Edition
2

Cassandra Design Patterns Second Edition


Table of Contents

Cassandra Design Patterns Second Edition
Credits
About the Author
Acknowledgements
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why subscribe?
Free access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Co-existence Patterns
A brief overview of Cassandra
Denormalization pattern
Motivations/solutions
Best practices
Example
Reporting pattern
Motivations/solutions
Best practices
Example
Aggregation pattern
Motivations/solutions
Best practices
Example
References
Summary
2. RDBMS Migration Patterns
A brief overview
List pattern
Motivations/solutions
Best practices
Example
Set pattern
Motivations/solutions
Best practices
Example
Map pattern
Motivations/solutions
Best practices
Example
Distributed Counter pattern
Motivations/solutions
Best practices
Example
Purge pattern
Motivations/solutions
Best practices
Example
References
Summary
3. Cache Migration Patterns
A brief overview
Cache to NoSQL pattern
Motivations/solutions
Best practices
Example
References
Summary
4. CAP Patterns
A brief overview
Write-heavy pattern
Motivations/solutions
Best practices
Example
Read-heavy pattern
Motivations/solutions
Best practices
Example
Read-write balanced pattern
Motivations/solutions
Best practices
Example
References
Summary
5. Temporal Patterns
A brief overview
Time series pattern
Motivations/solutions
Best practices
Example
Log pattern
Motivations/solutions
Best practices
Example
Conversation pattern
Motivations/solutions
Best practices
Example
References
Summary
6. Analytics Patterns
Processing big data
Apache Hadoop
Apache Spark
Transforming data
A brief overview
Map/Reduce pattern
Motivations/solutions
Best practices
Example
Transformation pattern
Motivations/solutions
Best practices
Example
References
Summary
7. Designing Applications
A brief overview
Application design and use cases
Service management and use cases
References
Summary
Index

Cassandra Design Patterns Second Edition

Copyright © 2015 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: January 2014
Second edition: October 2015
Production reference: 1261015
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78528-570-7
www.packtpub.com
This book is an update to Cassandra Design Patterns by Sanjay Sharma.

Credits

Author
Rajanarayanan Thottuvaikkatumana
Reviewers
William Berg
Mark Kerzner
Alex Shvid
Commissioning Editor
Priya Singh
Acquisition Editor
Tushar Gupta
Content Development Editor
Samantha Gonsalves
Technical Editor
Anushree Arun Tendulkar
Copy Editor
Vatsal Surti
Project Coordinator
Kinjal Bari
Proofreader
Safis Editing
Indexer
Tejal Daruwale Soni
Production Coordinator
Aparna Bhagat
Cover Work
Aparna Bhagat

About the Author

Rajanarayanan Thottuvaikkatumana, "Raj", is a seasoned technologist with more than 23 years of software development experience at various multinational companies. He has lived and worked in India, Singapore, and the USA, and is presently based out of the UK. His experience includes architecting, designing, and developing software applications. He has worked on various technologies including major databases, application development platforms, web technologies, and big data technologies. Since 2000 onwards, he has been working mainly in Java-based technologies, and has been doing heavy-duty server-side programming in Java and Scala. He has worked on very highly concurrent, highly distributed, and high-transaction-volume systems with NoSQL data stores such as Cassandra and Riak and caching technologies such as Redis, Ehcache, and Chronicle Map. Raj has a lot of experience in integrating Cassandra with Spark and has shared the Scala code repository on GitHub.
Raj holds one master's degree in Mathematics and one master's degree in Computer Information Systems, and has many certifications in ITIL and Cloud Computing to his credit.
Apart from all this, Raj is a prolific corporate trainer on various technical subjects and has contributed to the Apache Cassandra project.
When not working with computers, Raj watches a lot of tennis and he is an avid listener of classical music.
Even though Raj has worked on many white papers and training materials, this is his first publication in the form of a book.

Acknowledgements

I would like to thank my father for showing me that there is no age barrier for embarking upon something totally new. I would like to thank my mother for showing me that relentless work will be fruitful one day. I would like to thank my wife for showing me that working towards perfection culminates in something beyond comparison. I would like to thank my teachers who have helped me to see learning as a continuous process. I would like to thank my geeky friends who collectively have solutions for almost any technical problem. Last but not the least, I would like to thank my present employer for gracefully giving me official permission to work on this project.

About the Reviewers

William Berg has been engineering software for the last several years, and has worked with Cassandra all that time. He works mainly with Java. He has also reviewed Cassandra Design Patterns, another Packt Publishing title. He also plays the bass guitar and produces electronic music.
Mark Kerzner holds degrees in law, math, and computer science. He is a software architect and has been working with Big Data for the last 7 years. He is a cofounder of Elephant Scale, a Big Data training and implementation company, and is the author of FreeEed, an open-source platform for eDiscovery based on Apache Hadoop. He has many authored books and patents to his credit. He loves learning languages, and is currently perfecting his Hebrew and Chinese.
Alex Shvid is a Data Grid architect with more than 10 years of software experience in Fortune 500 companies with the focus on financial institutions. He has worked in the USA, Argentina, and Russia and has many architect and developer certifications, including those from Pivotal/Spring Source and Oracle. He is a regular speaker at user groups and conferences around the world such as the Java One and Cassandra meet ups. Alex works for PayPal in Silicon Valley, developing low-latency big data real-time solutions. His major specialization is in big data and fast data framework adoption for enterprise environments. He has participated in an open-source project Spring Data Cassandra module and developed a Dell Crowbar automation barclamp for Cassandra. Among his recent projects in Fast data are: integration of Gemfire from Pivotal as an event processing middleware solution and caching system for Gire (Buenos Aires, Argentina), Visa (Foster City, CA, USA), VMWare (Palo Alto, CA, USA) as well as the Coherence from Oracle for Analog (Boston, MA, USA), RCI (Parsippany, NJ, USA), and a custom data grid solution for Deutsche Bank (New York, NY, USA). When he is not working, Alex can usually be found hiking with his wife along the Coastal Trail in the San Francisco Bay Area

www.PacktPub.com

Support files, eBooks, discount offers, and more

For support files and downloads related to your book, please visit www.PacktPub.com.
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at for more details.
At www.PacktPub.com, you can also read a collection of free technical articles, sign up f...

Table of contents

  1. Cassandra Design Patterns Second Edition