スキーマ・モードの指定

操作モードの指定方法。

2つのスキーマ・モード、DevelopmentおよびProductionを設定して、スキーマ変更へのアクセスを制御できます。[Production]モードでは、データが読み込まれる前に、頂点ラベルとエッジ・ラベルのすべてのプロパティを事前に指定する必要があります。[Development]モードでは、スキーマを明示的に定義せずに、データを読み込むことができます。スキーマ・モードがこのように違うのは、実稼働環境ではデータの保護を目的とし、開発環境では柔軟性を目的とするためです。また、[Development]モードではフル・スキャンが許可されますが、[Production]モードではクエリーのターゲットをさらに絞る必要があります。フル・スキャンの例としては、すべての頂点をカウントするクエリーg.V().count()が挙げられます。詳細については、「スキーマの構成」を参照してください。

デフォルトのスキーマ・モードは、より厳しいモードのProductionです。インストーラーを使用してDSEをインストールする場合は、インストール時に選択したオプションによって、このデフォルトのスキーマ・モードが異なる場合があります。デフォルトの完全な説明は次のとおりです。
インストール・オプション デフォルト
DataStaxインストーラー(ビットロック・インストーラー) 実稼働 ユーザーはインストール時にDevelopmentに変更できます。インストーラーがdse.yamlに書き込みます。
パッケージ(DEB、YUM) 実稼働 dse.yamlに設定します。
tarボール 実稼働 dse.yamlに設定します。
サンドボックス 開発

スキーマ・モードは、クラスター全体の設定についてはdse.yamlファイルで設定されますが、1つのグラフについてはスキーマAPI呼び出しを使用してスキーマ・モードを設定します。次のコマンドを実行するには、特定のグラフに対してグラフに一時的な別名を付ける必要があります。クラスター全体で変更が必要な場合は、クラスター内の各ノードでdse.yamlファイルを変更し、各ノードを再起動する必要があります。

手順

  • 現在のスキーマ・モードを調べます。
    gremlin> schema.config().option('graph.schema_mode').get()
    ==>Development
  • スキーマをProductionに変更します。
    gremlin> schema.config().option('graph.schema_mode').set('Production')