5.5.1 HiRDBを使用したバッチジョブの分散処理の概要
バッチジョブ分散実行システムとHiRDBを組み合わせることで,分割したデータをHiRDBの横分割表として格納し,分割データに連動した分散処理を行うことができます。
(1) HiRDBによるバッチの並列実行
HiRDBでは,09-01からHiRDBを停止しなくてもユニットを追加できる機能(拡張ユニットの開始)をサポートしました。
このHiRDBの機能をバッチジョブ分散実行システムと組み合わせることで,バッチジョブのデータ量に応じて,一時的にシステムの規模を拡張して,バッチジョブの並列実行数を増やすことができます。
これによって,新規にサーバを導入しなくても,夜間などに余裕のある現有のリソースを活用することで,従来より高速にバッチジョブを処理できます。
HiRDBのユニット追加によるバッチの並列実行を次の図に示します。
|
(a) 基本ユニットと拡張ユニット
サーバマシン内のHiRDBの動作環境のことをユニットといいます。HiRDBシステムを停止しないで追加できるユニットを拡張ユニットといい,拡張ユニットを追加する前に稼働していたユニットを基本ユニットといいます。バッチジョブ分散実行システムの実行ノードは,基本ユニットまたは拡張ユニットとして設定します。
(b) グリッドジョブ管理ホスト
この例では,グリッドジョブ管理ホストを(HiRDBの)パラレルサーバのマネージャとして構成しています。HiRDBのマネージャはグリッドジョブ管理ホスト以外に置くこともできます。その場合は,グリッドジョブ管理ホストにHiRDB/クライアント(HiRDB/Developer's KitまたはHiRDB/Run Time)が必要です。
(c) 実行ノード
実行ノードをHiRDBのユニットとして構成します。このとき,HiRDBシステムの構成をパラレルサーバの構成としてください。高速接続機能またはFESホストダイレクト接続機能を設定してください。
実行ノードには,バッチ処理を行う処理間の競合を最小にしてDB処理を高速化するために,(HiRDBの)FESとBESを配置します。HiRDBのユニットと,バッチジョブ分散実行システムのノードは1対1で対応させます。
クラスタシステムとする場合は,HiRDBの切り替えに同期して,ノードマネージャも切り替えてください。処理中に切り替えが発生することも想定して,処理の最初からやり直せるように,サブジョブによるコミットは1回にしてください。
なお,拡張ユニットを利用する場合の最大ユニット数は,64となります。
(2) システム構成例での構築と運用の流れ
ここでは,次の図に示すシステム構成例について,システムの運用手順とバッチジョブ分散実行システムに関係する作業を説明します。
|
バッチジョブ分散実行システムとHiRDBを組み合わせたシステムの運用手順(構築および運用部分)を次の図に示します。図中には,参照先または参照マニュアルも示しています。
|
|