Practical Cassandra: A Developer’s Approach

Book description

Build and Deploy Massively Scalable, Super-fast Data Management Applications with Apache Cassandra

Practical Cassandra is the first hands-on developer’s guide to building Cassandra systems and applications that deliver breakthrough speed, scalability, reliability, and performance. Fully up to date, it reflects the latest versions of Cassandra–including Cassandra Query Language (CQL), which dramatically lowers the learning curve for Cassandra developers.

Pioneering Cassandra developers and Datastax MVPs Russell Bradberry and Eric Lubow walk you through every step of building a real production application that can store enormous amounts of structured, semi-structured, and unstructured data. Drawing on their exceptional expertise, Bradberry and Lubow share practical insights into issues ranging from querying to deployment, management, maintenance, monitoring, and troubleshooting.

The authors cover key issues, from architecture to migration, and guide you through crucial decisions about configuration and data modeling. They provide tested sample code, detailed explanations of how Cassandra works ”under the covers,” and new case studies from three cutting-edge users: Ooyala, Hailo, and eBay.

Coverage includes

  • Understanding Cassandra’s approach, architecture, key concepts, and primary use cases– and why it’s so blazingly fast

  • Getting Cassandra up and running on single nodes and large clusters

  • Applying the new design patterns, philosophies, and features that make Cassandra such a powerful data store

  • Leveraging CQL to simplify your transition from SQL-based RDBMSes

  • Deploying and provisioning through the cloud or on bare-metal hardware

  • Choosing the right configuration options for each type of workload

  • Tweaking Cassandra to get maximum performance from your hardware, OS, and JVM

  • Mastering Cassandra’s essential tools for maintenance and monitoring

  • Efficiently solving the most common problems with Cassandra deployment, operation, and application development

  • Table of contents

    1. About This eBook
    2. Title Page
    3. Copyright Page
    4. Dedication Page
    5. Contents
    6. Foreword by Jonathon Ellis
    7. Foreword by Paul Dix
    8. Preface
      1. What’s in This Book?
      2. Code Samples
    9. Acknowledgments
    10. About the Authors
    11. 1. Introduction to Cassandra
      1. A Greek Story
      2. What Is NoSQL?
      3. There’s No Such Thing as “Web Scale”
      4. ACID, CAP, and BASE
      5. Where Cassandra Fits In
      6. What Is Cassandra?
      7. Cassandra Terminology
      8. Our Hope
    12. 2. Installation
      1. Prerequisites
      2. Installation
      3. Configuration
      4. Cluster Setup
      5. Summary
    13. 3. Data Modeling
      1. The Cassandra Data Model
      2. Model Queries—Not Data
      3. Collections
      4. Summary
    14. 4. CQL
      1. A Familiar Way of Doing Things
      2. Summary
    15. 5. Deployment and Provisioning
      1. Keyspace Creation
      2. Replication Strategies
      3. Snitches
      4. Partitioners
      5. Node Layout
      6. Firewalls
      7. Platforms
      8. Summary
    16. 6. Performance Tuning
      1. Methodology
      2. Tuning
      3. System Tuning
      4. Solid-State Drives
      5. JVM Tuning
      6. Summary
    17. 7. Maintenance
      1. Understanding nodetool
      2. Ring Information
      3. ColumnFamily Statistics
      4. Thread Pool Statistics
      5. upgradesstables and scrub
      6. Compactions
      7. Backup and Restore
      8. CommitLog Archiving
      9. Summary
    18. 8. Monitoring
      1. Logging
      2. JMX and MBeans
      3. Health Checks
      4. Summary
    19. 9. Drivers and Sample Code
      1. Java
      2. C#
      3. Python
      4. Ruby
      5. Summary
    20. 10. Troubleshooting
      1. Toolkit
      2. Common Problems
      3. Summary
    21. 11. Architecture
      1. Meta Keyspaces
      2. Gossip Protocol
      3. Failure Detection
      4. HintedHandoffs
      5. Bloom Filters
      6. Summary
    22. 12. Case Studies
      1. Ooyala
      2. Hailo
      3. eBay
      4. Summary
    23. Appendix A. Getting Help
      1. Preparing Information
      2. IRC
      3. Mailing Lists
    24. Appendix B. Enterprise Cassandra
      1. DataStax
      2. Acunu
      3. Titan by Aurelius
      4. Pentaho
      5. Instaclustr
    25. Index

    Product information

    • Title: Practical Cassandra: A Developer’s Approach
    • Author(s): Russell Bradberry, Eric Lubow
    • Release date: December 2013
    • Publisher(s): Addison-Wesley Professional
    • ISBN: 9780133440195