大数据架构如何做到流批一体?

本文介绍了大数据处理的挑战和架构发展,重点讨论了Lambda架构和Kappa架构的优缺点。Lambda plus架构通过Tablestore和Blink实现了流批一体处理,简化了数据链路,降低了运维难度,适用于IOT、时序数据等场景。
摘要由CSDN通过智能技术生成

640?wx_fmt=jpeg

阿里妹导:大数据与现有的科技手段结合,对大多数产业而言都能产生巨大的经济及社会价值。这也是当下许多企业,在大数据上深耕的原因。大数据分析场景需要解决哪些技术挑战?目前,有哪些主流大数据架构模式及其发展?今天,我们都会一一解读,并介绍如何结合云上存储、计算组件,实现更优的通用大数据架构模式,以及该模式可以涵盖的典型数据处理场景。


大数据处理的挑战


现在已经有越来越多的行业和技术领域需求大数据分析系统,例如金融行业需要使用大数据系统结合 VaR(value at risk) 或者机器学习方案进行信贷风控,零售、餐饮行业需要大数据系统实现辅助销售决策,各种 IOT 场景需要大数据系统持续聚合和分析时序数据,各大科技公司需要建立大数据分析中台等等。


抽象来看,支撑这些场景需求的分析系统,面临大致相同的技术挑战:


  • 业务分析的数据范围横跨实时数据和历史数据,既需要低延迟的实时数据分析,也需要对 PB  级的历史数据进行探索性的数据分析;

  • 可靠性和可扩展性问题,用户可能会存储海量的历史数据,同时数据规模有持续增长的趋势,需要引入分布式存储系统来满足可靠性和可扩展性需求,同时保证成本可控;

  • 技术栈深,需要组合流式组件、存储系统、计算组件和;

  • 可运维性要求高,复杂的大数据架构难以维护和管控;


简述大数据架构发展


Lambda 架构


Lambda 架构是目前影响最深刻的大数据处理架构,它的核心思想是将不可变的数据以追加的方式并行写到批和流处理系统内,随后将相同的计算逻辑分别在流和批系统中实现,并且在查询阶段合并流和批的计算视图并展示给用户。Lambda的提出者 Nathan Marz 还假定了批处理相对简单不易出现错误,而流处理相对不太可靠,因此流处理器可以使用近似算法,快速产生对视图的近似更新,而批处理系统会采用较慢的精确算法,产生相同视图的校正版本。


640?wx_fmt=png

图 1 Lambda架构示例


Lambda架构典型数据流程是(http://lambda-architecture.net/):


  1. 所有的数据需要分别写入批处理层和流处理层;

  2. 批处理层两个职责:(i)管理 master dataset (存储不可变、追加写的全量数据),(ii)预计算batch view;

  3. 服务层对 batch view 建立索引,以支持低延迟、ad-hoc 方式查询 view;

  4. 流计算层作为速度层,对实时数据计算近似的 real-time view,作为高延迟batch view 的补偿快速视图;

  5. 所有的查询需要合并 batch view 和 real-time view;


Lambda 架构设计推广了在不可变的事件流上生成视图,并且可以在必要时重新处理事件的原则,该原则保证了系统随需求演进时,始终可以创建相应的新视图出来,切实可行地满足了不断变化的历史数据和实时数据分析需求。


Lambda 架构的四个挑战


Lambda 架构非常复杂,在数据写入、存储、对接计算组件以及展示层都有复杂的子课题需要优化:


  1. 写入层上,Lambda 没有对数据写入进行抽象,而是将双写流批系统的一致性问题反推给了写入数据的上层应用;

  2. 存储上,以 HDFS 为代表的master dataset 不支持数据更新,持续更新的数据源只能以定期拷贝全量 snapshot 到 HDFS 的方式保持数据更新,数据延迟和成本比较大;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值