NTT DATA

DATA INSIGHT

NTT DATAの「知見」と「先見」を社会へ届けるメディア

キーワードで探す
カテゴリで探す
サービスで探す
業種で探す
トピックで探す
キーワードで探す
カテゴリで探す
サービスで探す
業種で探す
トピックで探す
2021.10.12技術トレンド/展望

デジタル時代のデータ活用新潮流 ストリーム処理

ストリーム処理は、リアルタイムにデータの持つ価値を引き出す、デジタル時代の新しいデータ活用スタイルである。本記事では、ストリーム処理の概要と、エンタープライズに適したストリーム処理プラットフォームの考え方を紹介する。

※本記事は、「NTTデータ テクノロジーカンファレンス 2021」の講演内容に関連する記事です。
講演聴講については本記事の最下部をご覧ください。

目次

1.データ活用の広がり

ビジネスにおけるデータの価値が高まってきた現代では、データを用いたサービス開発、業務分析など、様々な形のデータ活用プロジェクトを見かけるようになりました。また、多くの企業でデータ活用の実績や経験が増えてくるにつれ、ダッシュボードやBIなどの従来から事例の多い領域から、AI、機械学習やIoTなどの新しい領域へと需要が広がってきました。そして、それらを支える新しいスタイルのデータ処理技術も発展を続けてきました。

NTTデータでは、データ活用プロジェクトを多くの業界のお客様と共に実現してきており、特に難易度が高くなりがちな大規模データ活用の世界でも、先進技術をうまく取り入れながらエンタープライズのお客様が安心してお使いいただけるベストプラクティスを醸成してきました。このベストプラクティスは、以前の「ビッグデータ活用基盤実現の道標 リファレンスアーキテクチャ」という記事(※1)にて「ビッグデータ活用基盤リファレンスアーキテクチャ」として紹介しています。本稿では、リファレンスアーキテクチャにも取り入れられた新しいデータ処理技術のひとつ、ストリーム処理にフォーカスし、その特徴をご紹介します。

図1:ビッグデータ活用基盤リファレンスアーキテクチャ。下側にストリーム処理が取り入れられている。

図1:ビッグデータ活用基盤リファレンスアーキテクチャ。下側にストリーム処理が取り入れられている。

2.ストリーム処理とは

定義の差は多少ありますが、ストリーム処理は概ね「常に発生し続けるデータ」を「低遅延(≒リアルタイム)で取得および処理」していく方式を指します。昨今の事例では、IoTセンサの処理、取引の不正検知、物流のリアルタイム分析など、多方面での応用例が見られます。

実はリアルタイムで応答するシステムというものは、何も昨今になって急に出てきた考え方ではなく、古くからあったものです。そのうちの一部は、一般的なオンライン処理システムとして実現されたものもあるでしょうし、また一部は、メッセージキューを中心としたシステムによって実現されたものもあるでしょう。しかし、今あらためてストリーム処理が注目を集めているのは、「データ活用」の広がりの一つとして新たな領域を切り開いているのが大きな違いです。

ビッグデータが当たり前になった時代のデータ活用では、もはやプラットフォーム側の制約でデータを捨てたりサンプリングしたりするような発想はなくなりました。どんなに大規模であっても全量データ処理をする技術は誰でも手に入りますし、全量データ処理をすることの価値も世界中に知られる時代になりました。ストリーム処理でも、同じように大量・大規模のデータをリアルタイムでデータ活用したいという需要が広がり、それに応じるように技術が発展してきました。

3.ストリーム処理技術

データ活用としてストリーム処理を実現しようとすると様々なワークロードが考えられますが、共通して以下のようなポイントは考慮が必要な技術要素です。

  • データの活用を目的に流通させるため、高いスループットが要求される
  • 様々なデータ発生元/データ利用先があるため、各種プロダクトやシステムとの接続は容易にしたい
  • 一般的なシステム障害ではデータロストを起こさず、復旧後の再処理も容易にしたい

こういった事情に対応するため、一般にストリーム処理を実現する際には、メッセージングハブによってこれらのポイントを吸収するアーキテクチャを取ることが主流となっています。その代表的なプロダクトとして、Apache Kafka(以降、Kafkaと呼称します)が注目されています。

KafkaはPublish‐Subscribe型の分散メッセージングシステムであり、データ収集元もデータ利用先もKafkaからデータを入出力することで、高スループットで高信頼なストリーム処理システムを実現できます。Kafkaについての詳細は、以前ご説明した記事(※2)をご参照ください。

図2:分散メッセージングシステムとしてのKafka

図2:分散メッセージングシステムとしてのKafka

4.Kafkaの運用

