HadoopやSparkといった並列分散処理を実現するソフトウェアをよく目にするようになった。これらは何をもたらし、ITシステムをどう変化させるのか。

1.Hadoop等で敷居が下がった並列分散処理

ビッグデータ活用などの文脈でよく登場する「Hadoop」や「Spark」というソフトウエアがあります。これらは(データ量が)大量もしくは(件数が)多量のデータを「並列分散処理」できるオープンソースソフトウエアです。NTTデータでも2009年より専門部隊を結成して、さまざまな業務システムへの導入を果たしてきました。

並列分散処理とは、簡単にいうと、複数台のコンピューターを同時に使って、ひとつの計算処理を行うものです。メリットには、1台のコンピューターでは難しい大規模な処理を実現できること、1台で実行するよりも素早く結果を得られることが挙げられます。1台の性能を上げて対応するスケールアップではなく、複数台を使って性能を上げるスケールアウトを実現する技術といえます。

並列分散処理は1980年代にはある程度研究・開発された分野で、NTTデータでも個別のシステムには以前から適用しています。しかし、広く利用されるまでには至っていませんでした。それは、並列分散処理を実現しようとすると、いくつかの課題を解く必要があったためです。たとえば「あるひとつの処理をどう分割して、それぞれのコンピューターに実行させるか」「各コンピューターによる処理結果を一つの結果としてまとめるにはどうすればよいか」「処理途中にコンピューターに障害が起きた場合はどう回復するか」といった具合です。以前はこれらを業務処理ごとに個々に作り込んでいましたが、設計や実装には高い技術力が必要であり、また試験なども容易とはいえず、導入には高い壁がありました。

しかし、これらの課題の多くがHadoopやSparkといったミドルウェアによって解決されています。ある一定のフレームワークに沿ってアプリケーションを開発すれば、並列分散処理の難しい問題はミドルウェア側で解決されるようになりました。大量や多量のデータ処理が必要となるシステムにおいて、Hadoop等が並列分散処理技術の利用の敷居を下げてくれました。

2.「全件」処理に威力を発揮する並列分散処理

並列分散処理は、ビッグデータ活用を支えるシステムでは欠かせない要素となっています。サービスのパーソナライズや高度なレコメンドを行おうとすると、ユーザーごとの行動履歴などを処理して個別の特性や特徴を把握するといった処理が必要となります。サンプリングしたデータから「大局的な」特徴を把握することが有用なケースもありますが、「ユーザーごと」の特徴を把握するには「全件」のデータ処理が必要になる場合があります。全件処理することで、ロングテールに相当する隅々の特徴までもらさずに把握できるのです。

このような全件データを素早く効率よく把握するために並列分散処理が活用されています。1台のコンピューターでは数時間や数日かかっていた処理が、1時間以内などの現実的な時間で終えられるのです。パーソナライズやレコメンドなどの当時の新しいサービスも、ビジネスアイデアだけでなく、並列分散処理などの技術で支えられた側面があるとも理解できます。ソーシャルメディアのデータや自動車のプローブデータなどを処理しようとする時にも、1台のコンピューターでは処理しきれないデータ量があるため、並列分散処理の力を活用することになります。

「ビッグデータ活用」とは分類されない分野でも、たとえば、海外展開などで急増した販売明細データや在庫データ、アルゴリズム取引で急増した取引明細、データを総当たりする名寄せ処理など、既存の業務処理においても大量や多量のデータ処理を行うことになり、並列分散処理よる高い処理スループットが必要になる場合もあります。

このように並列分散処理は広い分野での活用が取り組まれ、先進的な企業や課題を抱える企業にとって大きな力となっています。

3.並列分散処理技術でITシステムの可能性はさらに拡がる

ITシステムで実現できるサービスやシステムは、コンピューターの性能に依存しているのは事実です。実際に、ITシステムの成長とともにCPUやネットワークなどの性能も向上してきました。ITシステムのケイパビリティを考える上で、ハードウエア性能の進化に注目することは重要ともいえます。

しかし、ITシステムの性能の向上は、並列分散処理などのスケールアウト型のアーキテクチャの進化でもあります。ハードウエア性能の進化だけではなかったのです。並列分散処理技術がより進化すれば、これまでよりもさらに手頃に高速な計算を実現できるようになります。実際、大量や多量のデータ処理は、既にHadoopやSparkの活用で以前よりはるかに手頃に実現できるようになっています。

その意味で、並列分散処理などスケールアウトを実現する仕組みは、今後のITシステム、ITシステムで支えられる業務やサービスを変える力を持っていると考えています。しかし、活用はまだ始まったばかりです。並列分散処理技術はまだまだ変化や浸透が続く分野でしょう。我々NTTデータも、確実にキャッチアップやリードしていき、皆さまの新しいサービスやシステムの実現の力になりたいと考えています。

ぜひ、皆さまにも、たとえばHadoopやSparkなどの並列分散処理技術によって、皆さんのITシステムをどう変貌させることができるか、新しいサービス、ビジネスが展開できないか、考えて、ワクワクして頂きたいと考えています。

著者プロフィール

株式会社NTTデータ 基盤システム事業本部 OSSプロフェッショナルサービス シニアエキスパート 濱野 賢一朗

Hadoopを中心に、高いスケーラビリティが必要となるシステム開発案件の支援やミドルウェアサポートを担当する。日本Hadoopユーザー会の一員としてイベント「Hadoop Conference Japan」の開催を主導する。著書に「Hadoop徹底入門」「Linux教科書 LPIC」(翔泳社)等がある。

お気軽に
お問い合わせ
ください

[第46回]「並列分散処理」がITシステムのスケーラビリティに変化をもたらすに関するお問い合わせ

お問い合わせフォーム

[第46回]「並列分散処理」がITシステムのスケーラビリティに変化をもたらすに関連する情報

サービス

オープンソースソフトウェアのさらなる可能性に挑むとともに、活用ノウハウを活かしたシステムの導入をご支援

詳細な分析で意思決定を迅速化、お客様のビジネスに変革をもたらす