DSEデータベースとグラフ設定の指定
グラフのDSEデータベースとグラフ設定の設定方法。
一部のDSE Graphオプションはグラフごとに設定します。Gremlin ConsoleでシステムAPIまたはスキーマAPIのいずれかの呼び出しを使用することにより、設定を変更して読み込みます。これらのオプション値はDSEテーブルに格納され、dse.yamlファイルでは設定されません。オプションの完全なリストについては、DSE Graphのリファレンスを参照してください。DSE Graphの他の設定はdse.yamlファイルにも記載されています。
手順
グラフごとのほとんどのオプションは、スキーマAPIを使用して設定されます。
-
構成設定のデフォルト以外の値をすべて確認します。
schema.config().describe()
graph.tx_groups.default.write_consistency: ALL graph.tx_groups.default.read_consistency: QUORUM
注: デフォルト設定は、この呼び出しでは表示されません。 -
特定の設定の値を確認します。
schema.config().option('graph.tx_groups.default.write_consistency').get()
ALL
-
構成設定の値を設定します。
schema.config().option('graph.tx_groups.default.write_consistency').set('ALL')
null
-
設定されている探索ソースをすべて取得するには、探索ソース・タイプ・オプションを付けて
get()
コマンドを使用します。schema.config().option('graph.traversal_sources.*.type').get()
REAL_TIME
-
探索が評価するのを待つ最大時間を設定します。
schema.config().option("graph.traversal_sources.g.evaluation_timeout").set('PT2H')
ヒント: タイムアウト値は、必要に応じて、set('1500 ms')
のように使用して秒または分単位で入力することもできます。PT2H
注: dse.yamlファイルには、クエリーがOLTPクエリーであるかOLAPクエリーであるかに応じて使用される、タイムアウト値を決定するrealtime_evaluation_timeout_in_seconds
およびanalytic_evaluation_timeout_in_minutes
という設定があります。evaluation_timeout
を使用して上記のコマンドを実行すると、指定された探索ソースgのシステム・レベル設定がオーバーライドされます。OLTP探索の階層は、オーバーライド順になります。graph.traversal_sources.g.evaluation_timeout
>realtime_evaluation_timeout_in_seconds
>system_evaluation_timeout_in_seconds
。OLAP探索タイムアウトのオーバーライドの階層は、OLTPと同様です。graph.traversal_sources.a.evaluation_timeout
>analytic_evaluation_timeout_in_minutes
>system_evaluation_timeout_in_seconds
。
一部のオプションは、システムAPIを使用して設定する必要があります。
-
設定は、新しいグラフの作成中に行うこともできます。たとえば、グラフのレプリケーションはDSEデータベースのデフォルトを継承するため、レプリケーション係数は
1
に設定され、クラスはSimpleStrategy
になります。DSEデータベースの場合と同様に、グラフのレプリケーション係数は、データを追加する前に設定する必要があります。gremlin> system.graph('gizmo'). replication("{'class' : 'NetworkTopologyStrategy', 'dc1' : 3 }"). ifNotExists().create()
-
グラフは、グラフ変数をDSEテーブルに格納するためのキースペースも作成します。このキースペースには重要な情報が格納されているため、レプリケーション係数を1つのレプリカよりも高く設定して、データが失われないようにする必要があります。
gremlin> system.graph('gizmo'). replication("{'class' : 'NetworkTopologyStrategy', 'dc1' : 3 }"). systemReplication("{'class' : 'NetworkTopologyStrategy', 'dc1' : 3 }"). ifNotExists().create()
-
追加のスキーマ設定は、グラフの作成時に構成できます。
詳細は、「リファレンス」に記載されています。system.graph('food2'). replication("{'class' : 'SimpleStrategy', 'replication_factor' : 1 }"). systemReplication("{'class' : 'SimpleStrategy', 'replication_factor' : 1 }"). option("graph.schema_mode").set("Development"). option("graph.allow_scan").set("false"). option("graph.default_property_key_cardinality").set("multiple"). option("graph.tx_groups.*.write_consistency").set("ALL"). create()
グラフAPIは、一部のトランザクション設定を設定するために使用されます。
-
allow_scan
オプションは、1つのノードで行われるトランザクション内のすべてのアクションに対して、1つのグラフ・レベルで設定するか、ここに示すように設定できます。この設定は、システム・テーブルにオプション変更を書き込むためにクォーラム(過半数)を集めることができない場合に便利です。graph.tx().config().option("allow_scan", true).open()
null