はじめに

このドキュメントでは、CQL for Cassandra 2.1および2.0.xについて説明します。Cassandra 2.1ドキュメントCassandra 2.0ドキュメントは、このドキュメントを補完するもので、これらのドキュメントのいずれかを理解していることを前提にしています。

Cassandra 2.1の機能

Cassandra 2.1には、以下の新しいCQL機能が含まれています。
cqlshユーティリティーも、以下の点が改善されています。 DataStax Java Driver 2.0.0は、制限付きでCassandra 2.1をサポートします。このバージョンのドライバーは、新しい機能との互換性はありません。

Cassandra 2.0.xの機能

Cassandra 2.0.xの主な機能は以下のとおりです。
  • INSERTおよびUPDATE文でIFキーワードを使用する軽量トランザクション
  • テーブル、キースペース、またはインデックスが存在するかどうかの条件テストを実行することによるアプリケーション・エラーの防止。

    DROP KEYSPACEまたはCREATE TABLEのようなDROP文またはCREATE文にIF EXISTSまたはIF NOT EXISTSを含めるだけです。

  • データベース・クラスターの内側または外側で実行されるイベントを発行するトリガーの初期サポート。
  • 以前のリリースで除外されたALTER TABLE DROPコマンド。
  • SELECT文でのカラム別名。RDBMS SQLの別名に似ています。
  • パーティション・キー、クラスター化カラムを含め、複合プライマリ・キーの任意の部分に対するインデックス作成。

DataStaxドライバーはCassandra 2.0をサポートしています。

CQL for Cassandra 2.0では、スーパー・カラムが廃止されています。Cassandraでは引き続き、スーパー・カラムをクエリーするアプリをサポートしており、スーパー・カラムをその場でCQLコンストラクトと結果に読み替えます。

CQL Cassandra 2.0のcqlshコマンドには、以下のような変更があります。
  • ASSUMEコマンドは廃止されました。

    ASSUMEの代わりにblobAsTypeおよびtypeAsBlob変換関数を使用してください。

  • COPYコマンドは、コレクションに対してサポートされるようになりました。
Cassandra 2.0に含まれるCQLに、以下のCQLテーブル属性が追加されました。
  • default_time_to_live
  • memtable_flush_period_in_ms
  • populate_io_cache_on_flush
  • speculative_retry