华为云FusionInsight MRS融合大数据平台进阶之路

2023-10-13 04:30

本文主要是介绍华为云FusionInsight MRS融合大数据平台进阶之路,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 【摘要】

      FusionInsight 8.0 MRS新版本由华为研发团队精心打磨,是产品演进的重要转折点,通过对CarbonData、HetuEngine及众多社区组件的升级和加强,实现了融合分析的一站式所见即所得大数据平台。

【导读】

      大数据诞生之初聚焦在海量数据的批分析,实际使用场景基本都是海量数据T+1的跑批业务,随着用户业务的不断发展,对数据使用维度的复杂性和T+0时效性要求也在不断增加,而且每个需求上都有细粒度甚至苛刻的定义。为此,华为研发队伍不断的加大MRS研发力度,FusionInsight 8.0 MRS版本是产品演进过程中一个较大的转折点,产品在保障跑批及跑批性能的同时,考虑到用户对T+0数据时效的贴源分析场景,引入了更高性能的交互式查询引擎,实现企业全量数据分析从T+0贴源分析,到全量数据融合分析,再到结果的交互式探索分析,解决了过去数据共享难、使用效率低、跨系统链路复杂等难题,实现了统一分析的一站式所见即所得平台。

      除此之外,新版本对Spark、Hive等组件进行了增强,使得原有业务应用的性能得到大幅提升,在MRS平台上构建海量数据融合批、流、交互式的一站式分析平台。

      FusionInsight 8.0 MRS的版本已正式发布,本文意在结合融合大数据场景重点介绍新版本的核心产品能力。

支持事务ACID,实现全量数据T+0入湖,一站式融合分析,消除数据孤岛

      事务以及事务的ACID是数据处理中永恒的话题,原本是经典的数据库设计理论,现在已经逐渐衍生到各种数据平台产品中,MRS也不例外,目的是为了解决在Hadoop生态中数据时效达到T+0贴源分析。

      实际上在MRS早期版本中已经沿用并增强了Hive本身对事务的支持,但实际场景中使用效果并不理想,既要兼顾列式引擎的极致查询性能,又要兼顾传统MPP基于事务能力的行式存储,这给研发人员提出了很大的挑战。FusionInsight 8.0 MRS的版本里,由华为贡献的顶级项目CarbonData升级到 2.0版本,在保证列式存储天然的优势外,极大的提升了ACID能力,同时也提升了Upsert操作的性能,使得T+0贴源分析的数据应用场景的业务需求得到充分满足,让用户得到同OLAP几乎一致的体验感。

      除此之外,FusionInsight 8.0 MRS还支持Merge操作,极大的丰富了SQL的语法且能保证一致的性能。

传统大数据平台中T+1流水线示例

传统大数据平台中T+0流水线示例

      在业务场景上,受Lambda/Kappa架构思想的影响,过去用户往往会建立两条流水线作业,一条是T+1从Source->PDM->SUM->MARK的分层结构的批处理模型,另一条是基于Flink/Kafka的流式处理引擎实现实时数据的消费,遗憾的是,仅T+0的数据无法满足业务需求,还是要依赖T+1的方式来实现。

 FusionInsight 8.0 MRS新版本中的统一分析新方案

      FusionInsight 8.0 MRS中,Carondata引入事务机制,将两条作业流水线完美融合,流式引擎可以以实时或者准实时的方式处理后存储在Carbondata中,直接以T+0的方式进行贴源数据的加工和分析。给用户提供了一种完整的贴源Source->PDM->SUM->MARK统一分析新方案。

Carbondata提供丰富的索引和物化视图,提升Spark/Hive性能

      索引的多样性是Carbondata的一大特色,这给开发者更多的优化手段和极大的优化空间,让SQL解析的过程向数据库优化器功能更进一步。在FusionInsight 8.0 MRS版本中,引入了二级索引、时序索引、空间索引、Segment级别MINMAX索引、倒排索引和分桶索引。

