3. Cassandra Overview¶
In this chapter overview and basic knowledge about Apache Cassandra are introduced.
3.1. About Apache Cassandra¶
It is an open-source database management system in Key-Value format, which was developed by Facebook Corporation.It was originally used in the user message search function of Facebook, and then donated to Apache Software Foundation in March, 2009.It was upgraded to the Apache top-level project in February, 2010.
3.2. Cassandra Characteristics¶
Since Cassandra puts priority on AP (Availability and Partition Tolerance) in Brewers CAP Theorem,it has the following characteristics.
- High Performance
- High Scalability in Distributed Form
- Architecture without Single Point of Failure (SPOF)
- High Availability
3.3. Assuring Cassandra Consistency¶
In this way “Consistency” of Brewers CAP Theorem is sacrificed while availability is emphasized.However, it is possible to set the level of consistency as a tradeoff with delay. Levels that can be set by Cassandra are as follows:
- Zero (no guarantee for consistency)
- One (consistency is guaranteed for only one)
- Quorum (consistency for as many as (number of nodes+1)/2 is guaranteed)
- ALL (consistency is guaranteed for all nodes)
On IMBox, the level Quorum is adopted.
Note
Brewers CAP Theorem
This theorem states that it is not possible to satisfy all the 3 items below at the same time in the data replication in distributed computing system.
- Consistency
From all the nodes same data should be seen at the same time.
- Availability
Failure in some node should not affect the function of other nodes.
- Partition Tolerance
Operations can continue despite the message losses caused by communication failures such as network failures.RDB in general is of a CA type, which satisfies Consistency and Availability.