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問合せの実行フローは次の図のようになります。

図6-1 Oracle Database (RDBMS)上のPGQL

図6-1の説明を次に示します
「図6-1 Oracle Database (RDBMS)上のPGQL」の説明

基本的な実行フローは次のとおりです。

  1. PGQL問合せはJava APIを介してRDBMS上のPGQLに送信されます。

  2. PGQL問合せはSQLに変換されます。

  3. 変換されたSQLは、JDBCによってOracle Databaseに送信されます。

  4. SQL結果セットは、PGQL結果セットとしてラップされてコール元に返されます。

Oracle Databaseに格納されたプロパティ・グラフ・データに対してPGQL問合せを直接実行できることにより、いくつかの利点があります。

  • PGQLでは、VT$、VD$、GE$、およびGT$を含めた問合せスキーマ表に手動で書き込まれるSQLよりも、より自然なグラフ問合せの表現方法が提供されています。

  • PGQL問合せは、グラフ・データのスナップショットをPGXにロードせずに実行できます。そのため、頻繁に更新されるグラフ・データの失効について心配する必要がありません。

  • PGQL問合せは、大きすぎてメモリー内に収まらないグラフ・データに対して実行できます。

  • 堅牢でスケーラブルなOracle SQLエンジンを、PGQL問合せの実行に使用できます。

  • Oracle Databaseの管理、監視、およびチューニングを行うための成熟したツールを、PGQL問合せのチューニングと監視に使用できます。