ストリーム処理を用いたデータ活用を実現しようと思ったら、まずKafkaを中心にしたアーキテクチャを検討すると良いですが、エンタープライズへの適用においては、まだ考えるべきポイントがあります。

世界中でとても多くの企業がKafkaを活用していますが、運用しているプロジェクトごとに、Kafkaに求める運用時の挙動やサービスレベルの期待などは大きく異なっています。多くの方にとって、Kafkaのような分散メッセージングシステムというのは経験したことがない新しいアーキテクチャだと思いますので、運用をイメージしやすい例をご紹介します。

通常Kafkaは複数ノードでクラスタを組み、クラスタ内を流れるデータは自動的に冗長化され、複数のノードによって保持されます。すると、流れるデータの特性によっては、ノード間に負荷の偏りが生じることがあります。その場合、例えばあるプロジェクトでは、負荷の偏りを自動的に調整するような機構が欲しい、と思うこともあるでしょう。しかし、負荷の偏りを自動的に調整するということは、今まで正常に動作してきた構造からあえて変化させるというアプリケーションへのインパクトがあり得るオペレーションになるため、プロジェクトによっては避けたいという判断をしても不思議ではありません。

このように、プロジェクトごとに様々な運用への思想がありますが、残念ながらKafkaはまだ先進技術であり、こういった多くの思想をすべてカバーできるほど運用機能が豊富に存在する状況ではありません。特にKafkaの採用が活発な北米での事例を見てみますと、多くのユーザ企業は、自分たちの運用スタイルや思想に合わせて、必要となる運用機能を開発・メンテナンスしながら、その企業でのデータ活用そのものの成長と合わせて改良を重ねていっていることがわかります。デジタルの時代だからこそ、「運用を作る」という考え方がこのように実現されているとも言えます。上記で例示した自動負荷調整も、Kafka本体にはありませんが、ある企業では自分たちのクラスタのためにこのような機能を作りこんで運用しているようです。

NTTデータでも、特に日本のエンタープライズでの要望が特に高い需要に対し、独自の機能開発を行い、日本の企業のみなさまがKafkaを導入しやすくする取り組みを行っています。その一つをご紹介します。日本の企業での運用では、何らかのシステム障害が発生して可用性が低下した場合、夜間や休日でも駆けつけて対処を行うケースは多くあります。Kafkaにおいても、Kafkaクラスタを構成するノードに障害が起きてしまうこと自体は避けられないですが、NTTデータではノード障害が起きた場合でも自動で復旧オペレーションを行い低下した可用性を戻すことができる機能を開発しました。これは、駆け付け対応の必要を減らしたという運用上のメリットと捉えることもできますし、障害に備えて過剰な可用性を用意する無駄を低減させたとも言えます。

図3:NTTデータが開発した運用性向上の機能の例のイメージ

図3:NTTデータが開発した運用性向上の機能の例のイメージ

このように、日本のエンタープライズでの導入事例からのフィードバックを元に、よくある要望への対応をNTTデータがカバーすることで、運用までトータルで見据えたうえでKafkaとストリーム処理をエンタープライズのお客様へ提供できるように準備しています。

5.おわりに

本稿では、データ活用の幅の広がりとして注目されているストリーム処理と、その中心となるプロダクトであるKafkaへのNTTデータの取り組みの一例をご紹介しました。NTTデータでは、Kafkaを更に多くのエンタープライズ用途にご活用いただけるよう、Kafka構築・運用ソリューション(※3)を提供しています。データ活用にストリーム処理を取り入れてみたいと思われたら、ぜひご相談ください。

6.イベントのお知らせ

NTTデータ主催 オンラインイベント

NTTデータテクノロジーカンファレンス2021 ~未来を創るNTT DATAの確かな技術力~ 2021年10月27日(水)~29日(金)

NTTデータは、2021年10月27日〜29日の3日間 「NTTデータ テクノロジーカンファレンス 2021」 をオンラインイベントとして開催いたします。

~ 未来を創る NTT DATA の確かな技術力 ~

本イベントでは、New Normalなデジタル社会への取り組みや、技術のチカラで解くグリーンイノベーションへの挑戦、OSSを中心とした最新技術など、NTTデータならではの先鋭的な技術トピックを、一緒に取り組んだお客様とともに、NTTデータの技術者がご紹介いたします。

ぜひお気軽にご参加ください。

本稿に関する講演情報

2021年10月29日
- デジタル時代の新潮流「ストリーム処理」をデータ活用で使いこなす
(NTTデータ システム技術本部 都築 正宜)

イベント詳細、お申込みはこちら
https://oss.nttdata.com/techconf2021/

- NTTデータは、「これから」を描き、その実現に向け進み続けます -
お問い合わせ