特性描述
大数据OmniRuntime通过插件化的形式,端到端提升数据加载、数据计算和数据交换的性能,从而提升大数据分析性能。
随着互联网的发展,数据规模出现了爆炸式的增长,需要处理的数据量越来越大,CPU算力的增长远远滞后于数据的增长。大数据开源生态也越来越丰富,但多样化的计算引擎和开源组件也同时带来了全生命周期数据处理性能提升难的问题。不同的大数据引擎采用各自独特的优化策略和技术来提高性能和效率,但有些优化项会在多个引擎中重复应用,可能存在差异或冲突,导致计算性能下降。此外,重复应用相同的优化项可能导致资源竞争和冲突,降低整体计算性能。
大数据
OmniRuntime包括的子特性如表1所示。
特性名称 |
特性介绍 |
---|---|
采用Native Code(C/C++)实现大数据SQL算子来提高查询性能的特性,通过列式存储和向量化执行技术,同时利用鲲鹏向量化指令,、用高性能Native算子替换开源版本Java算子,提升算子的执行效率,从而提升查询引擎的查询性能。 |
|
是一个大数据引擎Spark的性能加速组件,运行在客户数据中心的大数据集群内,通过内存池统一编址、数据内存语义交换及融合Shuffle等关键特性,减少数据磁盘I/O开销,提高数据分析的时效性和集群资源利用率。 作为Spark的性能加速组件,通过Spark提供的插件机制,实现Shuffle Manager和Broadcast Manager插件接口,无侵入式替换Spark的开源版本Shuffle和Broadcast。 |
|
针对spark-submit提交的任务,使用OmniAdvisor参数调优2.0特性,通过AI算法智能化、专家规则优化等方式对任务进行参数采样和优化配置推荐,最终实现对Spark任务的端到端参数调优。 |
|
通过AI算法从历史SQL查询中推荐出最优物化视图,并在Spark中自动对用户SQL进行物化视图匹配,将匹配成功的物化视图替换用户执行计划的部分SQL,大幅减少重复计算,提升查询性能。该特性支持用户将SQL任务提交给Spark集群,集群管理节点进行任务分配,分发多个子任务到对应的多个计算节点执行。 |
|
优化了Hadoop Yarn的容量调度算法,通过获取集群的负载信息,并基于节点物理资源权重计算及排序结果,优先调度低负载节点,提升了集群的负载均衡性,实现资源的均衡配置和高效利用。 |
|
该特性是一个大数据引擎Spark的机密计算组件,运行在客户数据中心的TEE环境内,通过在基于硬件的TEE环境中执行计算过程对数据进行加解密,保证数据在REE侧也是安全隐私的。在机密计算场景下OmniRuntime提供了OmniShield机密大数据特性,提供了DataFrame、SparkSQL应用的数据源加解密能力,并可以结合Arm的机密计算TEE套件能力为Spark应用提供端到端安全防护。 |
|
该特性是使用独立的索引表存储索引数据,加速SingleColumnValueFilter条件查询。当给定的查询条件可以命中索引时,将对数据表的全表查询转换为对索引表的精确范围查询,提升查询速度。 |
|
该特性是将大数据引擎的算子下推到存储节点的服务,从而实现近数据计算,减少网络带宽占用,提升查询引擎的查询性能。该特性支持Spark组件下推Filter、Aggregation、Limit算子到存储节点CPU,支持对ORC/Parquet等主流数据类型的访问,实现近数据计算,减少无效数据在网络上的传输,提升大数据计算性能。 |
|
OmniStream Flink Native化 |
是一种采用Native Code(C/C++)实现Flink SQL算子来提高查询性能的特性,通过对Flink引擎进行Native化改造,以实现性能的显著提升。 |
OmniStateStore状态优化 |
基于Flink提供的状态优化后端插件机制,提供状态优化的加速,从而提升Flink的整体性能。 |
OmniRuntime子特性已适配的开源组件和版本如表2所示。
子特性名称 |
已适配的开源组件和版本 |
---|---|
OmniData算子下推 |
|
OmniOperator算子加速 |
|
OmniShuffle Shuffle加速 |
|
OmniStateStore状态优化 |
Flink 1.17.1、Flink 1.16.3 |
OmniMV物化视图 |
|
OmniAdvisor参数调优 |
|
OmniHBaseGSI全局二级索引 |
HBase 2.4.14 |
OmniShield机密大数据 |
|
OmniScheduler Yarn负载调度算法 |
|
OmniStream Flink Native化 |
Flink 1.16.3 |