スキーマ・モードの指定

操作モードの指定方法。

DevelopmentProductionの2つのスキーマ・モードを設定して、スキーマの変更へのアクセスを制御できます。Productionモードでは、データをロードする前に、頂点と辺のラベルのすべてのプロパティを前もって指定する必要があります。Developmentモードでは、明示的なスキーマ定義をせずにデータをロードできます。これらのスキーマ・モードは、実稼働環境ではデータの保護が異なり、開発環境では柔軟性が異なります。また、Developmentモードではフル・スキャンを行うことができますが、Productionモードではクエリーのターゲットを絞る必要があります。フル・スキャンの例には、すべての頂点をカウントするクエリーであるg.V().count()があります。詳細については、スキーマ構成を参照してください。

デフォルトのスキーマ・モードは、より厳しいモードであるProductionです。インストーラーを使用してDSEをインストールすると、インストール時に選択したオプションによっては、このデフォルトのスキーマ・モードが異なる場合があります。デフォルトの詳しい概要を以下に示します。
インストール・オプション デフォルト
ビットロック・インストーラー 実稼働 インストール時に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')