CREATE KEYSPACE
新しいキースペースを定義します。
最上位の名前空間を作成します。レプリカ配置ストラテジ、レプリケーション係数、永続書き込み設定を構成します。
CREATE KEYSPACE [IF NOT EXISTS] keyspace_name
WITH REPLICATION = {replication_map}
[AND DURABLE_WRITES = true|false] ;
CREATE KEYSPACE [IF NOT EXISTS] keyspace_name WITH REPLICATION = {replication_map} [AND DURABLE_WRITES = true|false] ;
構文規則 | 説明 |
---|---|
大文字 | リテラル・キーワード。 |
小文字 | リテラル以外。 |
イタリック体 |
変数値。ユーザー定義値と置き換えます。 |
[] |
任意。角かっこ( [] )で任意指定のコマンド引数を囲みます。角かっこは入力しないでください。 |
( ) |
グループ。丸かっこ(( ) )は、選択肢を含むグループを示します。丸かっこは入力しないでください。 |
| |
または。縦棒( | )で代替要素を区切ります。要素のいずれかを入力してください。縦棒は入力しないでください。 |
... |
繰り返し可能。省略記号(... )は、構文要素を必要な回数だけ繰り返すことができることを示します。 |
'Literal string' |
単一引用符( ' )でCQL文内のリテラル文字を囲みます。大文字を維持するには、単一引用符を使用します。 |
{ key : value } |
マップ・コレクション。中かっこ( { } )でマップ・コレクションまたはキーと値のペアを囲みます。コロンでキーと値を区切ります。 |
<datatype1,datatype2> |
セット、リスト、マップ、またはタプル。山かっこ(< > )で、セット、リスト、マップまたはタプル内のデータ型を囲みます。データ型はコンマで区切ります。 |
cql_statement; |
CQL文の終了。セミコロン( ; )ですべてのCQL文を終了します。 |
[--] |
コマンドライン・オプションとコマンド引数は、2つのハイフン(-- )で区切ります。この構文は、引数がコマンドライン・オプションと間違われる可能性がある場合に役立ちます。 |
' <schema> ...</schema> ' |
検索CQLのみ:単一引用符( ' )でXMLスキーマ宣言全体を囲みます。 |
@xml_entity='xml_entity_type' |
検索CQLのみ:スキーマ・ファイルおよびsolrConfigファイル内のXML要素を上書きするための実体とリテラル値を示します。 |
- keyspace_name
-
最大48文字。英数字とアンダースコアを含めることができます。最初の文字として使用できるのは英数字だけです。引用符で囲まれていない名前は強制的に小文字に変換されます。
同じ名前を持つキースペースが既に存在する場合は、エラーが発生し、操作が失敗します。エラー・メッセージを抑制するには、IF NOT EXISTSを使用します。
- replication_map
-
レプリケーション・マップは、指定されたデータ・センターに格納するデータのコピー数を指定します。この設定は、整合性、可用性、要求速度に影響します。詳細については、「レプリカ配置ストラテジ」を参照してください。
表 2. レプリケーション・ストラテジ・クラスと係数の設定 クラス レプリケーション係数 値の説明 'SimpleStrategy' 'replication_factor' : N クラスター全体に同じレプリケーション係数を割り当てます。評価目的と単一データ・センターのテストおよび開発環境でのみ使用してください。 'NetworkTopologyStrategy' 'datacenter_name' : N コンマ区切りリスト内の各データ・センターにレプリケーション係数を割り当てます。実稼働環境とマルチ・データ・センターのテストおよび開発環境で使用してください。データ・センター名は、スニッチ・データ・センター名と一致させる必要があります。詳細については、「スニッチ」を参照してください。 シンプル・トポロジーの構文:'class' : 'SimpleStrategy', 'replication_factor' : N
ネットワーク・トポロジーの構文:'class' : 'NetworkTopologyStrategy', 'dc1_name' : N [, ...]
- DURABLE_WRITES = true|false
-
任意。(非推奨)falseを指定すると、キースペースへの書き込み時にコミット・ログがバイパスされます。デフォルト値は
true
です。注意: SimpleStrategyレプリケーションを使用する場合は、永続書き込みを無効にしないでください。
例
単一ノード評価クラスターを対象としたキースペースの作成
単一ノード評価クラスターを対象としたcyclingキースペースを作成します。
CREATE KEYSPACE cycling WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };
評価クラスターを対象としたキースペースNetworkTopologyStrategyの作成
CREATE KEYSPACE cycling WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 1 } ;
datacenter1
はデフォルトのデータ・センター名です。データ・センター名を表示するには、nodetool status
を使用します。nodetool statusノード・ツールは、データ・センター名、ラック名、ホスト名、およびIPアドレスを返します。
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns Host ID Rack
UN 127.0.0.1 46.59 KB 256 100.0% dd867d15-6536-4922-b574-e22e75e46432 rack1
マルチ・データ・センター環境でのcyclingキースペースの作成
ボストン、シアトル、東京の各データ・センターのレプリケーション係数を設定します。データ・センター名は、スニッチで構成されている名前と一致している必要があります。
CREATE KEYSPACE "Cycling" WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'boston' : 3 , // Datacenter 1 'seattle' : 2 , // Datacenter 2 'tokyo' : 2 , // Datacenter 3 };
永続書き込みの無効化
cyclingキースペースの書き込みコミット・ログを無効にします。コミット・ログを無効にすると、データ喪失のリスクが高まります。SimpleStrategy環境では無効にしないでください。
CREATE KEYSPACE cycling WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 3 } AND DURABLE_WRITES = false ;