系统架构-大数据架构设计

基础介绍

三大挑战:

  1. 如何处理非结构化和半结构化数据
  2. 如何探索大数据复杂性、不确定性特征描述的刻画方法及大数据的系统建模
  3. 数据异构性与决策异构性的关系对大数据知识发现与管理决策的影响

架构特征:

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

Lambda架构

设计目的在于提供一个能满足大数据系统关键性的架构,整合了离线计算与实时计算。

Lambda架构分解为三层:批处理层、加速层和服务层

批处理层(离线):产生批处理结果视图,结果认为是精准且全量的,但处理时延较高

加速层:处理最近的增量数据流。在接收到新的数据后会不断更新视图

服务层:合并批处理层产出的视图和加速层产出的实时视图,最终得到数据集,响应用户的查询请求

优点:容错性好、查询灵活度高、易伸缩、易扩展,读写分离

缺点:全场景覆盖带来的编码开销,针对具体场景的离线处理开销很大

事件溯源与Lambda架构:

  • 整个系统以事件为驱动
  • 事件是核心,事件保存在某种存储上
  • 业务数据 只是一些由事件产生的视图

Kappa架构

在lambda架构的基础上进行优化,删除了Batch Layer(批处理层),将数据通道以消息队列进行替代。当需要进行离线分析或再次计算时,则将数据湖的数据再次经过消息队列重播一次。

优点:将实时和离线代码统一起来,避免了Lambda架构中与离线数据合并的问题

缺点:消息中间件缓存的数据量和回溯数据有性能瓶颈;非常依赖实时计算系统的能力;抛弃了离线计算更加稳定可靠的特定

Kappa+架构:让流计算框架Spark直接读取HDFS(Hadoop)里的数据仓库数据(历史/离线数据),一并实现实时计算和历史数据计算。

相关推荐
计算机编程小央姐1 小时前
【Spark+Hive+hadoop】基于spark+hadoop基于大数据的人口普查收入数据分析与可视化系统
大数据·hadoop·数据挖掘·数据分析·spark·课程设计
鲲志说2 小时前
数据洪流时代,如何挑选一款面向未来的时序数据库?IoTDB 的答案
大数据·数据库·apache·时序数据库·iotdb
没有bug.的程序员2 小时前
MVCC(多版本并发控制):InnoDB 高并发的核心技术
java·大数据·数据库·mysql·mvcc
nju_spy4 小时前
南京大学 - 复杂结构数据挖掘(一)
大数据·人工智能·机器学习·数据挖掘·数据清洗·南京大学·相似性分析
哈哈很哈哈4 小时前
Flink SlotSharingGroup 机制详解
java·大数据·flink
豆豆豆大王5 小时前
头歌Kingbase ES内连接、外连接查询
大数据·数据库·elasticsearch
在未来等你6 小时前
Elasticsearch面试精讲 Day 20:集群监控与性能评估
大数据·分布式·elasticsearch·搜索引擎·面试
roman_日积跬步-终至千里8 小时前
【系统架构设计(36)】网络规划与设计
网络·系统架构
是店小二呀8 小时前
整合亮数据Bright Data与Dify构建自动化分析系统
大数据·自动化·dify·mcp·bright data
qqxhb8 小时前
系统架构设计师备考第35天——软件架构复用
系统架构·管理·使用·获取·构件复用·机会复用·系统复用