1.2.1 インメモリデータ処理の概要
インメモリデータ処理では,RDエリア内の全データをメモリ上に一括して読み込み,バッチ処理の実行中はメモリ上のデータだけを更新し,ディスク上のデータは更新しません。バッチ処理が完了したあとにメモリ上の更新データを一括してディスクに書き込みます。バッチ処理中はディスク入出力が発生しません。ディスク入出力が発生するのは,RDエリア内のデータをメモリ上に読み込むときと,メモリ上の更新データをディスクに書き込むときの2回だけです。
インメモリデータ処理の概要を次に示します。
|
- [説明]
-
RDエリア内の全データをメモリ上に一括して読み込むことをインメモリ化といいます。インメモリ化はRDエリアごとに行います。インメモリ化しているRDエリアをインメモリRDエリアといいます。また,インメモリデータ処理で使用するデータバッファをインメモリデータバッファといいます。
- ポイント
-
インメモリデータ処理を実行する場合は,グローバルバッファを使用しないでインメモリデータバッファを使用します。インメモリデータバッファは,HiRDBが動的に共用メモリ上に確保するため,HiRDB管理者がインメモリデータバッファを定義する必要はありません。
バッチ処理の実行中はインメモリデータバッファ上のデータだけが更新されて,ディスク上のデータは更新されません。バッチ処理が完了したあとにコマンド(pdholdコマンド)を実行して,インメモリデータバッファ上の更新情報を一括してディスクに書き込みます。シンクポイント時もディスクへの書き込みが発生しません。なお,ログ取得モードであれば,インメモリデータ処理中でも,通常と同じようにデータベースの更新ログが取得されます。障害が発生した場合,そのログを使って,データベースを最新の状態に回復できます。