You are previewing Cassandra Design Patterns.
O'Reilly logo
Cassandra Design Patterns

Book Description

This book is a fantastic guide to the ins and outs of the Cassandra database solution and how to apply the right design patterns in real-world situations. An essential tutorial for architects and developers.

In Detail

Cassandra is a powerful data store solution in the open source NoSQL world. The ability to use its vast capabilities correctly is the need of the hour as more developers start using this powerful tool. Hence, it becomes important to be able to understand how and where to apply Cassandra correctly.

This practical guide will help you understand the strengths and weaknesses of Cassandra and teach you to how to identify business and technical use cases that Cassandra solves.You will also learn how to solve real world business problems and enable you to use Cassandra in the best possible way.

Starting with the origins of Cassandra, this book will delve into how Cassandra solves the traditional big data’s volume, variety and velocity problems. You will then discover use cases and design patterns that every architect and developer faces when designing new solutions, and understand how to use Cassandra to solve these challenges,as well as how to avoid common mistakes and using Cassandra incorrectly.

The book uses design strategies and code samples in order to help you understand the nuances of the use case and design patterns. Finally, after learning about the design patterns to be used in Cassandra, you will develop an understanding of how Cassandra can be used in conjunction with other leading solutions to solve complex real world problems.

What You Will Learn

  • Understand the key capabilities of Cassandra
  • Identify various business and technical use cases
  • Gain a deeper understanding of Cassandra's strengths and weaknesses
  • Design complex big data applications using Cassandra
  • Use Cassandra along with other leading solutions to design complex software to solve real world business problems
  • Start using Cassandra to solve problems that are difficult or impossible to solve in the traditional RDBMS world
  • Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

    Table of Contents

    1. Cassandra Design Patterns
      1. Table of Contents
      2. Cassandra Design Patterns
      3. Credits
      4. About the Author
      5. About the Reviewers
      6. www.PacktPub.com
        1. Support files, eBooks, discount offers and more
          1. Why Subscribe?
          2. Free Access for Packt account holders
      7. Preface
        1. What this book covers
        2. What you need for this book
        3. Who this book is for
        4. Conventions
        5. Reader feedback
        6. Customer support
          1. Errata
          2. Piracy
          3. Questions
      8. 1. An Overview of Architecture and Data Modeling in Cassandra
        1. Understanding the background of Cassandra's architecture
          1. Amazon Dynamo
          2. Google BigTable
        2. Understanding the background of Cassandra modeling
        3. An overview of architecture and modeling
        4. A summary of the features in Cassandra
        5. Summary
      9. 2. An Overview of Case and Design Patterns
        1. Understanding the 3V Model
          1. High availability
          2. Columns on the fly!
          3. Count and count!
          4. Streaming analytics!
          5. Needle in a haystack!
          6. Graph problems!
          7. Analytics
          8. Blob store
          9. Design patterns
        2. Summary
      10. 3. 3V Patterns
        1. Pattern name – Web scale store
          1. Problem/Intent
          2. Context/Applicability
          3. Forces/Motivations
          4. Solution
            1. Consequences
        2. Pattern name – Ultra fast data sink
          1. Problem/Intent
          2. Context/Applicability
          3. Forces/Motivations
          4. Solution
            1. Consequences
          5. Related patterns
        3. Pattern name – Flexi schema
          1. Problem/Intent
          2. Context/Applicability
          3. Forces/Motivations
          4. Solution
            1. Consequences
          5. Related patterns
        4. Summary
      11. 4. Core Cassandra Patterns
        1. Pattern name – Highly available store
          1. Problem/Intent
          2. Context/Applicability
          3. Forces/Motivations
          4. Solution
            1. Example
        2. Pattern name – Time series analytics
          1. Problem/Intent
          2. Context/Applicability
          3. Forces/Motivations
          4. Solution
            1. Example
        3. Pattern name – Atomic distributed counter service
          1. Problem/Intent
          2. Context/Applicability
          3. Forces/Motivations
          4. Solution
            1. Example
        4. Summary
      12. 5. Search and Analytics Applied Use Case Patterns
        1. Pattern name – Streaming/CEP analytics
          1. Problem/Intent
          2. Context/Applicability
          3. Forces/Motivations
          4. Solution
        2. Pattern name – Needle in a haystack/search engine
          1. Problem/Intent
          2. Context/Applicability
          3. Forces/Motivations
          4. Solution
        3. Pattern name – Graph problems
          1. Problem/Intent
          2. Context/Applicability
          3. Forces/Motivations
          4. Solution
        4. Pattern name – Advanced analytics
          1. Problem/Intent
          2. Context/Applicability
          3. Forces/Motivations
          4. Solution
        5. Summary
      13. 6. Patterns and Anti-patterns
        1. Pattern name – Content/Document store
          1. Problem/Intent
          2. Context/Applicability
          3. Forces/Motivations
          4. Solution
          5. Example
          6. Caution
        2. Pattern name – Object/Entity store
          1. Problem/Intent
          2. Context/Applicability
          3. Forces/Motivations
          4. Solution
          5. Caution
        3. Pattern name – CAP the ACID
          1. Problem/Intent
          2. Context/Applicability
          3. Forces/Motivations
          4. Solution
          5. Caution
        4. Pattern name – Materialized view
          1. Problem/Intent
          2. Context/Applicability
          3. Forces/Motivations
          4. Solution
          5. Caution
        5. Pattern name – Composite key
          1. Problem/Intent
          2. Context/Applicability
          3. Forces/Motivations
          4. Solution
        6. Additional interesting patterns
        7. Anti-pattern name – Messaging queue
          1. Problem/Intent
          2. Context/Applicability
          3. Liability/Issue
        8. Patterns and anti-patterns – Cassandra infrastructure/deployment problems
        9. Summary
      14. Index