大数据架构有哪些?应该如何理解?

BI系统 , 大概的架构图如下:
核心的模块是Cube , Cube是一个更高层的业务模型抽象 , 在Cube之上可以进行多种操作 。大部分BI系统都基于关系型数据库 , 关系型数据库使用SQL语句进行操作 , 但是SQL在多维操作和分析的表示能力上相对较弱 , 所以Cube有自己独有的查询语言MDX , MDX表达式具有更强的多维表现能力 , 所以以Cube为核心的分析系统基本占据着数据统计分析的半壁江山 , 大多数的数据库服务厂商直接提供了BI套装软件服务 , 轻易便可搭建出一套Olap分析系统 。
以Hadoop体系为首的大数据分析平台:Hadoop体系的生态圈也不断的变大 , 目前围绕Hadoop体系的大数据架构大概有以下几种:
传统大数据架构
其定位是为了解决传统BI的问题 , 简单说 , 数据分析的业务没有发生任何变化 , 依然保留了ETL的动作 , 将数据经过ETL动作进入数据存储 。
适用场景:
数据分析需求依旧以BI场景为主 , 但是因为数据量、性能等问题无法满足日常使用 。
流式架构
在传统大数据架构的基础上 , 流式架构非常激进 , 直接拔掉了批处理 , 数据全程以流的形式处理 , 所以在数据接入端没有了ETL , 转而替换为数据通道 。经过流处理加工后的数据 , 以消息的形式直接推送给了消费者 。虽然有一个存储部分 , 但是该存储更多的以窗口的形式进行存储 , 所以该存储并非发生在数据湖 , 而是在外围系统 。
适用场景:
预警 , 监控 , 对数据有有效期要求的情况 。
Lambda架构
Lambda架构算是大数据系统里面举足轻重的架构 , 大多数架构基本都是Lambda架构或者基于其变种的架构 。Lambda的数据通道分为两条分支:实时流和离线 。实时流依照流式架构 , 保障了其实时性 , 而离线则以批处理方式为主 , 保障了最终一致性 。流式通道处理为保障实效性更多的以增量计算为主辅助参考 , 而批处理层则对数据进行全量运算 , 保障其最终的一致性 , 因此Lambda最外层有一个实时层和离线层合并的动作 , 此动作是Lambda里非常重要的一个动作 , 大概的合并思路如下:
【大数据架构有哪些?应该如何理解?】适用场景:
同时存在实时和离线需求的情况 。
Kappa架构
Kappa架构在Lambda 的基础上进行了优化 , 将实时和流部分进行了合并 , 将数据通道以消息队列进行替代 。因此对于Kappa架构来说 , 依旧以流处理为主 , 但是数据却在数据湖层面进行了存储 , 当需要进行离线分析或者再次计算的时候 , 则将数据湖的数据再次经过消息队列重播一次则可 。
适用场景:
和Lambda类似 , 改架构是针对Lambda的优化 。
Unifield架构
Unifield架构更激进 , 将机器学习和数据处理揉为一体 , 从核心上来说 , Unifield依旧以Lambda为主 , 不过对其进行了改造 , 在流处理层新增了机器学习层 。可以看到数据在经过数据通道进入数据湖后 , 新增了模型训练部分 , 并且将其在流式层进行使用 。同时流式层不单使用模型 , 也包含着对模型的持续训练 。
适用场景:
有着大量数据需要分析 , 同时对机器学习方便又有着非常大的需求或者有规划 。


以上关于本文的内容,仅作参考!温馨提示:如遇专业性较强的问题(如:疾病、健康、理财等),还请咨询专业人士给予相关指导!

「辽宁龙网」www.liaoninglong.com小编还为您精选了以下内容,希望对您有所帮助: