データマネジメント データマネジメント記事一覧へ

[Sponsored]

[データマネジメント2020]

眠れる基幹データを呼び覚ます! バッチ処理時間を短縮する“並列分散処理”

2020年4月6日(月)

企業では各種システムにデータが豊富に存在しているが、その活用は一筋縄ではいかない。最たる原因が、DBからデータを抽出/加工するためのバッチ処理に多大な時間を要することだ。ノーチラス・テクノロジーズの代表取締役社長を務める目黒雄一氏は、この課題解決に向け、基幹システムのバッチ処理用の並列分散環境用開発フレーム「Asakusa Framework」の有効性を、具体的な事例を交えつつ解説した。

バッチ処理の制約が基幹データ活用を阻む!

 データ活用の推進において、システムの“バッチ処理”は悩ましい問題だ。データ量が増えるほど処理時間も長引くとともに、処理中はデータベース(DB)へのデータの書き込みも当然ながら行えない。これらの制約が原因で、すでに社内にデータが豊富に存在しつつも、活用の下準備となる加工や集計などの処理を諦めざるを得ないケースは数多い。

 ノーチラス・テクノロジーズの代表取締役社長を務める目黒雄一氏は、「その傾向は、高い安定性や堅牢性を目的に、長らくメインフレームで運用されてきた基幹システムでとりわけ顕著です。システムの性格上、仕方のない面もありますが、基幹システムのデータの重要性からも、そのことがデータ活用で大きな機会損失を生じさせていることは明らかです」と強調する。

 この状況の打開策として目黒氏が取り上げたのが、基幹システムのバッチ処理に特化した、HadoopやSparkなどの並列分散環境用開発フレームワーク「Asakusa Framework」だ。

株式会社ノーチラス・テクノロジーズ 代表取締役社長 目黒雄一氏

分散環境特有のバッチアプリ開発の難しさ

 大量データ処理の高速化では並列分散処理が極めて有効だが、目黒氏によると、同技術による基幹DBのバッチ処理には特有の難しさがあるという。そもそも、分散処理アプリケーションを開発できる技術者が少ないことがその1つ。また、開発にあたっては、基幹システム内でのデータ処理は複雑で分散処理アプリケーションのプログラムで表現することが難しく、ウォーターフォール型開発が行いにくい(従来のシステム開発の体制がとりにくい)こともある。そのため知見が共有されにくく、アプリがブラックボックス化しやすいことにもつながってくる。

 「Asakusa Frameworkは、こうした基幹DBバッチアプリの開発から実行、運用までの課題に対応した環境を包括的に提供するフレームワークです。例えば、開発はHadoopやSparkの開発方法を覚えることなく、DSLをベースとしたアプリケーション開発を行うため、未経験でも着手可能。かつ、後からプログラムを容易に読み解けるため、ブラックボックス化のリスクも抜本的に低減されます」(目黒氏)。

 開発時のローカル環境でのテスト/チェック機能や、バッチ処理後のデータ活用のための外部システムとの連携ツールも事前に用意。また、3~4カ月ごとの継続的なバージョンアップにより、Hadoop/Sparkのバージョンアップ時におけるバッチアプリの後方互換性も確保されている。オンプレミスだけでなくクラウド上での開発環境の構築も可能だ。

 一方で、分散環境の構築には何台ものサーバーが必要となり、整備コストが膨らみがちだ。この悩みに応えるべく、同社では100GB程度の小規模データのバッチ処理向けに、マルチコアによるインメモリー分散処理エンジン「M³BP」(エムキューブドビーピー)」なども提供している。その費用対効果はMapReduceの50倍、Sparkの10倍になることも珍しくはないのだという。

並列分散環境用開発フレームワーク「Asakusa Framework」

