云智慧 AIOps 社区是由云智慧发动,针对运维业务场景,提供算法、算力、数据集整体的服务体系及智能运维业务场景的解决方案交换社区。该社区致力于流传 AIOps 技术,旨在与各行业客户、用户、研究者和开发者们独特解决智能运维行业技术难题,推动 AIOps 技术在企业中落地,建设衰弱共赢的AIOps 开发者生态。

大数据架构的演进历程

对于大部分人来说,大数据架构所波及的概念及术语繁多且简单。如何将这些凌乱的词汇转化为有机思维,使其能够通过横向切面、纵向切片的形式出现进去是咱们必须思考的一个问题。本章将通过对大数据外围架构类型进行梳理,以及通过对不同阶段根底选型工具的解说,带大家具体理解大数据架构的演进历程。

基础知识介绍

MPP 架构 & 分布式架构

  • MPP 架构

MPP 大规模并行处理构造 (Massivly Parallel Processing)指将工作并行扩散到多个 SMP 节点,每个节点计算实现后,将各自局部的后果汇总在一起失去最终的后果。

因为 MPP 在数据库畛域利用较为宽泛,所以在事务一致性方面要求比拟高。从总体来讲,MPP 的一致性>可靠性>容错性。在内部的一些状况下,在能保障 MPP 一致性的时候必须保障一致性,否则就失去了数据库定位的这个实质。

  • 分布式架构

分布式架构 (Hadoop 架构/批处理架构)指集群中各节点实现自治,即独立运行部分利用;MPP 架构无奈做到节点自治,它只能作为整体对外提供服务。分布式架构 (Hadoop 架构/批处理架构)集群中各节点实现自治,即独立运行部分利用;MPP 架构无奈做到节点自治,它只能作为整体对外提供服务。

分布式架构更多关注的是“分而治之”,它要保障的是整体节点之间的一个均衡,所以从整体优先级来讲,分布式架构的容错性>可靠性>一致性。

总体来讲,咱们平时理解到的分布式架构个别指的就是 Hadoop 系列,集群以及一些数据库则指的是MPP。

OLAP 面向数据仓库与OLTP面向事务数据库

在线剖析解决 OLAP(On-Line Analytical Processing) 利用于数据仓库畛域,反对简单查问的数据分析,侧重于为业务提供决策反对(DSS);在线事务处理 OLTP(On-Line Transaction Processing) 利用于在线业务交易系统,反对频繁的在线操作(增删改)、事务个性。

总体来讲,OLAP 侧重于事务的计算、 BI 剖析、智能决策;而 OLTP 更多地是保障事务的一致性,比方在线交互零碎中的增删改操作。

分布式架构如何“拆层”

分布式架构分为分布式音讯队列层、分布式计算引擎层、分布式存储架构层以及分布式SQL引擎层和分布式配置管理层。本章中的数据架构侧重点则会对立集中在分布式计算、分布式存储和分布式 SQL 引擎三大块,上面咱们将从分布式存储切入解说。

Hadoop生态环境

因为上述所说的分布式架构和批处理均是基于 Hadoop 生态环境,所以上文所形容的分层逻辑也能够套在 Hadoop 生态中。底层 HDFS 就是方才所说的分布式存储,中间层 MapReduce 就是分布式计算,而Hive 指的就是分布式 SQL。

作为一个先驱型的技术工具,Hadoop 被广泛应用于业界各个领域之中。2004年 Hadoop 公布了第一个版本,即 HDFS 和 MapReduce,直到 2011 年 Hadoop 1.0.0 版本正式公布,在此期间,HDFS 和MapReduce 也实现了之前基于 MPP 数据库做不到的那些能力,比方多少个节点计算多少个数据量。时间跨度从 2011 年至 2016 年,版本跨度从 1.0.1 到 2.7.0,短短五年工夫,Hadoop 更新了将近 3 个大版本,这段期间能够说是 Hadoop 的暴发期。而从 2017 年到 2021 年,Hadoop 只逾越了 3 个小版本,即从 3.0.0 到 3.3.1。从上述的版本公布频率咱们能够看到 Hadoop 生态系统是始终在继续一直地欠缺。

