スケーラブルデータベースサーバ HiRDB Version 8 解説(Windows(R)用)

[目次][用語][索引][前へ][次へ]

6.8.2 インメモリデータ処理

インメモリデータ処理を適用するとバッチ処理の高速化を実現できます。インメモリデータ処理では,RDエリア内の全データをメモリ上に一括して読み込み,バッチ処理の実行中はメモリ上のデータだけを更新し,ディスク上のデータは更新しません。バッチ処理が完了した後にメモリ上の更新データを一括してディスクに書き込みます。バッチ処理中はディスク入出力が発生しません。ディスク入出力が発生するのは,RDエリア内のデータをメモリ上に読み込むときと,メモリ上の更新データをディスクに書き込むときの2回だけです。

インメモリデータ処理の概要を次の図に示します。

図6-12 インメモリデータ処理の概要

[図データ]

[説明]
RDエリア内の全データをメモリ上に一括して読み込むことをインメモリ化といいます。インメモリ化はRDエリアごとに行います。インメモリ化しているRDエリアをインメモリRDエリアといいます。また,インメモリデータ処理で使用するデータバッファをインメモリデータバッファといいます。
ポイント
インメモリデータ処理を実行する場合は,グローバルバッファを使用しないでインメモリデータバッファを使用します。インメモリデータバッファは,HiRDBが動的に共用メモリ上に確保するため,HiRDB管理者がインメモリデータバッファを定義する必要はありません。

バッチ処理の実行中はインメモリデータバッファ上のデータだけが更新されて,ディスク上のデータは更新されません。バッチ処理が完了した後にコマンド(pdholdコマンド)を実行して,インメモリデータバッファ上の更新情報を一括してディスクに書き込みます。シンクポイント時もディスクへの書き込みが発生しません。

インメモリデータ処理の適用方法については,マニュアル「HiRDB Version 8 バッチ高速化機能」を参照してください。

<この項の構成>
(1) グローバルバッファと比較した場合の利点
(2) インメモリデータ処理の適用基準

(1) グローバルバッファと比較した場合の利点

グローバルバッファを使用している場合はディスク入出力が定期的に発生しますが,インメモリデータバッファを使用している場合は,ディスク入出力が発生するのはインメモリ化時とディスクへのデータ書き込み時の2回だけです。シンクポイント時にもディスクへの書き込みが発生しません。そのため,インメモリデータバッファを使用する方が,グローバルバッファを使用したときに比べてディスク入出力回数が少なくなります。

そのほかにも,グローバルバッファと比べて次の利点があります。

詳細については,マニュアル「HiRDB Version 8 バッチ高速化機能」を参照してください。

(2) インメモリデータ処理の適用基準

次の場合にインメモリデータ処理を適用すると効果が期待できます。