Book Image

Learning Cassandra for Administrators

By : Vijay Parthasarathy
Book Image

Learning Cassandra for Administrators

By: Vijay Parthasarathy

Overview of this book

<p>Apache Cassandra is a massively scalable open source NoSQL database. Cassandra is perfect for managing large amounts of structured, semi-structured, and unstructured data across multiple data centers and the cloud. Cassandra delivers linear scalability and performance across many commodity servers with no single point of failure.<br /><br />This book starts by explaining how to derive the solution, basic concepts, and CAP theorem. You will learn how to install and configure a Cassandra cluster as well as tune the cluster for performance. After reading the book, you should be able to understand why the system works in a particular way, and you will also be able to find patterns (and/or use cases) and anti-patterns which would potentially cause performance degradation. Furthermore, the book explains how to configure Hadoop, vnodes, multi-DC clusters, enabling trace, enabling various security features, and querying data from Cassandra.<br /><br />Starting with explaining about the trade-offs, we gradually learn about setting up and configuring high performance clusters. This book will help the administrators understand the system better by understanding various components in Cassandra’s architecture and hence be more productive in operating the cluster. This book talks about the use cases and problems, anti-patterns, and potential practical solutions as opposed to raw techniques. You will learn about kernel and JVM tuning parameters that can be adjusted to get the maximum use out of system resources.<br /><br /><br /></p>
Table of Contents (14 chapters)

Chapter 5. Performance Tuning

Cassandra's performance can be affected by any of the following:

  • I/O contention between reads and writes (pending compactions)

  • Frequent GC pauses

  • Disk failures

  • Network misbehaviors

  • Threads and CPU contention

I would like to emphasize that a dead node in production is better than a slow node, and it is increasingly hard to identify a slow node that is to be replaced. This chapter will try to explain the tools and methods that can be implemented to identify the performance bottlenecks and take action on them or to tune your cluster for them.

In the past few releases, Cassandra has taken a lot of steps to simplify troubleshooting performance problems as well as improve the tooling around it. The Cassandra community has increasingly added features and improvements that can allow mixed workloads without any problems. Performance tuning depends on the types of operations your cluster performs most frequently and the type of queries performed on the data. I would like to...