作成日: 2026-04-03 / 作成者: SAS-Sasao
flowchart TB
SRC["Data Sources: IoT / Web App / Database CDC"]
subgraph L["Lambda Architecture"]
direction TB
LK["Apache Kafka (Message Broker)"]
subgraph LB["Batch Layer"]
direction TB
HDFS["Hadoop HDFS (Raw Store)"] --> SPARK["Apache Spark (Batch)"]
SPARK --> BV["Batch Views (Druid/HBase)"]
end
subgraph LS["Speed Layer"]
direction TB
FLINK["Flink/Storm (Stream)"] --> RTV["RT Views (Redis/Cassandra)"]
end
LK --> HDFS
LK --> FLINK
BV --> SERVE["Serving Layer - Presto/Trino (Merge Views)"]
RTV --> SERVE
end
subgraph K["Kappa Architecture"]
direction TB
KK["Apache Kafka (Immutable Log / Long Retention)"]
SP["Stream Processor (Flink / Kafka Streams)"]
SS["Serving Store (Elasticsearch / Cassandra)"]
KK --> SP
SP --> SS
SP -.->|"Reprocessing (Log Replay from offset 0)"| KK
end
SRC --> LK
SRC --> KK
SERVE --> C["Data Consumers: Engineer / Analyst / App"]
SS --> C
大規模データ処理における2つの代表的アーキテクチャパターン「Lambda Architecture」と「Kappa Architecture」を 同一キャンバス上で並列比較するUMLスタイルの構成図。データ生成者(UMLアクター)、メッセージブローカー(Kafka)、 処理エンジン(Spark/Flink)、ストレージ(シリンダー形状のDB)、利用者(アクター/アプリケーション)を 適切なUMLシェイプで表現し、全データフローを可視化している。
| アーキテクチャ | コンポーネント | 説明 |
|---|---|---|
| Lambda | Apache Kafka | メッセージブローカー。全データソースからのイベントを受信 |
| Hadoop HDFS | バッチ層の生データストア。全履歴を永続保存 | |
| Apache Spark (Batch) | バッチ処理エンジン。大量データの一括変換・集計 | |
| Batch Views (Druid/HBase) | バッチ処理結果の事前集計ビュー | |
| Apache Flink / Storm | スピード層のストリーム処理エンジン。低レイテンシ処理 | |
| Real-time Views (Redis) | ストリーム処理結果のリアルタイムビュー | |
| Serving Layer (Presto) | Batch ViewsとRT Viewsをマージしてクエリに応答 | |
| Kappa | Apache Kafka (Immutable Log) | イミュータブルログ。長期保持設定で全履歴を保存 |
| Stream Processor (Flink) | 唯一の処理パス。全データをストリームとして処理 | |
| Serving Store (ES/Cassandra) | 処理結果の配信ストア。クエリに直接応答 |
Generated by /company-drawio — draw.io MCP Server