config

グラフ・スキーマの構成方法。

構文

schema.config().option(arg).[ set(value) | unset(value) | get() | exists() | describe() ]

スキーマはグラフごとにconfig()コマンドを使用して構成できます。オプションと値はset()またはunset()にできます。オプションの値はget()コマンドで取得できます。オプションが構成されたかどうかはexists()コマンドで確認できます。オプションが手動で設定された場合、describe()コマンドは値を返します。

表 1. グラフ固有のオプショングラフ固有のオプションはgraphが前に付きます。たとえば、graph.schema_modeのようになります。
オプションの引数 設定例 説明 デフォルト
allow_scan true コストの高いグラフ・スキャン・クエリーを許可する設定。 true
schema_mode Production モードをProduction(実稼動)またはDevelopment(開発)に設定します。 Development
default_property_key_cardinality multiple 特に指定しない限りデフォルトで使用するカーディナリティを設定します。 single
verify_unique false 一意性制約の強制をトランザクションが確認するかどうかを指定します。 true
traversal_sources.*.restrict_lambda false このTraversalSourceでのlambdasの使用を回避します。特定の探索ソースを識別できます。 true
traversal_sources.*.type read-only TraversalSourceの型を指定します。特定の探索ソースを識別できます。 default
traversal_sources.*.evaluation_timeout PT10S(10秒) 探索の評価まで待機する最大時間 - 現在のTraversalSourceに対する他のシステム・レベルの設定をオーバーライドします。 0日
表 2. TraversalSource固有のオプションTraversalSource固有のオプションにはgraph.traversal_sources.*が前に付き、*は、指定された探索ソースでかまいません。たとえば、graph.traversal_sources.*.typeのようになります。
オプションの引数 設定例 説明 デフォルト
restrict_lambda false このTraversalSourceでのlambdasの使用を回避します。特定の探索ソースを識別できます。 true
type read-only TraversalSourceの型を指定します。特定の探索ソースを識別できます。 default
evaluation_timeout PT10S(10秒) 探索の評価まで待機する最大時間 - 現在のTraversalSourceに対する他のシステム・レベルの設定をオーバーライドします。 0日
表 3. トランザクション固有のオプショントランザクション固有のオプションはgraph.tx_groups.*が前に付きます。たとえば、graph.tx_groups.*.read_onlyのようになります。
オプション 設定例 説明 デフォルト
cache true トランザクションレベル・キャッシュにあるトランザクション内のキャッシュ取得とデータ・ストアの呼び出し。この設定ではトランザクション内の分離のタイプが制限され(他のトランザクション内の変更の同時実行は表示されず、結果セットは呼び出し間で一貫性が保たれます)、より多くのメモリを使用することによってパフォーマンスを改善できます。 true
deep_profiling true クエリーでprofile()のCQLトレーシングを有効にします。非常にコストの高いプロファイリングです。 false
single_thread true トランザクションが単一スレッドのみでアクセスされるかどうかを設定します。 false
thread_bound true トランザクションを特定のスレッドに結びつけるかどうかを設定します。 false
internal_vertex_verify true トランザクションが、内部で指定された頂点IDに対応する頂点が実際に存在することを確認するかどうかを設定します。 false
external_vertex_verify false トランザクションが、外部から指定された頂点IDに対応する頂点が実際に存在することを確認するかどうかを設定します。 true
logged_batch true 変更を行う場合は、ログに記録されたバッチを使用します。これにより、すべてのミューテーションは最終的にパフォーマンスの低下を伴って発生することが保証されます。 false
max_mutations 5000 1回のトランザクションで追加または削除される頂点、プロパティ、および辺(累積的)の最大数。 10000
max_profile_events 5 個別の探索ステップについてレポートするプロファイリング・イベントの最大数。レポートするイベントの数を制限すると、出力は管理可能になりますが、重要な情報が非表示になることがあります。 10
read_only true トランザクションを読み取り専用にするかどうかを設定します。 false
read_consistency ALL トランザクションの読み取り操作の整合性レベルを指定します。 ONE
transaction_timestamp このトランザクションのすべてのミューテーションを保持するタイムスタンプ。 Instant.EPOCH
vertex_cache_size 4000 最近使用した頂点のトランザクションレベル・キャッシュの最大サイズ。 20,000l
vertex_dirty_size これは、書き込みが多く、パフォーマンスに敏感なトランザクション・ワークロードに関するパフォーマンスのヒントです。設定した場合、トランザクションあたりで変更された頂点の平均にほぼ一致する必要があります。 32
write_consistency ANY トランザクションの書き込み操作の整合性レベルを指定します。 QUORUM
authenticated_user test_user トランザクションの現在のユーザーとして使用するユーザー名。 ANONYMOUS_USER

説明

グラフを構成します。オプションは、setunset、またはget(値を取得)です。

現在のグラフが、現在別名で作成されているグラフでグラフのフルスキャンを不許可にするように設定します。
schema.config().option('graph.allow_scan').set('false')
設定されているすべての探索ソースを取得するには、探索ソース・タイプ・オプションを持つget()コマンドを使用します。
schema.config().option('graph.traversal_sources.*.type').get()
手動で設定されたオプションの値のリストになります。
REAL_TIME
現在別名で作成されているグラフでトランザクションのデフォルトの書き込み整合性をALLに設定します。
schema.config().option('graph.tx_groups.default.write_consistency').set('ALL')
現在別名で作成されているグラフでトランザクションのデフォルトの書き込み整合性を取得します。
schema.config().option('graph.tx_groups.default.write_consistency').get()
オプションの設定が手動で設定されていることを確認するには、exists()コマンドを使用します。
schema.config().option('graph.tx_groups.default.write_consistency').exists()
このコマンドは次の値を返します。
true
値に設定されている場合。それ以外の場合はfalseを返します。
探索クエリーのプロファイリング中にCQLトレーシングを有効にするには、deep_profiling()オプションを次のように設定します。
schema.config().option('graph.tx_groups.default.deep_profiling').set('TRUE')
外部の頂点IDが存在することを確認するには、external_vertex_verify()オプションを次のように設定します。
schema.config().option('graph.tx_groups.default.external_vertex_verify').set('TRUE')
この設定がtrueの場合、存在しないときには頂点は返されません。ただし、external_vertex_verify()をfalseに設定すると、IDを割り当てられた頂点が存在しない場合でも、頂点が返されます。アプリケーションは、頂点がexists()メソッドを使用して存在し予想される動作を実行することを保証する必要があります。
設定された構成オプションのリストを取得するには、次のdescribe()コマンドを使用します。
schema.config().describe()
手動で設定されたオプションの値のリストになります。
graph.tx_groups.default.write_consistency:ALL
graph.allow_scan:False

一部の構成オプションでは、デフォルトが他の構成オプションの値を使用して決められることがあります(値を明示的に設定しないなど)。たとえば、allow_scanを明示的に設定しないと、デフォルト値は、schema_modeDevelopmentに設定されていル場合はtrueですが、schema_modeProductionに設定されている場合はfalseになります。これらの構成オプションはデフォルトの設定に結び付けられておらず、schema.config().get()を使用して設定値を検出すると、設定値ではなくデフォルト値が表示されるため、誤解を招く情報になるおそれがあります。

グラフのフルスキャン設定は次のとおりです。
設定 スキーマ・モード 許可されたスキャン
dse.yaml schema_mode:Production Production 未予約
dse.yaml schema_mode:Development Development 予約
graph.schema_mode:Production Production 未予約
graph.schema_mode:Development Development 未予約
graph.allow_scan:true Production 予約
graph.allow_scan:true Development 予約