PR

 ウルシステムズは2011年2月9日、オープンソースソフトウエア(OSS)の分散バッチ処理ソフト「Hadoop」を使って基幹バッチ処理を開発できるソフトウエアフレームワーク「Asakusa Framework」を、OSSとして公開すると発表した。プログラマーはHadoop独特の分散処理の仕組みを理解しなくても、基幹バッチ処理を開発できる。ソースコードは3月に公開する予定。

 Hadoopは、米グーグルの並列プログラミングモデル「MapReduce」と分散ファイルシステム「Google File System」を模した分散バッチ処理ソフト。I/O処理を複数台のサーバーで分散処理することで、バッチ処理の速度を大幅に高速化できる。

 Hadoopのプログラムは、プログラミング言語のJavaを使い、「Map処理」と「Reduce処理」というMapReduce独特の機構を組み合わせて開発する必要がある。そのため、分散処理に不慣れなプログラマーにとって敷居が高かった。ウルシステムズが開発したAsakusa Frameworkは、同社独自のDSL(ドメイン特化言語)を使って開発したプログラムから、MapReduce用のプログラムを自動生成する。プログラマーはAsakusa Frameworkを使うことで、MapReduce独特の機構を意識せずに基幹バッチ処理を開発できるようになる。

 Asakusa Frameworkは、DSLを使って開発したプログラムからMapReduceプログラムを生成する「MapReduceコンパイラ(Ashigelコンパイラ)」や、「MySQL」からデータを取り出すプログラムを自動生成する「モデルジェネレーター」、バッチジョブの実行監視を行い、障害が発生した場合に処理をやり直す運用管理機能、テストコードの自動生成機能などを備える。

 ウルシステムズは既に、Asakusa Frameworkを使った流通業向け基幹システムの開発を進めており、間もなく第一号システムがカットオーバーする予定。Asakusa Frameworkを使用することで、従来4時間かかっていたバッチ処理が、数分で完了したという実績もあるという。

 MapReduceプログラムを自動生成するフレームワークとしては、Asakusa Framework以外にも、米フェイスブックが開発した「Hive」や米ヤフーが開発した「Pig」などがあり、HiveやPigではSQLに似た構文でプログラムを開発できる。HiveやPigがデータウエアハウス(DWH)用途やビジネスインテリジェンス(BI)用途で使われているのに対して、Asakusa Frameworkは基幹バッチ処理に特化しているところに違いがある。