基幹のバッチ処理量が年々増大、能力強化へ5年の改善続ける - 問題解決の軌跡:ITpro(情報元のブックマーク数)

うぉーデータベースをテキストにしてバッチ処理してデータベースに戻すとかすごいな。

2004年10月,佐藤氏のバッチ処理能力強化の取り組みが始まった。KMSの詳細設計フェーズで採用したのは,開発パートナーだった野村総合研究所NRI)が提案した方式だ。佐藤氏は「初めて見たときは驚いた」という。
NRIの方式では,バッチ処理のデータ更新にデータベースを使わなかった。データベースから全データを抜き出してフラット・ファイルに変換。そのフラット・ファイルに対してバッチ処理を実行し,データベースへ書き戻す。データの同時更新で不整合が出ないよう,同じデータへの処理は一つのジョブに極力まとめ,複数に分かれたときは同時更新を避けるよう調整する。
実はNRIにとって,この手法は金融系の大規模システムなどで多くの実績があり,定番といえるものだと佐藤氏は説明を受ける。大量データを更新するバッチ処理でデータベースを使うと,排他制御やインデックス作成のオーバーヘッドがあって性能が出にくいということだった。

基幹のバッチ処理量が年々増大、能力強化へ5年の改善続ける(2ページ目) | 日経 xTECH(クロステック)

かなり大変なチューニングが必要ってことか。

最後に,長い時間をかけてゆっくり実行してよいジョブでは,CPUなどのリソース割り当てを減らした。配送時間が午前8時より遅い帳票の出力など,時間に余裕があるジョブに適用している。
このほか,メインフレームから移行したジョブの改修にも着手した。移行したジョブのうち,処理が重いものを新規プログラムとして作り替えている。移行したジョブは,新規開発したものより性能が低い。自動変換ソフトのランタイム・エンジンによるエミュレーション処理が伴うためだ。2008年10月には20数本,2009年4月には30本程度のプログラムを作り直した。
こうした改善により,現在は当初の1.35倍の処理能力を実現している。実際の処理伝票数は,予想通り増えた。2006年には年間4億4700万件だった伝票数は2008年には4億9100万件と1割も増加している。それでも現在のバッチ処理時間は,以前より約20%短い。
目標とした1.5倍の処理能力は,移行したプログラムの再構築などを今後も続けることで,2010年中にほぼ実現する見込みである。佐藤氏は,1.5倍の目標に確実に到達できるように,さらなる改善策を検討している。

基幹のバッチ処理量が年々増大、能力強化へ5年の改善続ける(3ページ目) | 日経 xTECH(クロステック)

screenshot