13.3 事前ロード済グラフの公開
事前ロード済グラフの公開動作は、構成で制御できます。別の動作が構成されていないかぎり、グラフの最初にロードされたスナップショット(のみ)が公開されます。事前ロードされた公開済グラフは、どのセッションでも使用されない場合もメモリー内に残ります。
公開動作を制御するには、次の2つのオプションがあります。
- グラフのみを公開し、グラフの将来のスナップショットを公開しない場合は、オプションのフラグ
publish
をtrue
に設定します。このフラグのデフォルト値はtrue
であるため、これがデフォルトの動作です。 - グラフおよびグラフの将来のスナップショットすべてを公開する場合は、オプションのフラグ
publish_with_snapshots
をtrue
に設定します。デフォルト値はfalse
です。
この2つのフラグのうち、一度に一方のみをtrue
に設定できます。ただし、グラフをスナップショットとともに公開すると、グラフの最初のバージョンも公開されます。
例13-2 グラフを事前ロードするためのサンプル構成ファイル
この例のpgx.conf
では、グラフ・サーバー(PGX)の起動中にメモリーにロードする2つのグラフが指定されています。my-graph
はスナップショットとともに公開され、my-other-graph
はスナップショットなしで公開されます。
{
"enterprise_scheduler_config": {
"analysis_task_config": {
"max_threads": 32
}
},
"preload_graphs": [
{
"path": "graph-configs/my-graph.bin.json",
"name": "my-graph",
"publish": false,
"publish_with_snapshots": true
},
{
"path": "graph-configs/my-other-graph.adj.json",
"name": "my-other-graph"
}
],
"authorization": [{
"pgx_role": "GRAPH_DEVELOPER",
"pgx_permissions": [{
"preloaded_graph": "my-graph",
"grant": "read"
},
{
"preloaded_graph": "my-other-graph",
"grant": "read"
}]
},
....
]
}
この2つの事前ロード済グラフには、次のようにアクセスできます。
PgxGraph g1 = session.getGraph("my-graph"); //returns the most recent available snapshot
PgxGraph g2 = session.getGraph("my-other-graph");
親トピック: グラフ管理