FusionInsight 8.0 MRS的三级索引方案

   

      其中,一级索引在Driver端利用分区和块级索引实现粗粒度的分区剪裁;二级索引在节点内使用块内索引实现细粒度数据过滤;三级索引在文件内实现倒排索引快速定位到明细数据。三层索引按序使用,对于非主键的精确查询秒级响应,极大的提升了OLAP分析性能。

      Carbondata实现了数据库的物化视图能力,不仅支持很多场景下数据的动态实时更新,还支持物化视图中对Join、Group By、Order By等SQL能力,实现了基于物化视图的复杂查询秒级响应。

HetuEngine 提供高性能交互式查询

      HetuEngine是一个高性能的交互式查询工具,可以直接查询Hive数据,无需将数据从Hive中迁移到其它数据库,通过一个引擎可以访问所有格式的数据,且兼容SQL2003标准。HetuEngine 的核心架构采用管道式多线程任务,CPU资源可以充分利用,相比较Hive+MR的机制,大大提升响应能力;数据处理在内存中完成,内存块之间的数据交换避免了磁盘的IO开销,极大的提升了性能。

      与此同时,HetuEngine将计算资源统一交给Yarn进行资源管理,无需像Impala一样规划单独的节点部署,同时还充分享受到了YARN的多租户资源隔离机制,可实现计算资源的弹性伸缩。实现了真正的数据共享、计算隔离、弹性伸缩。满足了企业越来越多的高并发即席分析场景,大集群的扩展能力,灵活的租户分配机制,通过横向扩展能力可轻松实现10000+并发的即席分析。

 

HetuEngine

      HetuEngine对跨源、跨域的数据融合也做到了极强的支撑,通过公共的连接插件层整合了多种数据源的连接插件,对于异构平台的HBase/Hive/ElasticSearch,以及高斯DWS,都能实现融合关联分析。

“一份数据 + 一个引擎”支持数据湖全场景使用

      以HBase、MongoDB或者ElasticSearch为代表的Nosql数据库,虽然可以支持实时查询类业务,但是均不支持存算分离的部署架构,为了满足PB级别存储的需求,需要启动更多的计算节点,消耗更多的CPU和存储成本,同时还要付出更多的运维成本,计算和存储的紧密耦合也意味着更低的计算和存储利用率。

      以Spark on Parquet、Hive on ORC为代表的Hadoop生态数据仓库解决方案,支持将数据放在对象存储服务上,但是没有对数据构建高效的索引,使得明细数据查询或者复杂查询都很慢。

     为了实现“又方便又快又便宜”的任性,FusionInsight 8.0 MRS引入了HetuEngine 和Carbondata 2.0,对接并完全发挥了Carbondata的优势,能够像关系型数据库一样高效执行复杂交互式的SQL查询,又可以兼备NoSQL的索引性能优势,还能和Spark/Hive一样享受文件存储成本优势和高度可扩展性的数据并行处理。

异构融合,平滑演进

      对于计算引擎来说,基于Carbondata 2.0,原先已经投产的Flink、Hive、Hetu等计算引擎怎么办?FusionInsight 8.0 MRS支持异构引擎无缝接入,不会因为新组件的引入造成原组件无法使用或性能降低。 

       对存储引擎来说,在引入了Carbondata之后,之前基于Parquet或者ORC格式存储的文件怎么办?是否需要迁移?HetuEngine 支持对Parquet、ORC、CarbonData数据进行统一访问,无需迁移即可实现全域数据的统一管理和使用。如果想全部用CarbonData存储格式实现统一的数据管理和非异构的数据关联,Carbondata 2.0支持PB级别Parquet数据平滑导入,完全不必担心新组件引入带来的迁移障碍。

基于FusionInsight MRS新版本的企业大数据参考架构

      在典型的基于Hadoop生态的企业架构中,数据仓库基于Hive构建,如下图所示,跑批业务从文件交换区读取当天的数据增量开始,以T+1的方式顺次加工处理并整合到各个逻辑存储层,如下红色箭头代表了T+1时效的数据流向。实时业务在没有Carbondata之前,仅仅通过Kafka/Flink引擎将数据采集并存储到贴源区,供用户直接使用。由于不支持事务ACID,实时数据无法保证数据一致性,密集的交易数据无法通过数据处理逻辑(贴源->ODS->PDM->SUM->MARK)而保证业务的上的数据准确。引入Carbondata和HetuEngine 之后,T+0的数据完全可以保证事务ACID机制,从而实时数据经过业务逻辑层次按序加工后,保证准确性和一致性。 

 

