概要 †
特徴 †
- CAP定理のうちAP(可用性:Availabilityと分割耐性:Partition Tolerance)を重視
- 一貫性と遅延のトレードオフを調整可能
- Eventual Consistency
- 単一障害点(SPOF)がない
データ構造 †
- 一般的なKVSは1個のkeyに対して1個のvalueを紐付けて管理するが、Cassandraはkeyの部分を階層化して管理することが可能
- Cassandraのkeyは「キースペース」「カラムファミリー」「キー」「カラム」の4階層で構成
- 「キー」と「カラム」の間に「スーパーカラム」と呼ぶkeyを挿入して、最大5階層で管理することも可能
- RDBのデータベースはCassandraのキースペースに、テーブルはカラムファミリー、主キーはキー、フィールドはカラムに相当
SEDA †
事例 †
Twitter †
国内 †
大学の研究 †
バージョン †
パフォーマンス †
関連製品・プロジェクト †
- ログ収集にFlumeを使用
- ログDBにCassandraを使用
MyCassandra? †
環境構築 †
サーバ †
- CassandraHardware
- CPU:8coreあれば十分
- メモリ:16GB〜
- HDD
- CommitLogDirectory?, DataFileDirectories? 用にそれぞれディスクがあると良い
開発 †
- 高レベルのクライアント
- Cassandraアプリケーションを開発する場合は、直接Thrift APIを直接使用するより、クライアントインターフェースを使用することを推奨
ツール †
cassandra-cli †
sstable2json/json2sstable †
動作検証 †
|