大数据架构设计(四十五)

大数据架构有Lambda架构和Kappa架构。

大数据可以解决的问题?

  1. 处理非结构化和半结构化数据。
  2. 大数据复杂性、不确定性特征描述和刻画方法以及大数据系统建模。
  3. 数据易构性 与 决策易购性的关系。(数据易构性主要是不同的数据库种类)

大数据处理系统系统特征:

  1. 鲁棒性和容错性
  2. 低延迟读取和更新能力
  3. 横向扩展
  4. 通用性
  5. 延展性
  6. 即席查询能力(及时响应用户查询需求)
  7. 最少维护能力
  8. 可调试性

Lambda架构设计目的在于提供一个满足大数据系统关键特性的架构。整合离线计算和实时计算,融合不可变性、读写分离和复杂性隔离等原则。

Lambda架构应用场景:机器学习、物联网、流处理。

可分解为三层:

批处理层、加速层和服务层。

批处理层:处理离线数据,历史数据

加速层:实时计算,追加的在线数据

服务层:流处理视图、批处理视图和查询视图。

Hadoop(HDFS)用于存储主数据集,Spark可构成加速度层,HBase作为服务层。

Hadoop是分布式文件系统,存储我们的历史主数据。

Spark是专门大数据处理,快速通用的计算引擎。

Lambda优点:容错性好,查询灵活性,易扩展和易伸缩。

缺点:全场景覆盖代码带来的开销。针对离线的益处不大,可以考虑不需要批处理,只需要实时处理。

Lambda本质是事件溯源(隐式调用)和CQRS 读写分离。

因为lambda是通过消费kafka来存储和计算数据的,以事件驱动为核心,业务数据只是驱动产生的视图,并且 批处理和加速层实现读写分离。写到视图再从视图里面读,并不是实时写和实时读。

Kappa架构的原理

在lambda的基础上进行优化,删除了batch layer批处理层,将数据通道以消息队列进行代替。来了数据直接塞到消息队列,以流处理为主,实时计算没有问题,当需要离线分析的时候,则将数据湖的数据再次通过消息队列重播一次。

Kappa和lambda的区别:

  1. kappa不是lambda的替换架构,而是其简化版,kappa擅长数据增量的写入。
  2. Lambda更适合对历史数据的分析。

Kappa的缺点:

  1. 消息中间件 缓存的数据量和回溯数据有性能瓶颈。通常算法是180天的数据回溯。
  2. 大量不同的实时流进入消息队列,非常依赖计算机系统的能力。
  3. 抛弃了离线数据,所以它离线计算没有lambda稳定。

Kappa+流式数据处理框架,核心思想是读取HDFS里数据仓库数据,一并实现实时计算和历史数据计算。

混合架构系统:

Kappa+flink构件kappa架构,利用Flink来计算,主要解决kappa分析历史数据能力不足问题。

区别:

开发复杂度和维护:

Lambda架构更复杂,开发和维护成本高,需要维护两套。

Kappa架构只需要维护一套,复杂度低,开发、维护成本低。

计算开销:

Lambda需要一直运行批处理,实时计算,计算开销大。

Kappa必要进行全量计算,计算开销相对小。

实时性:

Lambda和kappa都可以满足实时性。

历史数据处理能力:

Lambda批示全量处理,吞吐量大,历史数据处理能力强。

Kappa流式全量处理,吞吐相对较低,历史处理能力弱。

如果业务对Hadoop和spark和strom等关键技术依赖,选择lambda。

如果依赖Flink计算引擎,则kappa更合适。

批处理层每天凌晨将kafka浏览、下单消息同步到HDFS,再将HDFS中的日志解析成Hive表,用hive sql/spark sql计算出分区统计结果hive表,最终hive表导出到mysql服务中。另一方面曝光、点击和花费通过外部数据的第三方api获取,写入mysql表。

相关推荐
狂团商城小师妹3 小时前
智慧废品回收小程序php+uniapp
大数据·微信·微信小程序·小程序·uni-app·微信公众平台
豪越大豪3 小时前
豪越消防一体化安全管控平台新亮点: AI功能、智能运维以及消防处置知识库
大数据·人工智能·运维开发
码界筑梦坊5 小时前
基于Flask的短视频流量数据可视化系统的设计与实现
大数据·python·信息可视化·flask·毕业设计
weixin_307779136 小时前
PySpark实现GROUP BY WITH CUBE和WITH ROLLUP的分类汇总功能
大数据·开发语言·python·spark
平凡君6 小时前
ElasticSearch查询指南:从青铜到王者的骚操作
大数据·elasticsearch·搜索引擎
Dolphin_Home8 小时前
搭建 Hadoop 3.3.6 伪分布式
大数据·hadoop·分布式
Yvonne9788 小时前
Hadoop HDFS基准测试
大数据·hadoop·hdfs
Yvonne9788 小时前
Hadoop初体验
大数据·hadoop
m0_7482475510 小时前
重学SpringBoot3-整合 Elasticsearch 8.x (二)使用Repository
大数据·elasticsearch·jenkins
南宫文凯10 小时前
Hadoop-HA(高可用)机制
大数据·hadoop·分布式·hadoop-ha