バッチの分散処理を実現する日立のグリッドバッチソリューション

この記事を読むのに必要な時間:およそ 3 分

スケーラビリティを高める3つのポイント

それでは,グリッドバッチソリューションのシステム構成をチェックしていきましょう。大きく「統合運用管理」「アプリケーション層⁠⁠,そして「データ層」の3つに分かれています。

図3 グリッドバッチソリューションの構成

図3 グリッドバッチソリューションの構成

まず統合運用管理のレイヤーでは,ジョブのスケジューリングや実行監視などを担います。これを実現するのが「JP1/Automatic Job Management System 3」です。アプリケーション層では,複数のコンピュータのリソースを利用し,並列,分散処理を行います。これらの機能を提供するのが「uCosminexus Grid Processing Server」であり,さらに実行環境として「uCosminexus Batch Job Execution Server」が用意されています。データ層では各種ファイルシステム,あるいは複数のデータベース製品を利用することができます。

図4 グリッドバッチソリューションで提供される機能

図4 グリッドバッチソリューションで提供される機能

グリッドバッチソリューションでは,これらを利用し,まずデータを分割します。大きなデータをシリアルで処理するのではなく,小さなデータに分割してパラレルでバッチ処理を行うことで,高速化を図っていくというわけです。

こうしてパラレルで処理する際には,いくつかのポイントがあります。まず1つは,ローカルディスク方式ではなく,ファイル共用方式で処理を行う選択があるという点です。ファイル共用方式であれば,データ転送が不要になるほか,ジョブを実行するサーバを固定せずに済むため,負荷分散が容易になるというメリットがあります。

ディスク非共用方式のデータベースを利用することも重要でしょう。データを分割しても,そのデータがすべて1つのデータベースに蓄積されていた場合,結局そのデータベースにアクセスが集中し性能干渉が発生してしまいます。つまりスケーラビリティに限界があるというわけです。しかしディスク非共用方式のデータベースを利用し,テーブルを複数のデータベースに分割して保存しておけば,ジョブを実行している個々のサーバからのアクセスが分散することになるため,性能干渉が発生しません。スケーラビリティを高める上では,こうした仕組みは必須と言えるのではないでしょうか。

データへのアクセスにおいて見逃せないのがストレージのパフォーマンスの低さです。CPUがいくら高速に処理を行っても,データの読み込みや書き込みが遅ければ待ち時間が発生し,結果的に全体のパフォーマンスが低下してしまいます。この課題を解決する上で有用なのが「インメモリ機能」で,データを高速なメモリ上に配置することでディスクアクセスの頻度を抑え,処理を高速化します。

並列処理を加速する日立のデータベースとファイルシステム

こうした要件を満たすデータベース,あるいはファイルシステムとして日立製作所から提供されているのが「HiRDB」「Hitachi Striping File System」です。

日立製作所のHiRDBは,純国産のリレーショナルデータベースであり,自社開発にこだわっているのがポイントです。このため安心してサポートを受けられるという大きな利点が生まれています。

HiRDBは1つのデータベースを複数のサーバに分割する,パラレルサーバによる並列処理に対応しているため,ディスク非共用型のデータベースとして活用できます。さらにインメモリ機能を用意するなど,グリッドバッチソリューションにおいて最適なデータベースであると言えます。そのほか日本独自の文字コードのサポートなどにより,メインフレームで培われたCOBOL資産を継承できる点も魅力です。

図5 並列処理で威力を発揮するHiRDB

図5 並列処理で威力を発揮するHiRDB

Hitachi Striping File Systemは日立製作所のスーパーコンピュータ分野で培われた技術を投入した共有ファイルシステムです。これを利用することでサーバ間でファイルコピーが不要になる,ファイル共用方式でバッチの分散処理が可能になるほか,厳密なファイル排他管理機能が組み込まれているため,単一サーバと同等のデータ一貫性が保証されます。ディスクへのアクセスはファイバチャネル経由となるため,ネットワークへの負荷を抑えられるのもポイントでしょう。そしてファイルをメモリに常駐させるインメモリ機能が用意されているので,バッチ処理時間の短縮もサポートしています。

図6 ファイル共用方式で各サーバから直接データにアクセス可能

図6 ファイル共用方式で各サーバから直接データにアクセス可能

運用負荷を低減する豊富な支援機能も用意

このようにuCosminexus Grid Processing Serverを中核としたソリューションを導入することにより,バッチ処理に係わるさまざまな課題を解決することが可能です。ただ,それによって運用業務が複雑化するようでは,導入時の大きな敷居となってしまいます。

そこでuCosminexus Grid Processing Serverでは,GUIを利用してジョブを定義するためのインターフェイスが用意したり,あるいはデータの分割支援やジョブ定義の容易にするための仕組みを提供したりすることで運用負荷を低減しています。こうした配慮も,ソリューション選定時には大きなポイントになるのではないでしょうか。

図7 運用負荷を最小限に抑えながら,バッチ処理の負荷分散を実現

図7 運用負荷を最小限に抑えながら,バッチ処理の負荷分散を実現

バッチ処理の高速化には強いニーズがある一方,情報システム部門はITコストの適正化という期待にも応えなければなりません。こうした難しい課題を解決するソリューションとして,日立製作所のグリッドバッチソリューションは考慮する価値のあるソリューションでしょう。

バックナンバー

管理

  • バッチの分散処理を実現する日立のグリッドバッチソリューション