FusionInsight 8.0 MRS新版本的企业大数据参考架构

【结束语】

      FusionInsight 8.0 MRS基于CarbonData 2.0和HetuEngine 以及其它社区组件的升级与增强,提供了一种全新的企业级的融合大数据平台解决方案,基于事务的增强,用户可以完全实现T+0时效的数据消费和贴源分析,一份数据同时支持多种应用场景,一个引擎支持多种数据存储模式,充分利用资源,消除数据孤岛。支持的数据规模达到EB级,ACID能力增强,查询性能秒级响应,多索引优化,高性能交互式查询以及异构融合。使用一套生态体系完成全部业务场景的愿景得以实现。

这篇关于华为云FusionInsight MRS融合大数据平台进阶之路的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/w397090770/article/details/107587864
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/200780

相关文章

SpringBoot实现接口数据加解密的三种实战方案

《SpringBoot实现接口数据加解密的三种实战方案》在金融支付、用户隐私信息传输等场景中,接口数据若以明文传输,极易被中间人攻击窃取,SpringBoot提供了多种优雅的加解密实现方案,本文将从原... 目录一、为什么需要接口数据加解密?二、核心加解密算法选择1. 对称加密(AES)2. 非对称加密(R

详解如何在SpringBoot控制器中处理用户数据

《详解如何在SpringBoot控制器中处理用户数据》在SpringBoot应用开发中,控制器(Controller)扮演着至关重要的角色,它负责接收用户请求、处理数据并返回响应,本文将深入浅出地讲解... 目录一、获取请求参数1.1 获取查询参数1.2 获取路径参数二、处理表单提交2.1 处理表单数据三、

Spring Validation中9个数据校验工具使用指南

《SpringValidation中9个数据校验工具使用指南》SpringValidation作为Spring生态系统的重要组成部分,提供了一套强大而灵活的数据校验机制,本文给大家介绍了Spring... 目录1. Bean Validation基础注解常用注解示例在控制器中应用2. 自定义约束验证器定义自

C#实现高性能Excel百万数据导出优化实战指南

《C#实现高性能Excel百万数据导出优化实战指南》在日常工作中,Excel数据导出是一个常见的需求,然而,当数据量较大时,性能和内存问题往往会成为限制导出效率的瓶颈,下面我们看看C#如何结合EPPl... 目录一、技术方案核心对比二、各方案选型建议三、性能对比数据四、核心代码实现1. MiniExcel

SQL常用操作精华之复制表、跨库查询、删除重复数据

《SQL常用操作精华之复制表、跨库查询、删除重复数据》:本文主要介绍SQL常用操作精华之复制表、跨库查询、删除重复数据,这些SQL操作涵盖了数据库开发中最常用的技术点,包括表操作、数据查询、数据管... 目录SQL常用操作精华总结表结构与数据操作高级查询技巧SQL常用操作精华总结表结构与数据操作复制表结

Redis中的数据一致性问题以及解决方案

《Redis中的数据一致性问题以及解决方案》:本文主要介绍Redis中的数据一致性问题以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Redis 数据一致性问题的产生1. 单节点环境的一致性问题2. 网络分区和宕机3. 并发写入导致的脏数据4. 持

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

Java注解之超越Javadoc的元数据利器详解

《Java注解之超越Javadoc的元数据利器详解》本文将深入探讨Java注解的定义、类型、内置注解、自定义注解、保留策略、实际应用场景及最佳实践,无论是初学者还是资深开发者,都能通过本文了解如何利用... 目录什么是注解?注解的类型内置注编程解自定义注解注解的保留策略实际用例最佳实践总结在 Java 编程

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格