当前位置: 首页 > article >正文

Kappa数据架构学习小结

Kappa 架构是一种大数据处理架构,它的核心思想是**只用一套实时流处理系统**来解决所有数据处理需求(包括实时和离线分析),而不是像传统的 Lambda 架构那样需要同时维护实时和离线两套系统。

---

### 通俗理解:
假设你有一个不断更新的日记本,每天记录自己的开销。传统方式(Lambda 架构)可能需要:
1. **实时记录**:每花一笔钱就立刻更新当天的总开销(类似实时计算)。
2. **定期复核**:每天晚上再从头核对一次所有记录,确保没有错误(类似离线批处理)。

而 Kappa 架构的做法是:
- **只用实时记录这一种方式**。如果发现之前的记录有错,不需要单独复核,而是直接从头到尾重新播放一遍所有开销记录,重新计算一遍总开销(通过流数据重播)。

---

### 举个具体例子:
假设你运营一个短视频平台,需要实时统计每个视频的播放量,同时每天生成播放量的历史报告。

#### 传统 Lambda 架构的做法:
1. **实时层**:用流处理系统(如 Flink)实时统计播放量,展示给用户当前数据。
2. **离线层**:每天用批处理系统(如 Hadoop)重新计算所有历史数据,生成最终准确的报告。
3. **合并结果**:把实时层和离线层的结果合并展示。

#### Kappa 架构的做法:
1. **只用流处理系统**:所有播放量数据通过消息队列(如 Kafka)存储,流处理系统(如 Flink)实时计算播放量。
2. **需要历史数据时**:直接从 Kafka 中重新读取所有历史数据,用流处理系统重新计算一遍,生成最终结果。
   - 比如发现某天统计有误,就重新处理一次所有数据,而不是维护两套系统。

---

### Kappa 架构的关键特点:
1. **数据重播**:所有原始数据保存在消息队列(如 Kafka)中,可以反复消费。
2. **单一系统**:无需同时维护实时和离线两套代码逻辑。
3. **简化运维**:避免了 Lambda 架构中两套系统数据一致性的问题。

---

### 适用场景:
- 需要实时处理,但对历史数据重新计算需求较少。
- 数据源天然是流式数据(如 IoT 设备数据、用户行为日志)。
- 团队希望简化架构复杂度。

### 缺点:
- 如果历史数据量极大,反复重播可能效率较低。
- 对消息队列的存储能力和可靠性要求较高。

通过这种设计,Kappa 架构用“时间换空间”,牺牲一定的计算资源(反复重播数据)来换取架构的简洁性。


http://www.kler.cn/a/534770.html

相关文章:

  • 【初/高中生讲机器学习】0. 本专栏 “食用” 指南——写在一周年之际⭐
  • (9)gdb 笔记(2):查看断点 info b,删除断点 delete 3,回溯 bt,
  • 【2025】camunda API接口介绍以及REST接口使用(3)
  • 穷举vs暴搜vs深搜vs回溯vs剪枝系列一>黄金矿工
  • 安全策略实验报告
  • 18.[前端开发]Day18-王者荣耀项目实战(一)
  • 惠普HP工作站如何关闭关闭RAID?
  • DeepSeek 部署过程中的问题
  • 2025年家用音响市场分析:潜力无限,音质为王的新纪元
  • PyTorch 预分配显存是什么,为什么会有PyTorch 预分配显存
  • 【C语言系列】深入理解指针(5)
  • RabbitMQ深度探索:五种消息模式
  • CentOS 7.3编译Rsyslog 8.1903.0
  • 机器学习9-卷积和卷积核2
  • Android_P_Audio_系统(1) — Auido 系统简介
  • 【FPGA】 MIPS 12条整数指令 【3】
  • UE_C++ —— Properties
  • 高手之间的较量,是“想过”和“想透”之间的较量
  • 深入理解小波变换:信号处理的强大工具
  • python代码
  • HELLOCTF反序列化靶场全解
  • langchain教程-2.prompt
  • DeepSeek写的lammps反应势断键动态显示程序
  • 使用requestAnimationFrame减少浏览器重绘
  • 事件驱动架构(EDA)
  • 电路研究9.2.10——合宙Air780EP中文件系统读写命令使用方法研究