MPPDB 与 Hadoop、传统数仓库个性比照

上面咱们将对 MPPDB 与 Hadoop 以及传统数仓库进行横向比照。 MPP 对应的是数据库,Hadoop 对应的是分布式集群,两者之间是有共性的。从存储侧来讲,MPP 的运维复杂度、扩大能力以及运维老本等个性根本都处于中等,而 Hadoop 整体的性能都是比拟劣势的,但因为 Hadoop 对技术的要求较高,所以对于一些初创公司或者技术积淀有余的一些企业,也是一种挑战。

MPP 次要实现两个性能点,一是打消共享资源,二是反对并行计算。MPP 并行构造加上 HDFS 分布式存储,原则上就是一个基于 Hadoop 生态的 Hive 分布式 SQL,达到了方才所说基于 HDFS 并行处理的分布式架构能力。

总体来讲,MPP 和 Hadoop 之间既有关联又有区别,区别的唯一性就是 Hadoop 有自已残缺的生态。

实时计算类选型个性比照

ClickHouse 是基于 OLAP 场景需要登程,全新的、MPP 架构格调的高效列式数据库管理系统,实现了数据有序存储、主键索引、稠密索引、数据 Sharding、数据 Partitioning、TTL、主备复制等丰盛性能,属于剖析型数据库。

Elasticsearch 是一个分布式、高扩大、高实时的搜寻与数据分析引擎。它能很不便的使海量数据具备搜寻、剖析和摸索的能力。通过充分利用 Elasticsearch 的程度伸缩性,使价值密度极低的海量数据在生产环境变得更有价值。

HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase 技术可在便宜 PC Server 上搭建起大规模结构化存储集群。

Druid 是一个为 OLAP 查问需要而设计的开源大数据系统,Druid 提供低延时的数据插入、实时的数据查问能力。

分布式 SQL 引擎个性比照

Spark(SQL on Hadoop)中应用 Scala 语言开发的类 MapReduce 通用并行框架,领有 MapReduce 所具备的长处,专为大规模数据处理而设计的、疾速通用的计算引擎。

注:MapReduce 面向磁盘、Spark 面向内存。

大数据架构历程

  • 批式架构

批式大数据架构也称离线大数据架构,具备大数据处理能力,但数据处理的时效性太差。

  • 流式架构

流式大数据架构相比批式大数据架构,删除了 ETL 过程、通过数据通道失去数据流,以音讯队列的形式将处理结果推送至数据消费者;舍弃了离线批量解决模式,但数据保留周期较短;若历史数据场景或简单数据场景参加计算时,实现难度十分大。

  • Lambda 架构

Lambda 数据架构在批式大数据架构根底上减少了实时计算的链路,由数据服务层实现离线与实时后果的合并,流解决计算指标时,批处理仍然计算,最终以批处理为准,即每次批处理计算后会笼罩流解决的后果。

  • Kappa 架构

Kappa 数据架构在 Lambda 架构根底上进行了优化,删除了批处理层(Batch Layer)的架构,将数据通道以音讯队列进行代替;应用流式重新处理历史数据的吞吐能力会低于批处理,须要减少计算资源来补救。

  • 实时 OLAP 架构

实时 OLAP 变体架构是对 Kappa 数据架构的进一步演变,是将聚合剖析计算由 OLAP 引擎承当,加重实时计算局部的聚合解决压力。

  • 长处:自由度高,满足数据分析师的实时自助剖析需要,加重了计算引擎的解决压力。
  • 毛病:音讯队列中保留了存量数据,于是将计算局部的压力转移到了查问层。

数据架构个性比照

下图为具备演进相关性的 Lambda、Kappa、实时 OLAP 变体架构比照。

