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] ;
表 1. 凡例
構文規則 説明
大文字 リテラル・キーワード。
小文字 リテラル以外。
イタリック体 変数値。ユーザー定義値と置き換えます。
[] 任意。角かっこ( [] )で任意指定のコマンド引数を囲みます。角かっこは入力しないでください。
( ) グループ。丸かっこ(( ))は、選択肢を含むグループを示します。丸かっこは入力しないでください。
| または。縦棒( | )で代替要素を区切ります。要素のいずれかを入力してください。縦棒は入力しないでください。
... 繰り返し可能。省略記号(...)は、構文要素を必要な回数だけ繰り返すことができることを示します。
'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 ;