NoSQLデータベースの「Cassandra」最新動向。Cassandra Summit 2012(後編)
代表的なNoSQLデータベースの1つ「Apache Cassandra」をテーマにしたイベント「Cassandra Summit 2012」が、8月8日にサンタクララで開催されました。
(本記事は「NoSQLデータベースの「Cassandra」最新動向。Cassandra Summit 2012(後編)」の続きです)
最新版Cassandra 1.1で追加された機能とは
Cassandraはどう進化してきたか。昨年1月の0.7が最初のモダンなバージョンだったというのが私の考えだ。0.8では分散カウンターを実装し、セルフチューニング要素を強めた。1.0は、1.0を宣言したこと、そして圧縮機能を備えるなどの前進があった。
そして現在のバージョンが4月にリリースしたCassandra 1.1だ。Self-tuning Row Cache、mixed SSD+HDD、Row-level isolationという3つの大きな機能を含む。
Self-tuning Row Cache
Row Cacheにセルフチューニングという拡張をした。通常のデータ読み込みは図の上に示したもので、必要なデータをそれぞれのテーブルの該当する部分から読み込み、それを組み合わせてクライアントに返す。
Row Cacheでは、キャッシュが値をマージして返す。マージされたバージョンがキャッシュに残るので効率がよくなる。
1.1以前は、テーブルを定義するときにどれだけRow Cacheを割り当てるかを決めていた。これはテーブルが多くなると効率的でなくなるため、1.1で改善した。
SSDとHDD混在環境のサポート
1.1では同一クラスタ内でのSSDとHDDの混在をサポートした。
例えば、ユーザーセッションのデータは頻繁に変更されるが、ユーザーアクティビティデータはデータの追加がほとんどであるとき、Cassandraのエンジンではこれを適切なメディア(変更が多いデータをSSD、追記中心のデータをHDD)に書き分けることができる。
Row Level Isolation
1.1でサポートしたRow Level Isolation。これまでは、複数のカラムのアップデートは、カラムごとにアップデートされていくため、ある瞬間に検索するとあるカラムは古く、あるカラムは新しいということが起きていた。
これを防止するためにロックを使うことが考えるが、それはパフォーマンスに影響があるため、1.1ではロックフリーでのコンカレンシーを実現した。
分散環境での一貫性保証
また、コンシステンシには参照整合性と分散システムでの一貫性がある。参照整合性はジョインにかかわるのでジョインのないCassandraには関係ないが、Cassandraでは分散システムでの一貫性を提供している。レプリカかどうかを気にすることなくつねに最新の値を得ることができる。
次のバージョンのCassandra 1.2は10月にリリース予定だ。
公開されているビデオとスライド
基調講演の内容はビデオとして公開されています。
スライドもPDFファイルとして公開されています。
Cassandra Summit 2012のそのほかの講演のビデオやスライドなどの資料も公開されています。
あわせて読みたい
VMwareが「Software-Defined Datacenter」の実現を約束。VMworld 2012
≪前の記事
NoSQLデータベースの「Cassandra」最新動向。Cassandra Summit 2012(前編)