本連載では、情報システムの次代を担うITの7大トレンドを順次紹介していく。今回は、分散処理の徹底によって超高速化を狙う最新の「バッチ処理」技術を見ていこう。
【分散バッチ処理】 Hadoop型の分散処理で、バッチを超高速化
銀行の勘定系システムなどに採用され、古くからよく知られるバッチ処理は、今や、情報システムの最先端分野だ。多くのコンピュータメーカーが提供していた独自仕様のメインフレームから現在主流のパソコンサーバーに至るまで綿々と続くバッチ処理をオープンソース・ソフトウエアに委ね、しかも分散処理を徹底することが大きなトレンドになりつつある。
西鉄ストアは、オープンソースの分散バッチ処理ソフト「Hadoop(ハドゥープ)」を使った基幹業務システムを2011年9月末に稼働させる。店舗から集まるPOS(販売時点情報管理)データの集計・分析から会計までを担うシステムで、「4~5時間を要していたバッチ処理を、20~30分に短縮できる」(構築を受注したウルシステムズの神林飛志取締役*)。システム刷新後は夜を徹したバッチ処理が、閉店後の短時間で終わるはずだ。
■基幹向けにデータ保全を強化
Hadoopがバッチを高速処理できる秘けつは、「MapReduce(マップリデュース)」と呼ぶ分散処理の手法にある。大量のデータを多数のサーバーに分けて集計・加工する処理が「Map」、処理結果を一つの表にまとめて出力する処理が「Reduce」だ(図1)。
依存関係が薄いデータならば、各サーバーが非同期で分散処理を進められる。切り分けた個々のデータ群の処理だけにCPU性能をフルに発揮できるこの仕組みで、高速化を図る。
Hadoopには「DB(データベース)に比べて信頼性が低く、開発作業に高いスキルが必要」という指摘もあるが、こうした懸念を払しょくするITベンダーの取り組みが始まっている。
例えばNTTデータは業務データを保全するため、Hadoop上でMapReduceを管理する重要なサーバーを冗長化したり、併用するDBのデータ復元機能を活用したりするシステム構築手法を提案する(表1)。