Cassandra 1.2が先日リリースされた。仮想ノードやアトミックバッチのサポート,パフォーマンス向上など,いくつかの改良が加えられている。
新機能には次のようなものがある。
- アトミックバッチ – コーディネータがバッチの中途でフェールした場合においても,トランザクションの整合性を確保する。
- 仮想ノード – クラスタ環境における制御性を向上する。既存のノードを仮想ノードにアップグレードすることも可能だ。
- CQL3 – 新たなネイティブ・バイナリ・プロトコルやコレクション型,システムキースペースなど,いくつか点で改良されている。
- JSONに代えてバイナリフォーマットを採用することにより,シリアライゼーションを高速化。
- 要求トレース機能。
- いくつかの面でのパフォーマンス向上。
- 起動の高速化。
- ノードやディスク障害時の挙動を指定可能なポリシ選択機能。
- コンカレント・スキーマ – 複数のユーザによる,テーブルの生成やドロップなどの変更操作。
CQLはJOINをサポートしていないので,モデルを自然な形で簡略化する上でコレクション型は特に有用な機能だ。またアトミックバッチによって,再試行の処理や冪等(べきとう)的な書き込み処理に関するプログラミングが不要になる。ただしこれには30%程度のオーバーヘットを伴うので,パフォーマンスの方が重要な場合はオフにすることもできる。
ディスクスペースの上限を500GBとするように推奨していたバージョン1.0に対して,Cassandra 1.2は各ノードで数テラバイトのデータを処理できるように設計されている。
CassandraはJavaで記述された,オープンソースの列指向(Columnar),分散型NoSQLデータベースだ。もともとはFacebookがインボックス検索用に開発したものだが,2009年にApacheプロジェクトのひとつになった。Cassandraに関する情報はInfoQの記事や,あるいは改訂版の公式資料で読むことができる。