M³ for Batch Processing

Asakusa on M3BPM3 for Batch Processing (エムキューブド® フォー・バッチ・プロセッシング。以下、M3 for BP) は、DAG (Directed Acyclic Graph; 有向非巡回グラフ) の形で表現されたタスクを高速処理するためのフレームワークで、業務システムのバッチ処理などを効率良く開発・運用するための「Asakusa Framework™ (*1)」の実行基盤として提供されます。単一ノード上のマルチコア/マルチプロセッサ環境における実行性能を最大限に発揮するように最適化されており、業務バッチ処理の高速化と TCO 削減をより高い次元で実現しています。

M3 for BP 誕生の背景

業務システムのバッチ処理の中には、ホストやメインフレーム、データベースで数時間から数十時間をかけて行われるものがあります。この領域において処理時間を短縮したり、処理量の増加に対応するためには、数年前まで高価なスケールアップ型ソリューションしか選択肢がありませんでした。そこでより費用対効果の高いスケールアウト型ソリューションとしてノーチラス・テクノロジーズ社によって開発されたのが、分散処理基盤である Hadoop® MapReduce や Spark™ を活用するためのフレームワーク「Asakusa Framework」です。


Asakusa Framework は、これまで数十時間かかっていたバッチ処理時間を数十分レベルにまで短縮することを実現してきました。しかしながら、MapReduce は TB〜PB、Spark は数百 GB〜TB の大規模データを対象としており、小規模~中規模のデータ(数GB〜数十GB)はその対象となっていません。基幹システムなどからの業務データの多くがこの小規模~中規模のデータであるため、バッチ処理に Asakusa Framework を適用しても、分散処理に伴うオーバーヘッドが相対的に大きくなってしまい、高速化に限界がありました。また、MapReduce や Spark は、複数ノードを用意する必要があること、運用が難しいことが導入の障壁となっていました。


最新の 2-way サーバでは、単一ノードで 80 個を超える CPU コアやテラバイト級のメモリを搭載可能となっており、従来であれば複数ノードを用いて分散化しなければ処理できなかった規模のデータを単一ノードで実行できるようになってきました。そこでこうした課題を解決すべく、フィックスターズとノーチラス・テクノロジーズ社によって共同開発されたのが、M3 for BP なのです。


費用対効果に優れた Asakusa on M3BP

Asakusa on M3BP は、Asakusa DSL を始めとする Asakusa Framework の開発基盤を利用して作成したバッチアプリケーションに対して、M3 for BP をその実行基盤として利用するための機能セットを提供します。Asakusa on M3BP では、実行基盤として M3 for BP を使用することで、Asakusa Framework を用いて記述された Apache Hadoop や Spark 向けの業務バッチを、単一ノード上で高速に処理することができるようになります。とくに、小規模~中規模のデータに対しては単一ノードでありながらも Spark よりも高い性能を実現することができました。


実際の業務データを用いてバッチ処理時間を比較したところ、リレーショナルデータベースで数時間かかっていたものが、Asakusa Framework では、MapReduce との組み合わせの場合で40分弱、Spark の場合で4分弱、そしてM3 for BP の場合では2分弱にまで短縮されました。このように Asakusa on M3BP を使用することにより、実アプリケーションにおいて Asakusa on Spark を用いた場合に比べて 1/5 のノード数で約 2 倍の性能、合わせて約 10 倍の費用対効果を達成しています。


M3BP Performance Comparison with Spark and MapReduce

※性能評価結果の詳細については、Asakusa on M3BP ホワイトペーパー (PDF:456KB) をご参照ください。

関連情報

Asakusa on M3BP および M3 for BP は、OSSとして公開されています。より詳細な情報は、以下をご参照ください。
  1. Asakusa Framework™ コミュニティサイト
  2. Asakusa on M3BP
  3. M3 for BP のGitHub

お問い合わせ

M3 for BP についての御見積やお問い合わせについては、こちらからご相談ください。

 

(*1) Asakusa Framework™ は、並列分散処理基盤上で大規模な基幹バッチ処理を行うためのフレームワークで、オープンソースソフトウェアとして公開されています。Asakusa Framework™ は、その並列分散処理エンジンとしてHadoop® MapReduce、Spark™ および M3 for BP に対応しています。


※ Asakusa Framework™ は、株式会社ノーチラス・テクノロジーズの登録商標です。

※ Hadoop® 、Spark™ は、Apache Software Foundation の登録商標または商標です。

※ エムキューブド® は、株式会社フィックスターズの登録商標です