4.13 パフォーマンスを向上するためのメモリーの管理
GeoRasterには、ラスター(LOB)データの読取りおよび書込みを行うための独自のバッファ・システムがあります。このシステムは、Oracle Databaseバッファ・システムと別個になります。次の表に、GeoRasterオブジェクトのすべてのI/O操作に使用するGeoRasterバッファ・システムを構成するために使用できるパラメータを示します。
表4-1 GeoRasterバッファリング・パラメータ
パラメータ名 | 説明 | デフォルト値 |
---|---|---|
MemMaxSize | 各GeoRasterオブジェクトのGeoRasterバッファリングに使用できるメモリーの上限サイズ。 | 17 MB |
MemReadBlockSize | ラスター・データをキャッシュするための読取り操作の内部データ・ブロック・サイズ。 | 32 KB |
MemWriteBlockSize | ラスター・データをキャッシュするための読取り/書込み操作の内部データ・ブロック・サイズ。 | 64 KB |
次のPL/SQLサブプログラムを使用して、これらのパラメータの値を取得および設定できます。
パラメータがPL/SQLを使用して設定されるため、値はデータベース・セッションの期間中に定義されます。後続のセッションで、パラメータにデフォルト以外の値を使用する場合、適切なプロシージャを使用して設定する必要があります。
通常は、パラメータに大きい値を使用すると、GeoRaster I/O操作のパフォーマンスが向上します。特定の考慮事項およびガイドラインは次のとおりです。
-
追加のメモリーを割り当てると(
MemMaxSize
を増やす)、ディスク・アクセスが減少します。理想として、十分に大きいメモリーを割り当ててGeoRasterオブジェクト全体を保持すると、パフォーマンスが大幅に向上します。ただし、Oracle Databaseでは複数のユーザーおよび同時アクセスが可能であるため、そのような環境でのバランスの取れたメモリーの割当てを行う必要があります。 - 読取りブロック・サイズを増やすと(
MemReadBlockSize
を増やす)、OCI LOB読取り操作の数が減少するため、パフォーマンスが向上します。ただし、操作におけるソースおよびターゲットGeoRasterオブジェクト間の異なるインターリーブのために、MemReadBlockSize
値でGeoRasterオブジェクト全体を保持できない場合、読取りブロック・サイズが大きすぎて頻繁な読取りブロック・ページインおよびページアウト操作が発生するため、パフォーマンスが低下します。 - ほとんどすべてのGeoRaster操作は書込み駆動型です。そのため、書込みブロック・サイズを増やすと(
MemWriteBlockSize
を増やす)、OCI LOB書込み操作の数が減少し、パフォーマンスが向上します。
親トピック: GeoRasterのデータ問合せおよび操作