キャッシュロードプロセス¶
ビューのキャッシュをロードすることによっても、メモリが大量に消費される可能性があります。なぜなら、スループットを最大化するために、データを結合してクライアントに返すスレッドとは別のスレッドを使用して、キャッシュデータベースに行を挿入するからです。読み込みプロセスは通常はロードプロセスより高速なので、行が蓄積されてメモリ使用量が増える可能性があります。
この問題を回避するために、Denodo は、「 ストリーミング演算子と非ストリーミング演算子 」で説明されている [Maximum in size of memory of each node] ビューパラメータを使用します。Denodo が、このパラメータで指定されている量よりもビューのキャッシュロードプロセスのメモリ使用量が多いと推定した場合、行の一部をディスクにスワップして、メモリ使用量が制限を超えることを回避します。
これには例外があります。クエリの CONTEXT
句にパラメータ 'cache_return_query_results' = 'false'
を追加した場合、サーバーは結果をクライアントに返しません。この場合は、キャッシュするデータをディスクにスワップする必要はありません。