2万件のバッチ処理時間が25分から3分に

 ノーチラスは2011年にOSSとしてAsakusa Frameworkをリリースして以来、活用支援の一環として、要件定義や設計支援、アプリケーション開発、コンサルティング、トレーニングなどのサービスも併せて拡充させてきた。

 「処理高速化には、時間を要すDBへの書き戻しをできる限り抑えるなど、細かなノウハウがいくつもあります。それらをサービスとして提供することで、当社はバッチ処理の高速化を多面的に支援しています」(目黒氏)。

 Asakusa Frameworkで成果を上げた企業はすでに数多い。そのうちの1社として目黒氏は大手エネルギー企業A社を紹介した。エネルギー業界ではエネルギーの供給元である「卸」と、販売する「小売り」の分離による“自由化”が急速に進む。それを支えているのが各種のスマートメーターだ。スマートメーターは、家庭や企業などのエネルギー消費量などを測定して卸へデータを送信。それを卸の料金計算システムにバッチ処理で格納し、そこから小売りに顧客の利用明細データを提供することで、卸は小売りに、小売りは家庭や企業に利用料を請求する。

 だが、この仕組みの構築段階で浮上した直面した課題が、スマートメーターの数が膨大かつ、データの送信間隔も30分と従来の月に1度より格段も短いために、データのバッチ処理が追い付かなくなったことだ。

 「スマートメーターからのデータは最終的に1000万件まで増えることが確実な一方、200万件の時点で処理に25分を要し、このままではバッチ処理が到底間に合わないことは明白でした」(目黒氏)。

 この課題の克服に向け、A社はAsakusa Frameworkに着目。ノーチラスのコンサルティングサービスなども利用しつつ、3カ月をかけバッチ処理アプリケーションを開発したところ、処理時間は200万件で3分、1000万件で5分にまで短縮されたという。

30分単位で送られてくる検針値のデータ処理を高速化

日次の原価計算、機械学習による販売予測など多数の事例

 また、ベーカリー事業を手掛けるアンデルセンでは、原材料原価を積み上げ製品原価を算出する従来からのバッチ処理を、Asakusa Frameworkで開発したMapReduceアプリケーションに置き換えることで、処理時間を4時間から20分にまで短縮。それまでは週に2回しか行っていなかった原価管理が日次で行えるようになった。併せて倉庫内の原材料管理も日次で行われるようになったことで、従来からの人手による棚卸作業も一掃されている。

 さらに、機械学習による販売予測などでも活用されている。食品スーパーのB社では、店舗の発注精度に向け、AIによる販売予測のPoCを実施。結論から言えば、この取り組みを通じ、売上増と廃棄ロスの削減で明確な効果が確認されたが、この取り組みにおいてAsakusa Frameworkは、分析に用いる過去5年分のPOSデータや天候データ、商品マスタデータ、特売・店舗など関連するマスタデータなどが格納されたDBからのデータ抽出/加工用バッチアプリの開発に活用されたのだという。

 これらの説明後、目黒氏は、「Asakusa Frameworkにより、時間的な制約で難しかったデータ活用が現実のものとなります。その推進に向け企業には、常日頃からデータで何をしたいのかを考え、備えを進めておくことが、より一層強く求められています」と強調し話を締めくくった。


●お問い合わせ先

株式会社ノーチラス・テクノロジーズ
URL:https://www.nautilus-technologies.com/

バックナンバー
データマネジメント2020一覧へ
関連記事

トピックス

[Sponsored]

眠れる基幹データを呼び覚ます! バッチ処理時間を短縮する“並列分散処理”企業では各種システムにデータが豊富に存在しているが、その活用は一筋縄ではいかない。最たる原因が、DBからデータを抽出/加工するためのバッチ処理に多大な時間を要することだ。ノーチラス・テクノロジーズの代表取締役社長を務める目黒雄一氏は、この課題解決に向け、基幹システムのバッチ処理用の並列分散環境用開発フレーム「Asakusa Framework」の有効性を、具体的な事例を交えつつ解説した。

PAGE TOP