BDCC - Lambda VS Kappa
文章目录
- 概述
- 区别
- Lambda架构:
- Kappa架构:
- 总结
- 适用场景:
- 案例:
- 小结
概述
Lambda架构和Kappa架构都是用于处理大数据的架构模式。
Lambda架构使用了批处理和流处理两种不同的处理方式来处理数据。数据首先通过流处理层进行实时处理,然后再通过批处理层进行离线处理,最后将两种处理结果合并起来得到最终的结果。Lambda架构的优点是可以同时处理实时和历史数据,并且可以保证数据的一致性,但是需要维护两套不同的代码和基础设施。
Kappa架构则只使用流处理来处理数据,将所有数据都视为实时数据进行处理。这样可以简化架构,并且可以实现更低的延迟和更高的吞吐量。但是,Kappa架构无法处理历史数据,也无法保证数据的一致性
区别
主要差异如下:
Lambda架构:
- 三层架构:
- Batch层:离线批处理历史数据
- Serving层:在线服务查询和检索
- Speed层:实时流式处理
- 优点:成熟易实现,能处理历史数据
- 缺点:批流计算需整合,系统复杂
Lambda架构典型的框架和技术主要包括:
Batch层:
- Hadoop:批处理计算和存储框架,用于大规模数据离线处理
- Hive:数据仓库工具,用于历史数据的离线分析
- Spark:批处理框架,用于大数据离线计算和处理
Serving层: - HBase:列式数据库,用于在线查询和检索
- Elasticsearch:搜索和分析引擎,用于在线服务和查询
Speed层: - Storm:实时流式计算框架,用于实时数据处理
- Spark Streaming:Spark的流式计算组件,用于实时数据计算
- Flink:流批一体的大数据计算框架,既可以做批处理也可以做流处理
- Kafka:消息队列,用于实时数据传输和缓冲
其他: - Zookeeper:协调服务,用于Lambda架构中各系统的协调
- YARN:资源调度平台,用于资源分配和作业调度
所以,Lambda架构 typical 的技术框架主要是: - 批处理:Hadoop、Hive、Spark 等
- 在线服务:HBase、Elasticsearch 等
- 流计算:Storm、Spark Streaming、Flink 等
- 消息队列:Kafka
- 资源调度:YARN
- 协调服务:Zookeeper
这些框架和技术的组合实现了Lambda架构的三层架构模式
Kappa架构:
- 全流式处理,无批处理层
- 数据持续产生,流式计算引擎实时计算
- 优点:简单无需整合批流计算,低延迟
- 缺点:对历史数据处理能力较弱
- 典型技术:Kafka、Flink、Storm等
Kappa架构典型的框架和技术主要包括:
- Kafka:消息队列,用于实时数据收集和传输
- Flink:流批一体的计算框架,用于实时数据计算和处理
- Spark Streaming:Spark的流式计算组件,用于实时数据计算
- Storm:实时流式计算框架,用于实时数据处理
- Samza:流式处理框架,基于Kafka和YARN,由LinkedIn开发
- Beam:统一批流处理模型,实现无缝切换,由Apache开源
其他: - YARN:资源调度平台,用于在Kappa架构中资源的分配和调度
- HDFS:分布式文件系统,用于数据的存储
- Zookeeper:协调服务,用于Kappa架构中各系统的协调
所以,Kappa架构典型的技术框架主要是: - 流式计算:Flink、Spark Streaming、Storm、Samza、Beam 等
- 消息队列:Kafka
- 资源调度:YARN
- 分布式存储:HDFS
- 协调服务:Zookeeper
这些框架和技术通过流式计算和消息队列实现了Kappa架构的全流式处理模式。
其中,Flink和Spark Streaming作为新一代的流式计算框架,被广泛使用在Kappa架构中。Samza和Beam也具有流计算能力,但使用较少。Storm作为老牌流计算框架,其使用也在逐渐减少。
Kafka作为消息队列,是整个Kappa架构中最为核心的技术,用于收集和传输实时数据流。
所以Kappa架构的关键技术真可以总结为:流计算框架 + Kafka
总结
- Lambda架构:批处理+流处理,实时与历史数据结合
- Kappa架构:全流式处理,低延迟实时计算,历史数据处理弱
适用场景:
- 需要历史数据,选择Lambda架构
- 实时性要求高,选择Kappa架构
案例:
- 电商推荐系统:Lambda架构,利用用户历史行为推荐
- 网络攻击检测:Kappa架构,低延迟实时检测异常
小结
面试可能会问到两种架构的优缺点、适用场景以及典型案例。要理解其背后的设计思想和计算模式,而不仅是表象上的区别。
总之,Lambda架构试图结合批处理和流处理的优点,实现对历史数据和实时数据的结合处理。而Kappa架构以流处理为主,实现低延迟的实时计算,但对历史数据的处理相对较弱。
BDCC - Lambda VS Kappa相关推荐
- 一篇文章搞懂数据仓库:数据仓库架构-Lambda和Kappa对比
在介绍Lambda和Kappa架构之前,我们先回顾一下数据仓库的发展历程: 传送门-数据仓库发展历程 写在前面 咳,随着数据量的暴增和数据实时性要求越来越高,以及大数据技术的发展驱动企业不断升级迭代, ...
- Lambda架构Kappa架构
Lambda架构 Lambda 是用Nathan Marz(实时处理框架storm的作者) 提出的用于同时处理离线和实时的数据的,可容错的,可扩展的分布式系统.它具备强鲁棒性,提供低延迟和持续更新.它 ...
- 大数据三种主流架构(Lambda、Kappa、IOTA)
文章目录 前言 Lambda架构 Lambda架构的介绍 Lambda架构的关键性 Lambda的三层架构 Lambda的三层架构 Speed Layer 速度层 Serving layer 服务层 ...
- 大数据架构Lambda、kappa、iota架构
1.流式架构传统大数据架构 优点:简单,易懂,对于BI系统来说,基本思想没有发生变化,变化的仅仅是技术选型,用大数据架构替换掉BI的组件. 缺点:对于大数据来说,没有BI下如此完备的Cube架构,虽然 ...
- 实时数仓之 Kappa 架构与 Lambda 架构
大家好,我是球球.今天,我们先了解一下数据仓库架构的演变过程,本文主要从五个方面进行介绍 数据仓库概念 离线大数据架构 Lambda 架构 Kappa 架构 Lambda 架构与 Kappa 架构的对 ...
- 实时数仓之 Kappa 架构与 Lambda 架构(建议收藏!)
大家好,我是土哥. 2021 年 1月份,给大家重点分享一下离线数仓与实时数仓的内容.今天,我们先了解一下数据仓库架构的演变过程,本文主要从五个方面进行介绍 数据仓库概念 离线大数据架构 Lambda ...
- hadoop学习之旅1
大数据介绍 大数据本质也是数据,但是又有了新的特征,包括数据来源广.数据格式多样化(结构化数据.非结构化数据.Excel文件.文本文件等).数据量大(最少也是TB级别的.甚至可能是PB级别).数据增长 ...
- 大数据和数据库的理解文章收藏
(1) 基本的大数据和数据库的定义,概念的等的区别 https://cloud.tencent.com/developer/news/397291 主要是将大数据比喻为: "大海扑鱼&qu ...
- 熬夜精心整理的一线大厂大数据、人工智能全套教程下载(含视频+源码)!!...
如今随着环境的改变,也经常关注技术圈的发展,但自己适合的技术发展道路该怎么走,也算有个方向了. 但是技术有自己的发展周期,众所周知的很多语言技术已经在长久的历史发展中掩埋,这期间不少的程序员也走出的自 ...
最新文章
- 如何让AI教机器自己玩俄罗斯方块?
- 可以分屏的软件_分享一款非常好用,且小巧的分屏软件
- 天然气阶梯是按年还是按月_社保断缴了,还有补缴的机会?新规下,今年起按这5种方式处理...
- c语言二维图形变换程序,【计算机图形学】3-2 二维几何变换根本代码
- SAP Fiori attachment rename debug
- c语言 增删查 案例,C语言实现单链表的增删查改
- 阿里P8架构师谈:MongoDB、Hbase、Redis等NoSQL优劣势、应用场景
- 首次披露!阿里线下智能方案进化史
- python电影推荐系统的设计与实现_一种电影推荐系统的设计与实现
- ArcGIS 10.2数字化线状要素时自己主动拼接成一条线
- C++常见面试题-30道
- 异常mongodb:Invalid BSON field name XXXXXX:YYYYY.zz
- 在DOS下如何加载SATA光驱驱动
- python生成个性二维码学习笔记
- 深入浅出JMS(一)——JMS简要
- 项目管理——N个模板
- 京东下单接口sdk java,Flutter 插件开发-接入京东SDK唤醒(ios篇)
- 中文字体的FontMetrics解析
- java后端getmonth_Java中的MonthDay getMonth()方法
- PHP 的 SAPI 是个什么东西(转)