ストリーム処理を基礎から理解する【後編】
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サービス、そしてストリーム処理を中核としたシンプルでスケーラブルなインフラが台頭しており、リアルタイムデータ活用の主流技術として定着しつつある。
「ストリーム処理」を実現するツールとフレームワーク
併せて読みたいお薦め記事
連載:ストリーム処理を基礎から理解する
ストリーム処理の潮流
ストリーム処理の基本概念は数十年前から存在していたが、オープンソースのツールやクラウドサービス、メッセージング基盤の進化により、現在ではより簡単に実装できるようになっている。代表的なツールやフレームワークには、以下のようなものがある。
- Apache Spark Streaming
- 「Apache Spark Streaming」はストリーム処理とバッチ処理の両方に対応するフレームワークだ。Apache Kafkaや「Apache Flume」「Amazon Kinesis」などの複数のストリーミングデータのソースと連携してリアルタイムデータを処理できる。
- Apache Kafka
- Apache Kafkaは、複数のアプリケーション間でのデータ統合を簡素化する分散イベントストリーミングプラットフォーム。
- Apache Flink
- 「Apache Flink」は、リアルタイムかつ大規模なデータストリームを処理するための分散処理エンジンおよびフレームワーク。
- Apache Samza
- 「Apache Samza」は、複数のソースからの大量のリアルタイムデータを処理できる分散型ストリーム処理フレームワーク。データの状態(ステート)を保持しながら処理するステートフルアプリケーションの構築が可能。
- Apache Storm
- 「Apache Storm」は、無制限のストリームデータを処理するための分散型リアルタイム計算システム。オンライン機械学習や「ETL」(データの抽出、変換、ロード)処理に適する。
主要クラウドサービスベンダーも、ストリーム処理を簡素化するネイティブサービスを提供している。例えば、Amazon Kinesis、「Azure Stream Analytics」「Google Cloud Dataflow」などがある。
これらのフレームワークは、アプリケーションとデータストアを接続するパブリッシュ/サブスクライブサービスと組み合わせて用いられることが多い。
ストリーム処理のアーキテクチャ
ストリーム処理のアーキテクチャは、データの取り込み、処理、公開といった一連のデータ管理作業を安全かつ確実に実行するための基盤であり、これらの作業を簡素化する役割を担っている。用途や要件に応じて複数のアーキテクチャが存在し、それぞれ異なる手法でリアルタイムデータを処理する。
代表的なアーキテクチャには以下のようなものがある。
Lambdaアーキテクチャ
Lambdaアーキテクチャは、リアルタイムでのストリーム処理と、過去データを対象としたバッチ処理を組み合わせたハイブリッド型の構成だ。ストリーム処理は高速なデータアクセスや即時的なインサイトを提供し、バッチ処理は大量の履歴データに基づく集計や分析に適している。特にビッグデータ処理に向いたアーキテクチャとして知られる。
Lambdaアーキテクチャの主な構成要素は、データソース、バッチ層、スピード層、サービング層の4つ。バッチ層は不変(イミュータブル)かつ追記専用形式でマスターデータを保持し、処理の正確性と再現性を担保する。新たに到着するデータはまずキューに格納され、サービング層によってインデックス化される。スピード層はストリーム処理を通じて、データをリアルタイムにインデックス化し、ユーザーのクエリに即座に応答できるようにする。
Kappaアーキテクチャ
Kappaアーキテクチャは、主にメッセージングエンジン、ストリーム処理エンジン、分析用データベースで構成される。例えば、分散メッセージング基盤のApache Kafkaがデータの連続的な流れを受信し、それをストリーム処理エンジンがリアルタイムで分析可能な形式に変換。変換後のデータは分析用データベースに送られ、ユーザーはこのデータベースに対してクエリを実行して情報を取得する。
Kappaアーキテクチャの特徴は、ストリーム処理のみでバッチ処理を代替する点にある。全てのデータ処理がストリームベースで実行されるため、構成がシンプルになり、Lambdaアーキテクチャに比べて運用負荷も軽減される。リアルタイム分析に加え、過去のデータ分析にも対応可能で、1つの技術スタックで多様な分析要件に対応できる点が強みだ。
Copyright © ITmedia, Inc. All Rights Reserved.
TechTarget発 世界のインサイト&ベストプラクティス
米国TechTargetの豊富な記事の中から、さまざまな業種や職種に関する動向やビジネスノウハウなどを厳選してお届けします。
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[株式会社MatrixFlow] 「物流リソース最適化」ガイド:人員・配車・傭車を出庫依頼の確定前に決めきる -
製品資料
[株式会社キーエンス] なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは -
製品資料
[株式会社セールスフォース・ジャパン] 「CRMは設計と無関係」は本当か? PLMとの融合で実現する高速開発 -
事例
[日本ヒューレット・パッカード合同会社] AIエージェントの時代にどう備える? 「新たな働き手」を支える3要素とは -
製品資料
[日本ヒューレット・パッカード合同会社] “横並びの自動化”から脱却、AI活用で生産性と競争力を高める秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
2
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
-
3
法務と開発者で「言葉が通じない」問題 トヨタやソニーが語るOSS管理の真実
-
4
情シスの約8割が転職や退職を意識 調査で分かった“辞めたくなる最大の理由”
-
5
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
6
【漫画付き】ひとり情シス協会が明かす、RAG導入でしくじる企業「2つの共通点」
-
7
「Wi-Fi 7」経由でWindowsが乗っ取られる? 最高権限奪取の恐怖
-
8
「IBM iはDXのボトルネック」は誤解 意外と知らない今風モダナイズの効果
-
9
「朝8時にバッチが終わらない」データ爆発の危機をJPX総研はどう乗り越えたか
-
10
「中堅・中小企業のネットワーク・セキュリティ運用実態」に関するアンケート
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
3
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
4
財務部門がAIを最大限に活用する方法 無駄のない戦略的リーダーシップへの道
-
5
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
6
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
7
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
-
8
生成AIを開発に導入しても効果が見えない? 実証実験で分かった成果と課題
-
9
経産省DX指針から読み解く、受発注業務デジタル化ロードマップ
-
10
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー