数据处理架构

目录

Lambda架构

Kappa架构


Lambda架构

Lambda架构由Twitter的首席科学家Nathan Marz提出。这种架构试图平衡延迟、吞吐量、容错性和系统复杂性四个方面,以满足大数据和实时数据处理的需求。Lambda架构主要由三个层次组成:

  1. 批处理层(Batch Layer):负责处理大量的历史数据,生成批处理视图。

  2. 速度层(Speed Layer):负责处理最新的数据,生成实时视图。

  3. 服务层(Serving Layer):负责将批处理视图和实时视图合并,提供最终的数据视图。

这种架构的主要优点是能够处理大规模的数据,并能对新数据进行实时处理。但是,由于需要维护两种处理机制(批处理和实时处理),所以系统的复杂性也相对较高,缺点如下:

1)同样的需求需要开发两套一样的代码

这是 Lambda 架构最大的问题,针对同一个需求需要开发两套代码,一个在批处理引擎上实现,一个在流处理引擎上实现,在写好代码后还需构造数据测试保证两者结果一致,另外,两套代码对于后期维护也非常麻烦,一旦需求变更,两套代码都需要修改,并且两套代码也需同时上线。

2)集群资源使用增多

同样的逻辑需要计算两次,整体占用资源会增多。虽然离线部分是在凌晨运行,但是有可能任务多,在凌晨时造成集群资源使用暴增,报表产出效率就有可能下降,报表延迟对后续展示也有影响。

3)离线结果和实时结果不一致

在此架构中经常我们看到次日统计的结果比昨晚的结果要少,原因就在于次日统计结果和昨日统计结果走了两条线的计算方式:次日统计结果是按照批处理得到了更为准确的批量处理结果。昨晚看的结果是通过流式运行的结果,依靠实时链路统计出的实时结果(实时结果统计累加),牺牲了部分准确性。对于这种来自批量和实时的数据结果对不上的问题,无解。

4)批量计算 T+1 可能计算不完

随着物联网时代的到来,一些企业中数据量级越来越大,经常发现夜间运行批量任务已经无法完成白天 20 多个小时累计的数据,保证早上上班前准时出现数据已成为部分大数据团队头疼的问题。

5)服务器存储大

由于批流两个过程都需要将数据存储在集群中,并且中间也会产生大量临时数据,会造成数据急速膨胀,加大服务器存储压力。

Kappa架构

Kappa架构由LinkedIn的数据工程师Jay Kreps提出。Kappa架构是对Lambda架构的一种简化,它只有一个处理层------实时处理层。

在Kappa架构中,所有的数据都被视为实时数据流,通过实时处理系统进行处理。当需要处理历史数据时,只需要将历史数据重新注入到数据流中即可。

Kappa架构的主要优点是架构简单,只需要维护一种处理机制,降低了系统的复杂性。同时,由于所有数据都是实时处理,所以能够实现更低的数据处理延迟。但是,这种架构也有其局限性,比如处理大规模的历史数据时可能会面临一些挑战

相关推荐
商业模式源码开发1 小时前
跨店积分抵现模式深度解析:本地生活增值闭环的商业架构与落地方法论
架构·异业联盟
这个DBA有点耶1 小时前
时序数据库深度对比:2026 年主流 TSDB 架构演进与选型指南
数据库·sql·云原生·架构·运维开发·时序数据库
卖芒果的潇洒农民2 小时前
Work FW-HW架构
架构
caimouse2 小时前
Reactos 第 5 章 进程与线程 — 5.1 概述
c语言·windows·架构
该昵称用户已存在2 小时前
能源数字化架构手记:MyEMS 数据建模引擎的模块化拆分与接口治理
架构·能源
Whoami!2 小时前
05-【园区】SDN+VXLAN 私有云安全防护架构
网络安全·架构·sdn·拓扑图
2501_941982052 小时前
基于自动化控制架构的企业微信群消息管理系统设计
架构·自动化·企业微信
moonsims3 小时前
基于Lattice Mesh的AI 的分布式共识与动态任务分配架构的无人机群“去中心化无声协同”技术和极低带宽下的韧性通信技术
人工智能·分布式·架构
贵慜_Derek3 小时前
《从零实现 Agent 系统》连载 23|Skill 体系与 Skill Creator:能力打包与迭代
人工智能·设计模式·架构
ting94520003 小时前
SocialEcho 2.0 全维度技术深度剖析:基于官方 API 的 AI 社交协作平台底层架构、引擎原理与工程落地详解
人工智能·架构