キースペースについて

テーブル、マテリアライズド・ビューと、ユーザー定義の型、関数、集計を含み、データ・レプリケーション係数を制御する最上位のデータベース・オブジェクト。

キースペースは、クラスター内の各データ・センターでそのキースペースに含まれているオブジェクトのレプリケーションを制御する最上位のデータベース・オブジェクトです。キースペースには、テーブル、マテリアライズド・ビューと、ユーザー定義の型、関数、集計が含まれています。通常、クラスターには、アプリケーションごとに1つのキースペースがあります。レプリケーションはキースペース単位で制御されるため、同じデータ・センターでレプリケーション要件の異なるデータは、異なるキースペースに格納します。キースペースは、データ・モデル内の重要なマップ層ではありません。

レプリケーション・ストラテジと係数

キースペースを作成または変更する場合は、キースペースをレプリケートするためのレプリケーション・ストラテジ・クラスと係数の設定を指定します。

  • SimpleStrategyクラスは、DataStax Enterpriseを評価するためのクラスです。実稼働環境で使用する場合、または混在ワークロードで使用する場合は、NetworkTopologyStrategyクラスを使用します。
  • NetworkTopologyStrategyクラスは、実稼働環境で使用するためのクラスです。
    注: 評価目的でNetworkTopologyStrategyを使用することもできます。この場合は、デフォルトのスニッチSimpleSnitchをネットワーク対応スニッチに変更します。スニッチを選択し、スニッチ・プロパティ・ファイルで1つ以上のデータ・センター名を定義してから、データ・センター名を使用してキースペースのレプリケーション係数を設定します。たとえば、クラスターがGossipingPropertyFileSnitchを使用している場合は、cassandra-rackdc.properties ファイルに指定されているユーザー定義のデータ・センターとラックの名前を使用してキースペースを作成します。クラスターがEc2Snitchを使用している場合は、EC2データ・センターとラックの名前を使用してキースペースを作成します。クラスターがGoogleCloudSnitchを使用している場合は、GoogleCloudデータ・センターとラックの名前を使用してキースペースを作成します。
    cassandra-rackdc.propertiesファイルの場所は、インストールのタイプによって異なります。

    パッケージ・インストール
    Installer-Servicesインストール

    /etc/dse/cassandra/cassandra-rackdc.properties

    tarボール・インストール
    Installer-No Servicesインストール

    install_location/resources/cassandra/conf/cassandra-rackdc.properties
  • EveryWhereStrategyは、dse_systemキースペースで使用される特殊なDataStax Enterpriseストラテジであり、顧客による使用を目的としていません。

キースペースの詳細の表示

cqlshでDESCRIBE KEYSPACEコマンドを使用すると、キースペースに含まれているすべてのデータベース・オブジェクトなど、キースペースの詳細が出力されます。キースペースとそのすべてのコンポーネントを再作成するには、DESCRIBEコマンドの出力を使用します。

注意: 出力には、デフォルト設定を含むテーブルとその他のオブジェクトの設定がすべて含まれます。別の環境でキースペースを再作成する場合は、キースペースのレプリケーション係数やデータ・センター名などの設定に互換性があることを確認してください。

SimpleSnitchに関するエラー

デフォルトのスニッチSimpleSnitchをNetworkTopologyStrategyとともに使用する場合、テーブルへのデータの挿入などの書き込み要求を行うと、以下のエラー・メッセージが表示されて失敗することがあります。
Unable to complete request: one or more nodes were unavailable.