キースペースの作成と更新

キースペースの作成は、SQLデータベースの作成に相当しますが、多少異なります。

キースペースの作成は、SQLデータベースの作成に相当しますが、多少異なります。Cassandraキースペースは、データがノードでどのようにレプリケートされるかを定義する名前空間です。通常、クラスターには、アプリケーションごとに1つのキースペースがあります。レプリケーションはキースペース単位で制御されるため、異なるレプリケーション要件を持つデータは通常、異なるキースペースに存在します。キースペースは、データ・モデル内で重要なマップ層として使用することを目的としていません。テーブル・セットのデータ・レプリケーションを管理することを目的としています。

キースペースを作成する場合は、キースペースのレプリケートにストラテジ・クラスを指定します。Cassandraの評価には、SimpleStrategyクラスを使用すると良いでしょう。実稼働環境で使用する場合、または混在ワークロードで使用する場合は、NetworkTopologyStrategyクラスを使用します。

たとえば、1つのノード・クラスターを使用した評価のためにNetworkTopologyStrategyを使用するには、デフォルトのデータ・センター名を使用します。実稼働環境でNetworkTopologyStrategyを使用するには、デフォルトのスニッチであるSimpleSnitchをネットワーク対応スニッチに変更し、スニッチ・プロパティ・ファイルで1つ以上のデータ・センター名を定義して、そのデータ・センター名を使用してキースペースを定義する必要があります。「スニッチ」を参照してください。たとえば、クラスターがPropertyFileSnitchを使用している場合は、cassandra-topologies.propertiesファイルに指定されているユーザー定義のデータ・センターおよびラック名を使用してキースペースを作成します。クラスターがEc2Snitchを使用している場合は、EC2データ・センターおよびラック名を使用してキースペースを作成します。クラスターがGoogleCloudSnitchを使用している場合は、GoogleCloudデータ・センターおよびラック名を使用してキースペースを作成します。

デフォルトのスニッチを変更せずにNetworkTopologyStrategyを使用すると、Cassandraでは、テーブルへのデータの挿入などの書き込み要求を完了できず、次のエラー・メッセージがログに記録されます。
Unable to complete request:one or more nodes were unavailable.
注: スニッチ・プロパティ・ファイルでデータ・センター名を定義するか、datacenter1という名前の1つのデータ・センターを使用しない限り、NetworkTopologyStrategyを使用するキースペース内のテーブルにデータを挿入できません。