« Back to blog

Cassandra Horizontal Scalability

Horizontal scalability boils down to the ability to add new hardware to a system without any interruption or downtime. An ideal horizontally scalable system does not require reconfiguration and supports incremental addition of hardware. Not many systems can pull off horizontal scalability without the need to reconfigure and rebooting. The Apache Cassandra distributed database is a system that effectively provides ideal horizontal scalability.

Cassandra is a distributed database composed of a cluster of nodes that load balance storage and request processing. With Cassandra you can add new nodes to the cluster without the need to restart the system. As your application grows and meets its throughput capacity, Cassandra allows gracefully adding commodity hardware and incrementally scaling on demand. New resources in the cluster are automatically detected and efficiently used.

Cassandra employs many sophisticated techniques described in Amazon's Dynamo's paper and Google's BigTable. Some of these techniques include consistent hashing, reconciliation of reads, anti-entropy, gossip based protocols and membership and failure detection. The following are some of the highlights of the Cassandra distributed database.

Cassandra is Fault Tolerant by replicating data across nodes in the cluster. Detecting and recovering from failed nodes with no interruption to service. Cassandra cluster can even replicate data across nodes in different data centers. There are no single points of failure in Cassandra; the system is decentralized with all nodes in the cluster providing equal responsibilities.

Cassandra can be configured and optimized for writes or reads with techniques like asynchronous replication, Read Repair and Hinted Handoff. Cassandra makes a great fit for applications that require durable data. A Cassandra cluster that replicates across nodes in multiple data centers can recover from a failed data center.

Lastly, Cassandra has a great community with some of the top engineers in the industry constantly improving and supporting Cassandra. Apache Cassandra is a great solution for systems that require horizontal scalability on a large scale.

Cassandra_logo