4.13 パフォーマンスを向上するためのメモリーの管理
GeoRasterには、ラスター(LOB)データの読取りおよび書込みを行うための独自のバッファ・システムがあります。このシステムは、Oracle AI 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 AI Databaseでは複数のユーザーおよび同時アクセスが可能であるため、そのような環境でのバランスの取れたメモリーの割当てを行う必要があります。 - 読取りブロック・サイズを増やすと(
MemReadBlockSizeを増やす)、OCI LOB読取り操作の数が減少するため、パフォーマンスが向上します。ただし、操作内のソースおよびターゲットGeoRasterオブジェクト間のインターリーブ変更の場合は、MemReadBlockSize値が非常に大きいと、読取りブロックのページインおよびページアウトの操作が頻繁に行われ、パフォーマンスが低下する可能性があります。その場合は、GeoRasterオブジェクト全体のサイズまで、MemMaxSize値を適宜増やします。 - ほとんどすべてのGeoRaster操作は書込み駆動型です。そのため、書込みブロック・サイズを増やすと(
MemWriteBlockSizeを増やす)、OCI LOB書込み操作の数が減少し、パフォーマンスが向上します。
親トピック: GeoRasterのデータ問合せおよび操作