Reasons for unbalanced Cassandra Cluster

Sometimes an Apache Cassandra cluster can end up in an unbalanced state. An unbalanced state is where data is unevenly distributed across a cluster or locally configured data directories. There are a number of reasons this can happen. In this blog post, I will cover two basics reasons this might happen.  A cluster can end up […]

Continue Reading

Understanding an Apache Cassandra Memtable Flush

A recent question in the Apache Cassandra mailing list triggered this blog post. The question revolved around events that trigger a memtable flush. Understanding the root cause of a memtable flush is essential to get a better understanding of Apache Cassandra.  Another question that frequently crops up is the size of an SSTable as a result of […]

Continue Reading

Cassandra Query Language (CQL) Tutorial

Apache Cassandra and the Cassandra Query Language (CQL) have evolved over the past couple of years. Key improvements include: Significant storage engine improvements Introduction of SSTable Attached Secondary Index i.e SASI Indexes Materialized views Simple role based authentication This post is an updated to “A Practical Introduction to Cassandra Query Language”. The tutorial will concentrate […]

Continue Reading

Apache Cassandra Data Modelling Principles

Designing an effective data model is imperative to scale any application. This is true both in the relational and non relational world. Data modelling in Apache Cassandra is no different than any relational database. It requires a good understanding of the target domain and usage patterns within the domain. A deep understanding of your target […]

Continue Reading

Debugging Transactional And Locking Issues in MySQL

Introduction Database transactions are a logical unit of work or a group of related changes executed against a database. Transactions enable us to execute reliable units of work against a database and recover in case of failures. Transactions are “all-or-nothing” i.e they enable us to either execute all changes within the logical group or have […]

Continue Reading

A Practical Introduction To Cassandra Query Language

  Cassandra Query Language (CQL) Tutorial is an updated version of this tutorial. It is applicable to Apache Cassandra version 3.x and above. Continue to use this tutorial if you are using Apache Cassandra version 2.x.x. Introduction In two earlier posts, An Introduction To Apache Cassandra and Apache Cassandra Architecture, I provided a theoretical overview of […]

Continue Reading
Cassandra Write Path Ring

Apache Cassandra Architecture

Introduction An Introduction To Apache Cassandra , introduced us to various types of NoSQL database and Apache Cassandra. In this article I am going to delve into Cassandra’s Architecture. Cassandra is a peer-to-peer distributed database that runs on a cluster of homogeneous nodes. Cassandra has been architected from the ground up to handle large volumes of data while providing […]

Continue Reading

Five Ways of Installing Apache Cassandra for Development Purposes

The best way learn about Apache Cassandra is to install and play with it. We will cover five ways to install Apache Cassandra for development purposes. The five ways covered are : Installing a single node Apache Cassandra on your development machine. Installing a multi node Apache Cassandra cluster on your development machine. Running Apache Cassandra in Eclipse Installing a multi node […]

Continue Reading
Horizontal vs Vertical Scaling

An Introduction To NoSQL & Apache Cassandra

Introduction For over thirty years Relations Database Management Systems (RDBMS) has been the de facto choice for an applications data storage needs. In the recent years RDBMS domination over the storage space has been challenged due to need to store huge amounts of structured, semi structured and unstructured data.  The recent explosion in data, both […]

Continue Reading