3. Cassandra の概要¶
ここでは Apache Cassandra の概要や、基本的な知識を紹介します。
3.1. Apache Cassandra とは¶
Facebook社が開発したオープンソースのKey-Value形式でのデータベース管理システムです。Facebook内でのユーザメッセージの検索機能で利用され、その後、2009年3月にApache Software Foundationに寄贈され、2010年2月にApacheトップレベルプロジェクトに昇格しました。
3.2. Cassandra の特徴¶
Cassandra は、ブリュワーのCAP定理のうち、AP(可用性:Availability とネットワーク分断耐性:Partition Tolerance)を重視しているため、以下のような特徴を備えています。
- 高いパフォーマンス
- 分散型で伸縮自在なスケーラビリティ
- 単一故障点(SPOF)がないアーキテクチャ
- 高可用性
3.3. Cassandra の一貫性保証¶
このように、可用性を高めるかわりに、ブリューワのCAP定理での一貫性:Consistencyを犠牲にしてます。しかし、遅延とのトレードオフで一貫性のレベル設定することが可能で、Cassandra で設定できるレベルは、
- Zero(一貫性の保証なし)
- One(1つのみの一貫性を保証)
- Quorum((ノード数+1)/2の数分の一貫性を保証)
- ALL(全ノード数分の一貫性を保証)
があり、IMBoxでは、Quorum を採用しています。