6.9 Oracle Databaseに対して直接PGQL問合せを実行
このトピックでは、(インメモリーと対照的に)Oracle Database内のグラフに対して直接PGQL問合せを実行する方法について説明します。
プロパティ・グラフ問合せ言語(PGQL)の問合せは、Oracle Databaseに格納されているディスク常駐プロパティ・グラフ・データに対して実行できます。Oracle Database (RDBMS)上のPGQLには、PGQL問合せを実行するためのJava APIが用意されています。RDBMS上のPGQL内のロジックは発行されたPGQL問合せを同等のSQL問合せに変換し、結果として作成されたSQLがデータベース・サーバーで実行されます。次に、RDBMS上のPGQLは、便利なPGQL結果セットAPIでSQL問合せの結果をラップします。
このPGQL問合せの実行フローは次の図のようになります。
基本的な実行フローは次のとおりです。
-
PGQL問合せはJava APIを介してRDBMS上のPGQLに送信されます。
-
PGQL問合せはSQLに変換されます。
-
変換されたSQLは、JDBCによってOracle Databaseに送信されます。
-
SQL結果セットは、PGQL結果セットとしてラップされてコール元に返されます。
Oracle Databaseに格納されたプロパティ・グラフ・データに対してPGQL問合せを直接実行できることにより、いくつかの利点があります。
-
PGQLでは、VT$、VD$、GE$、およびGT$を含めた問合せスキーマ表に手動で書き込まれるSQLよりも、より自然なグラフ問合せの表現方法が提供されています。
-
PGQL問合せは、グラフ・データのスナップショットをPGXにロードせずに実行できます。そのため、頻繁に更新されるグラフ・データの失効について心配する必要がありません。
-
PGQL問合せは、大きすぎてメモリー内に収まらないグラフ・データに対して実行できます。
-
堅牢でスケーラブルなOracle SQLエンジンを、PGQL問合せの実行に使用できます。
-
Oracle Databaseの管理、監視、およびチューニングを行うための成熟したツールを、PGQL問合せのチューニングと監視に使用できます。