MultiGraph概要
1つのTigerGraphインスタンスは複数のグラフを管理することができ、それぞれに独自のユーザー権限を持たせることができます。MultiGraphはこの種の初めての機能であり、TigerGraphプラットフォームのオプションサービスとして利用できます。
MultiGraphは、さまざまなユースケースにパワフルに対応します。
-
マルチテナンシー: 1つのTigerGraphインスタンスを使用して、それぞれが独自のユーザーセットを持つ複数の完全に別個のデータセットをサポートします。各ユーザーコミュニティは、他のユーザーコミュニティや他のデータセットを見ることはできません。
-
同一データセットに対するきめ細かい権限付け: 単一のグラフ内で利用できる役割ベースのアクセス制御によって、クエリ(データ変更クエリを含む)を実行する権限の付与ができます。単一のグラフスキームでは、あるクエリを一部のユーザーだけが実行できるようにする方法はありません。同じデータセットに対して定義された複数のグラフを使用すれば、各グラフは独自のクエリセットと独自のユーザーセットを持つことができ、実質的に、誰がどのクエリを実行できるかをカスタマイズすることができます。
-
グラフのオーバーラップ: 共有データとプライベートデータを組み合わせられるよう、グラフを部分的にオーバーラップさせることができます。
-
階層サブグラフ: 例えば、グラフXは、グラフYおよびZのドメインをカバーするように定義できます。つまり、グラフX =(グラフY) U (グラフZ)ということになります。これを工夫して利用すれば、データのパーティション化または親子構造を記述する際にさまざまな設定が可能となります。(これは、データ型のサブクラスを定義することと同義ではありません。データタイプは依然として独立しています。)
現在、グラフを1つだけ導入している場合でも、既存の設計をやり直すことなく、いつでもMultiGraphにアップグレードしてグラフの追加が可能です。
概念
グラフおよびグラフドメイン
グラフは、頂点タイプとエッジタイプの集合として定義されます。それは、より正確に言うなら、頂点タイプやエッジタイプの集まりの中のすべての頂点やエッジです。グラフのドメインは、頂点タイプとエッジタイプの集合です。各グラフには、独自のデータ読み込みジョブとクエリが含まれています。これらは他のグラフに影響を与えず、表示もされません。
CREATE GRAPH <gname> (<頂点タイプおよびエッジタイプのリスト>)
MultiGraphの原則
|
グラフ固有の役割と権限
TigerGraphシステムには、事前に定義された役割がいくつかあります。それぞれの役割は、操作を実行するための定められた論理的権限を持っています。グラフにアクセスするには、ユーザーにそのグラフにおける役割を付与する必要があります。役割がないと、ユーザーはアクセスを行うことができません。
役割をベースとしたMultiGraphアクセス制御
|
ユーザー、権限、役割についての詳細は、ユーザー権限と認証を参照して下さい。各役割について詳細に説明したチャートをご覧いただけます。
他の仕様への影響
-
RESTPPエンドポイント: グラフデータに関連するエンドポイントには、リクエストURL内にグラフ名を含める必要があります。これについては、RESTPP APIユーザーガイドを参照してください。
-
ユーザー認証のシークレットとトークン: コマンドと手順はOAuth標準に準拠しています。詳細はこちらを参照してください。
MultiGraph機能の使用については、特に、アプリケーションに異なる役割を持つ複数のユーザーがいる場合、他にも知っておくべき詳細情報が多くあります。ドキュメントで内の関連トピックの横には、 が表示されています。