前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Inceptor5.1-批处理分析数据库的进阶

Inceptor5.1-批处理分析数据库的进阶

作者头像
企鹅号小编
发布2018-02-28 15:20:13
1.8K0
发布2018-02-28 15:20:13
举报
文章被收录于专栏:企鹅号快讯企鹅号快讯

Transwarp Inceptor是针对于批量处理及分析的数据库,被广泛应用于数据仓库和数据集市的构建。Inceptor基于Hadoop和Spark技术平台打造,加上自主开发的创新功能组件,有效解决了企业级大数据数据处理和分析的各种技术难题,帮助企业快速构建和推广数据业务。

这是Inceptor 5.1的架构图,与5.0版本相比,其中有两个模块发生了明显变化。一个是分步执行引擎中增加了向量化执行引擎Windrunner,另一处是在分布式列存中将Holodesk构建于新引入的存储架构Shiva。

除了功能的新增,Inceptor的性能也有提升,其中批处理性能平均提升20%,交互式分析性能提升40%。

本文将详细解读Inceptor 5.1的以上功能与性能改进。

向量化计算引擎

Inceptor5.1在执行层中引入了向量化执行引擎Windrunner,这是一种针对数据集市及实时数据仓库的高性能分布式计算引擎,可以高速地读取列式存储Holodesk,进行向量化的计算。

传统大数据执行引擎通常采用标量执行的方式,不足在于当处理数据比较密集的运算时,CPU用于计算的利用效率较低。

向量化执行引擎将一次一行的处理方式改变为一次一列,当构建于选用列式存储方案的系统中时可以充分利用CPU的计算能力,对于像OLAP这种数据较密集的计算场景实现大幅的速度提升。有效的将硬件的强大计算能力转化为软件生产力。

总体而言,Windrunner通过采用向量化的处理方式获得了以下特性:

通过批量的操作降低解析、传输等操作的开销。

借助数据向量化的特点,利用CPU SIMD指令集加速。

通过向量化算法提升系统并行化效率。

通过实现向量化算子来最终实现SQL编译模型。

Windrunner是Inceptor Engine的向量化实现,可以剖析热点计算、充分利用CPU特性完成热点代码生成,动态对SQL结构进行分析,基于向量化的思想选取高效的运行时行列对象模型,在提升性能的同时节省内存使用,有效加速交互式分析业务场景。

全新一代分布式存储框架

Inceptor 5.1内置自研全新一代存储框架Shiva,可以对接各种专用存储引擎(Holodesk,ES,LevelDB等),并兼顾存储系统各自特性,大幅提升存储的稳定性、运维能力以及高可用性。

开发Shiva的目的是为了向大数据处理系统提供一个高可靠、高性能、可扩展、可运维的存储框架,该框架提供统一的存储接口、事务接口,作为一套通用框架对接SQL引擎、事务引擎和计算引擎,从而避免各个存储引擎在高可用、接口抽象、运维等方面重复造轮子,使存储引擎团队专注于存储自身的开发工作。

Shiva只依赖本地文件系统,不依赖HDFS,因此有更好的存储性能。同时还基于Raft一致性协议的raft group保证高可用,提供高效的RPC通信,以及合并策略,有利于实现统一的分布式存储运维。

更快更可靠的列式存储

列式存储引擎Holodesk可以直接构建于Shiva之上,因而可获得由Shiva带来的高可用和多副本特性:通过Shiva管理Mestadata实现Holodesk的高可用;因Shiva提供分布式的存储管理,建立Holodesk多副本机制。

此外,开发人员对Holodesk本身从存储效率、处理速度以及功能也进行了优化:降低了索引列的开销,最高可以节省40%空间;提升了读表的性能;增加了对varchar2和char字段类型的支持;开始支持普通硬盘,而且在多块硬盘情况下,可以达到接近SSD的性能。

交互分析性能提升

Holodesk是提供交互式分析的关键利器,上面三方面改进都与Holodesk相关联,而正是它们的实现创造了交互式分析的性能提升:

首先引入了向量化的执行引擎Windrunner,支持Holodesk,兼容现有的SQL以及常用Operator和UDF,使OLAP交互式分析性能大幅提升。

其次实现了统一的高可用分布式存储框架Shiva,提供高性能,高可用,支持多种存储格式,实时写入与批量模式,提升Holodesk稳定性和运维能力。

最后是对Holodesk本身的优化,实现数据高可用,减少存储开销,增加读取性能。

通过实验发现,对于复杂分析类的业务,Inceptor所采用的Windrunner+Holodesk+Shiva组合能够达到对同类产品数倍的性能和稳定性优势。

在TPC-DS 1T测试中,同样以Holodesk为存储引擎的情况下,Windrunner相较于Inceptor 5.0使性能平均提升了34%,对于部分OLAP场景甚至实现了86%的提升。

离线分析性能提升

对于批处理,我们通过调整编译器的架构,提升了SQL的支持度,对各种复杂子查询提供更好的处理以及优化支持。同时开发人员改进了各类优化器的优化能力和语句执行逻辑,从而提高Inceptor 5.1在各种场景中的执行性能。

其中MBO、CBO、ISO三种优化器的主要改进如下:

基于物化的优化器(MBO)

开始支持对 insert statement启用物化优化功能;支持Cube增量构建,有效提高Cube实例化效率;可适用于更多的子查询优化。

基于成本的优化器(CBO)

采用新的统计信息收集算法,使收集统计信息的任务性能提高2~3X,精度提高80%以上;采用新的代价估算模型,在统计信息缺失情况下也可以进行基于成本的优化;增加对Outer Join的优化支持。

SQL过程间优化器(ISO)

可以更好的处理WITH AS在全局SQL中的优化。

通过性能的优化改进Inceptor批处理性能相较于5.0有明显提升,在TPC-DS 1TB测试中实现20%的性能提升,大幅领先其他计算平台。

结语

通过本文的介绍,此次Inceptor 5.1的变化主要体现在以下几点:

执行引擎增加了向量化的处理引擎Windrunner;

存储方面加入了存储框架Shiva构建全新的存储架构;

对列式存储引擎Holodesk的优化;

因实现1、2、3项内容实现的交互式分析加速;

批处理的性能优化。

这些改进使得Inceptor作为大数据分析型数据库与其他产品相比,在构建数据仓库、数据集市、实现数据分析方面更具竞争优势。

往期原创文章

大数据开放实验室由星环信息科技(上海)有限公司运营,专门致力于大数据技术的研究和传播。若转载请在文章开头明显注明“文章来源于微信订阅号——大数据开放实验室”,并保留作者和账号介绍。

本文来自企鹅号 - 大数据开放实验室媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文来自企鹅号 - 大数据开放实验室媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档