2.2 インメモリデータ処理をより効果的に実行するために考えておくこと

ここでは,インメモリデータ処理をより効果的に実行するために検討するとよいポイントについて説明します。あらかじめインメモリデータ処理に適したシステム構成にしておくことで,処理性能の向上が期待できます。

<この節の構成>
(1) どのRDエリアをインメモリ化するか
(2) RDエリア内の表構成にむだがないか
(3) 一括指定ができるRDエリア名になっているか
(4) ログレスモードを適用できるか

(1) どのRDエリアをインメモリ化するか

インメモリデータ処理をより効果的に実行するには,表格納RDエリアだけではなく,インデクス格納RDエリアも一緒にインメモリ化してください。

特に,次に示すRDエリアはまとめてインメモリ化してください。

(2) RDエリア内の表構成にむだがないか

インメモリ化するRDエリアに,業務ではアクセスしない表が混在している場合,そのような表は別のRDエリアに格納することをお勧めします。これによって,メモリ領域がむだに確保されることを防ぎます。

RDエリア内に使用しない表が混在している場合の対処例を次の図に示します。

図2-2 RDエリア内に使用しない表が混在している場合の対処例

[図データ]

(3) 一括指定ができるRDエリア名になっているか

インメモリデータ処理に使用するコマンド(pdmemdbコマンド,pdholdコマンド)は,RDエリア名一括指定ができます。RDエリア名一括指定ができるように,RDエリア名の末尾をそろえておくなどの工夫をすると便利です。

(例)
インメモリ化するRDエリア名の末尾を次のようにそろえます。
RDDATA01_mem,RDDATA02_mem,RDIDX01_mem,RDIDX02_mem
上記四つのRDエリアをまとめてインメモリ化する場合,次のように指定できます。

pdmemdb -k stay -r "*_mem"

運用コマンドでのRDエリア名一括指定については,マニュアル「HiRDB Version 8 コマンドリファレンス」を参照してください。

(4) ログレスモードを適用できるか

インメモリデータ処理でバッチ業務を実行する場合,ログレスモードで実行すると,より処理時間を短縮できます。バッチ業務を実行する場合は,ログレスモードの適用を検討してください。