如何了解湖仓一体

湖仓一体架构演进史

湖仓一体首先就是数据仓库,它要做的是把数据进行分层,须要将数据先荡涤再入仓,此时,所有的数据曾经失去了本来的价值;而数据湖是将数据先入库,随后再依据业务须要对数据进行加载转化,其长处在于保障需要变动的同时,任何的数据在底层仍然能够存储下来,这也是数据湖的一个价值这也是数据湖的重要价值。

而湖仓一体就是将数据湖与数据仓库进行联合,数据湖是对存储层数据多样化能力的欠缺。

  • ETL 抽取-转换-加载(Extract-Transform-Load),先荡涤(耗费内存)再入库 。
  • ELT 抽取-加载-转换(Extract-Load-Transform),先入库(长期表)再荡涤 。

数据湖与数据仓库的互补关系

数据湖自身反对多种计算引擎以及存储计算拆散,保障了存储的时候数据是残缺的,计算的时候和存储齐全没关系,能够依照计算需要去加载数据。而数据仓库仍然放弃面向主题、面向集成、稳定性以及动态性。

技术工具选型策略

湖仓一体设计时须要思考以下因素;

  • 是否满足业务需要:技术选型并非只要求大而全,而是依据业务需要进行匹配,抉择性能覆盖度最合适的;
  • 关注成熟度/风行度:联合开源社区活跃度,具体可查看 Github Star 数;
  • 技术栈落地老本:联合架构复杂度及已有开发教训,把控应用老本;
  • 技术栈一致性:联合本公司技术栈的一致性、相关性,即代码易维护性;
  • 业界应用案例:复用后任厂商的填坑教训

下图为各技术工具成熟度/风行度数据列表:

数据湖工具选型个性比照

Hudi(Hadoop Upserts anD Incrementals)是基于 Spark2.x 治理存储在 HDFS 上的大型剖析数据集,反对在 Hadoop 上执行诸如更新、插入和删除之类的操作, 反对:读优化表(Read Optimized Table)和近实时表(Near-Real-Time Table)。

Iceberg 是一个面向海量数据分析场景的凋谢表格局(Table Format). 定义中所说的表格局(Table Format), 能够了解为元数据以及数据文件的一种组织形式, 处于计算框架(Flink, Spark...)之下, 数据文件之上。

Delta Lake 是一个存储层,为 Apache Spark 和大数据 Workloads 提供 ACID 事务能力,其通过写和快照隔离之间的乐观并发管制(Optimistic Concurrency Control),在写入数据期间提供一致性的读取,从而为构建在 HDFS 和云存储上的数据湖(Data Lakes)带来可靠性。

湖仓一体蓝图计划

基于 Hadoop 的 HDFS 存储,不仅能够存储结构化数据,还能够存储非结构化数据,并且对于历史数据和实时数据,在 Hive 上能够进行全量存储和当前的数据回溯。

湖仓一体计划预研理由

  • Hudi 集成能力:Hudi 领有良好的 Upsert 能力以及反对对接 Flink 增量解决的框架。
  • Flink 技术积淀:云智慧本人保护了局部 Flink 引擎开发,已撑持数据产品的实时计算。
  • 应答突发需要:对于突发的业务需要,可应用即席查问 Presto 满足查问。
  • 满足近期指标:反对实时获取数据到 Hive,间隔时间在分钟级别,并反对 Upsert。

理解更多

云智慧以开源集轻量级、聚合型、智能运维为一体的综合运维治理平台 OMP(Operation Management Platform) ,具备纳管、部署、监控、巡检、自愈、备份、复原等性能,可为用户提供便捷的运维能力和业务管理,在进步运维人员工作效率的同时,极大晋升业务的连续性和安全性。

点击下方地址链接,欢送大家给 OMP 点赞送 Star,理解更多相干内容~

GitHub地址:https://github.com/CloudWise-OpenSource/OMP

Gitee地址:https://gitee.com/CloudWise/OMP