ストリーム処理を基礎から理解する【後編】

Kafkaに至る「ストリーム処理」の系譜と“クラウド時代の潮流”をたどる

センサーやアプリケーションから届く大量のデータをすぐに処理して活用したい――。それに応えるのが「ストリーム処理」だ。ストリーム処理の歴史を踏まえ、現状はどのような実装方法があるのかを解説する。

 センサーやアプリケーションなどから継続的に送られてくるデータを、リアルタイムで処理、分析するのが「ストリーム処理」だ。例えば気象観測や金融取引、製造現場の監視など、特に即時の判断がものを言う分野で活用されている。このストリーム処理の発想自体は新しいものではない。

ストリーム処理の歴史

 コンピュータの黎明(れいめい)期から、複数のセンサーから得られるデータをリアルタイムに処理・分析するための仕組みが模索されてきた。初期にはこのアプローチは「センサーフュージョン」と呼ばれており、異なる種類のセンサーデータを統合して意味のある情報を導き出すことが目的とされていた。

 2000年代初頭、スタンフォード大学のデイビッド・ラックハム教授が、「CEP」(Complex Event Processing:複合イベント処理)という概念を提唱した。CEPは、複数のデータストリームをリアルタイムで相関させ、そこから有意なパターンやイベントを抽出する手法だ。イベントの発生タイミングを抽象化して扱う技術、イベントの階層管理、因果関係の把握などを基盤とするその考え方は「SOA」(Service-Oriented Architecture:サービス指向アーキテクチャ)や「ESB」(Enterprise Service Bus:エンタープライズサービスバス)といった企業向けアーキテクチャの発展にも大きく貢献した。

 その後、クラウドサービスとオープンソース技術の進展により、分散メッセージング基盤「Apache Kafka」などを活用したPub/Sub(パブリッシュ/サブスクライブ)モデルによるイベントデータの処理が、従来よりも低コストで実現可能になった。この流れの中で、複雑なイベント処理をよりシンプルに扱えるストリーム処理フレームワークが続々と登場。CEPの枠組みを発展させた「ESP」(Event Stream Processing:イベントストリーム処理)や「DSP」(Data Stream Processing:データストリーム処理)といった概念も確立された。

 現在では、クラウドネイティブなアプリケーション開発が主流となり、SOAやESB、CEPといった用語は次第に使われなくなってきている。その代わりに、マイクロサービスアーキテクチャやPub/Subサービス、そしてストリーム処理を中核としたシンプルでスケーラブルなインフラが台頭しており、リアルタイムデータ活用の主流技術として定着しつつある。

「ストリーム処理」を実現するツールとフレームワーク

印刷する
SNSでシェア

TechTarget発 世界のインサイト&ベストプラクティス

米国TechTargetの豊富な記事の中から、さまざまな業種や職種に関する動向やビジネスノウハウなどを厳選してお届けします。

この連載の記事をもっと見る

この記事の著者

George Lawton
George Lawton

ロンドンに拠点を置くフリーランスのジャーナリスト。テクノロジーやビジネス分野を中心に30年以上の執筆経験を持つ。DevOps、人工知能(AI)技術、感情知性(Emotional Intelligence)、変革的リーダーシップ理論などの分野に関心を持つ。

関連記事

こんなメディアも見られています

TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。

無料会員登録
最新情報をいち早くチェック!

製品カタログや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます(メディアごとに文章は変更)

いますぐ無料会員登録

ベンダーコンテンツ PR

From Informa TechTarget

アクセスランキング

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10

ホワイトペーパーランキング PR

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10

TechTargetジャパン SNS

X @techtarget_itmをフォロー

インフォメーション

TechTargetジャパンをフォロー