GreatSQL Rapid引擎正式上线!

2024-02-05 18:03:09 浏览数 (1)

* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。

Rapid引擎简述

GreatSQL 8.0.32-25版本开始,新增Rapid存储引擎,该引擎使得GreatSQL能满足联机分析(OLAP)查询请求。

Rapid引擎采用插件(Plugin)方式嵌入GreatSQL中,可以在线动态安装或卸载。

Rapid引擎不会直接面对客户端和应用程序,用户无需修改原有的数据访问方式。它是一个无共享、内存化、混合列式存储的查询处理引擎,其设计目的是为了高性能的处理分析型查询。

Rapid引擎整体架构如下图所示:

  • Rapid引擎的核心代码是采用C 11开发,该引擎没有任何其他的依赖。
  • Rapid引擎适用于OLAP场景,它采用向量化计算技术,充分利用CPU SIMD技术。
  • Rapid引擎内部采用DataBlocks存储结构,这是一种兼顾OLTP和OLAP的压缩存储结构。其数据存储的基本格式:RowGroup based Storage。存储引擎将一个表的数据按行划分为多个RowGroup的组合,每个RowGroup最大存储122880行,内部数据按列进行存储。
  • Rapid内部是一个基于矢量化推送的模型(vectorized push-based model),在执行过程中,向量(vector)会在各个操作符之间流转,而不是一个个元组(tuple),采用了 Morsel驱动并行实现方式,将一个执行计划切分成多个管道(pipeline),每个管道采用 push-based的方式进行数据传递和调用。

性能表现参考

TPC-H测试表现

GreatSQL Rapid引擎性能表现优异,在32C64G测试机环境下,TPC-H 100G测试中22条SQL总耗时仅需不到80秒。下面是和其他类似产品的对比数据,仅供参考(测试时间:2024.1.31):

数据压缩率

下面是几个不同TPC-H数据量级的压缩率数据:

TPC-H仓库大小

InnoDB引擎数据文件大小

Rapid引擎数据文件大小

压缩率

TPC-H 1GB

2003026076

276574208

7.24

TPC-H 100GB

184570593436

28728373248

6.42

TPC-H 500GB

1167795142848

146723045376

7.96

经过GreatSQL社区的测试分析可以看出,相较于InnoDB存储引擎,Rapid存储引擎在存储效率上获得了极大提升。在存放相同的数据集时,Rapid的数据文件所需要的空间仅为InnoDB的6~7分之1,大约降低了85%左右。

0 人点赞