1.13 GeoRasterでのパラレル処理

GeoRasterには、次の2つのタイプのパラレル処理があります。

  • SQL文のパラレル実行

  • パラレル化されたGeoRasterプロシージャ

SQL文のパラレル実行では、ほとんどのSQL文(問合せとDMLの両方)をパラレルに実行できます。SQL文は、実行されると、個々のステップまたは行ソースに分解され、実行計画で個別の行として識別されます。

パラレル問合せでは、メタデータ関連の問合せ操作(すべてのGeoRasterメタデータgetファンクションおよびSDO_GEOR.validateGeoRaster)などのすべてのGeoRaster読取り専用ファンクションおよびすべての単一ラスター・セル問合せ(SDO_GEOR.getCellValueおよびSDO_GEOR.evaluateDouble)を有効化する必要があります。つまり、マルチCPU環境では、これらのファンクションを使用して1つ以上のGeoRaster表で多くのGeoRasterオブジェクトを問い合せる場合、およびSQL文をパラレルに実行する場合、GeoRaster行は自動的に複数のサブセットに分割され、複数のOracleサーバー・プロセスが同時に動作して各サブセットを処理し、応答時間全体を短縮します。複数のプロセス全体でGeoRaster SQL文を実行するように作業を分割することで、空間索引を迅速に管理し、場所、様々なメタデータおよび属性に基づいてGeoRasterオブジェクトを検出できます。パイプライン・テーブル・ファンクションおよびパラレル・テーブル・ファンクションを使用して、より高度なプロシージャを実装することもできます(単一のGeoRasterオブジェクトに対するいくつかの操作のパラレル化など)。

パラレル化されたGeoRasterプロシージャでは、GeoRasterオブジェクトの同時処理用に複数のサブプロセスを指定できます。個々のラスターおよびイメージ処理プロシージャの一部は、特にこのタイプのパラレル化をサポートするために実装されます。これらのプロシージャでは、単に入力パラメータとして並列度(DOP)の整数値を指定することで、操作がその数のサブプロセスに分割され、単一のGeoRasterオブジェクトのサブセットが同時に処理されます。これらの各サブプロセスは、相互に独立して実行されます。すべてのサブプロセスが終了すると、プロセス全体も終了します。次のプロシージャでは、この種類のパラレル処理が直接サポートされます。

SDO_GEOR_AGGR.mosaicSubsetプロシージャを通して、他のタイプのパラレル処理もサポートされます。これに含まれるものとしては、パラレル圧縮と解凍、パラレル・コピーまたは形式変更コピー、パラレル・サブセット化、パラレル再投影、およびパラレル幾何補正があります。詳細は、「パラレル圧縮、コピーおよびサブセット化」を参照してください。

イメージおよびラスター・データは、通常、非常に大きいため、前述の操作に時間がかかる可能性があります。そのため、マルチCPUまたはマルチコア・サーバーを使用する場合、パフォーマンスを向上するためにパラレル処理を使用することを常に検討してください。