数仓虚拟化技术:PieCloudDB Database 通过中国信通院 2023 「可信数据库」性能评测的强力支撑...

2023-11-17

“可信数据库”是国内首个数据库的评测体系,被业界广泛认可为产品能力重要的衡量标准之一。PieCloudDB Database在该评测中展现出卓越的数据处理速度、稳定性和可扩展性,为用户提供了强大的数据分析和查询能力。

 

6 月 15 ~ 16 日,中国信通院 2023 上半年“可信数据库”评测专家评审会圆满结束,经过现场测试、产品资料审核、测试报告审核、质询与答疑、集中评议等多个评审环节,共计 28 家企业的 33 款产品通过本次评审。 拓数派首款数据计算引擎 PieCloudDB 云原生虚拟数仓凭借优异的能力表现通过评测,获得分布式分析型数据库性能测试证书。

80052a7b-5685-5f96-2d46-68a03dac6662

云原生虚拟数仓 PieCloudDB 的性能创新之路

PieCloudDB 的卓越性能源于其创新的架构和先进的技术设计。PieCloudDB 实现了云上的存算分离、数仓虚拟化以及高性能的存储和计算能力,为用户提供了高效、可靠的海量数据处理、快速查询和分析的解决方案。

对于一款云原生虚拟数仓产品而言,性能是产品成功与否的一项非常重要的指标。PieCloudDB 团队开发了很多创新性技术,使得 PieCloudDB 不但具有云原生产品的灵活性和高可扩展性,而且在数据分析性能上也毫不逊色。

1 存储优化

PieCloudDB 在云上将元数据与用户数据分离,用户数据存放在公有云平台提供的对象存储(例如AWS S3),这样可以极大降低用户的数据存储成本。但是 S3 等对象存储存在局限性,例如读取数据的网络延时较大,不支持文件的随机读写等等。PieCloudDB 针对对象存储的优缺点重新设计了存储引擎简墨(JANM)。简墨的名字出自于“竹简墨书”,纵向的竹片被横向的连接起来,形成竹简,形象地说明了 PieCloudDB 行列混存的存储模式。简墨的独特设计既能利用 S3 的优势又通过一些措施克服了访问延迟和随机读写的劣势。

PieCloudDB 团队针对 OLAP 场景和云原生场景的特点对简墨进行了大量的优化。例如在数据块级别进行统计信息收集,在查询时可以利用统计信息实现 Data Skipping 和查询优化;针对 SUM、COUNT 等聚集函数进行预计算等;优化存储格式以实现透明数据加密(TDE)、高效数据压缩、Cache 友好等特性。

除了以上特性之外,简墨在设计过程中也充分考虑了如何利用现代 CPU 和 GPU 的架构特点,进一步支持 SIMD、SIMT 指令集来数据访问提高效率。

2 数据访问优化

简墨可以说是一款云原生数据存储引擎,对公有云平台的对象存储进行了大量的优化。但是在数据访问过程中,网络延迟一直是一个无法忽视的因素。如何提高数据的访问速度,这也是 PieCloudDB 架构设计过程中解决的一个重要问题。

PieCloudDB 针对数据访问加速做了大量的工作:

2.1 数据缓存

使用缓存是加速数据访问的常用措施,PieCloudDB 实现了本地缓存,更加高效的分布式缓存也在规划中;此外,PieCloudDB 还针对数据的访问频率对缓存实现了“冷”、“温”、“热”的分级管理。

2.2 使用一致性哈希算法提高缓存命中率

PieCloudDB 实现了本地缓存,因此可能会发生跨节点读取缓存数据情况,为了避免跨节点的缓存读写,PieCloudDB 实现了一致性 Hash 存储缓存文件,提高缓冲的命中率。

2.3 使用 Data Skipping 精确加载数据

Data Skipping(Block Skipping)可以跟进预先计算数据统计信息从而判断数据块中是否有需要的数据,从而跳过不包含所需数据的数据块。

2.4 S3 访问通用优化

并行化读取数据、预读取数据、异步读取数据等。

3 强大的查询优化器

如果说高效的数据访问是硬币的一面,那么强大的查询优化器则是硬币的另一面。对于一款云原生数仓产品来说,强大的查询优化器也是产品成功的一个重要方面。如何把用户复杂的 OLAP 场景的复杂 SQL 转换成高效的查询计划,是查询优化器的首要任务。

PieCloudDB 团队打造了分布式查询优化器”达奇”,对用户的 SQL 查询进行全链路优化。PieCloudDB 查询优化的处理过程一般被分为四个阶段:预处理阶段,扫描/连接优化阶段,扫描/连接之外的优化阶段,后处理阶段。

3.1 预处理阶段

在预处理阶段,化器「达奇」会通过逻辑上的等价变化,将查询树转换为更加简单高效的等式,除了常见的谓词下推之外,达奇优化器添加了大量的 SQL 语句改写,例如:

  • 把 IN, EXISTS 等类型的子查询转换为半连接
  • 把 FROM 关键字后面的子查询提升为 JOIN
  • 把外连接(OUTER JOIN)转换为内连接(INNER JOIN)/反连接(ANTI JOIN)
  • 分发约束条件
  • 构建等价类
  • 收集外连接信息
  • 消除无用连接
  • 简化表达式

3.2 扫描连接阶段

在这一阶段,优化器「达奇」的处理主要可以分为两步。首先会为基表生成扫描路径,并计算扫描路径的代价和结果集大小,从而获得后面连接操作的代价。第二个步骤中,「达奇」会搜索整个连接顺序空间,为连接操作生成最优的连接路径。这一步骤的复杂度非常高,PieCloudDB 采用了动态规划和遗传算法两个算法来进行处理,并根据 GUC 值进行算法选择。如果查询语句中涉及外连接,考虑到外连接对连接顺序的限制,无法像内连接那样随意切换连接顺序,会加大这一步骤的复杂度。

3.3 扫描/连接之外的优化阶段

这一阶段,「达奇」会先处理 GROUP BY、聚集、窗口函数、DISTINCT,再对集合操作进行处理,最后再处理 ORDER BY。以上的每一步操作都会产生一个或多个路径,「达奇」会对这些路径根据代价大小进行筛选,并为筛选出的路径添加 LockRows,Limit,ModifyTable。

3.4 后处理阶段

经过前面三个阶段,「达奇」已经生成了一个大概的查询计划。在后处理阶段,「达奇」会把选出的最优路径转换为查询计划,并对最优计划进行一些调整。

值得一提的是,拓数派凭借在云原生虚拟数仓的突出成果和优异表现, 参与了于 2023 可信数据库发展大会上发布的《数据库发展研究报告(2023)》的编写工作,并成功入选了《中国数据库产业图谱(2023)》。

ac37fa89-d255-89ae-dbf6-845e9f4a5fa0

数据库是复杂的系统软件,分布式数据库则更是让软件的复杂性“更上一层楼”,因此构建高效的分布式云原生数据库可以说是难上加难。PieCloudDB 获得的成绩充分说明了业界对 PieCloudDB 性能的认可。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数仓虚拟化技术:PieCloudDB Database 通过中国信通院 2023 「可信数据库」性能评测的强力支撑... 的相关文章

  • centos7离线升级gcc到9.3.1,解决redis6安装失败

    我们在安装Redis6的时候会编译出错 大概率是因为centos7的gcc版本 centos7的默认版本是4 8 5 需要将gcc版本升级到9 如果服务器是互联网环境 可以直接通过yum命令升级 yum y install centos r
  • MFC多字节和宽字节转换方式

    第一种转换 代码中可以直接用宏定义转换 可以使用 L 或者 T 但是对于传过来的值 就不能这样了 需要写函数转换 第二种转换 必须在一个函数中执行 否则上一次调用并不会释放栈中的空间 要直到函数结束才会释放空间 测试是否释放内存空间可以使用

随机推荐

  • 单片机——PWM调光工作原理

    前言 如果只用单片机做一个调光系统 pwm是可以实现的 但是如果有其它的功能 比如传感器要检测 显示屏显示数据等等功能 就不推荐了 其它函数一多 定时器的时间又比较短 以至于单片机大多数时间都用在定时中断函数里去了 处理其它函数的时间太少
  • 京东云鼎服务器系统时间问题-时间戳参与与服务器时间差异大于设定值

    业务背景 目前业务对接了各大电商平台的订单 按照规定京东需要入鼎进行调用jos接口来拉取订单 相当于与订单API之间多一个应用中转 如图 该文章暂时不讨论对接的细节 后面打算出个专题文章细说各大电商平台的对接 目前好像比较少这个业务的分享
  • ios 无法发起ajax请求,PhoneGap的iOS的Ajax请求无法完成(Phonegap iOS ajax request

    请阅读更新这个答案在底部 原来的答案 我已经找到了问题所在 并设法得到基本的认证工作 问题是 Web服务器期待基本身份验证的细节与请求一起发送先发制人 要做到这一点使用 头 的jQuery AJAX的特性如下图所示 ajax type GE
  • 【debug】error: subprocess-exited-with-error

    在安装Python的某个三方包时 出现了下面的报错方式 error subprocess exited with error 解决办法 解决方案重新安装importlib metadata pip install importlib met
  • 经典面试题-大厂SQL题目

    1 如何用一个SQL找出部门下所有员工的平均工资大于某个数 例如20000元 的所有部门 正确答案 select depno avg sal as avgsal from emp group by depno having avgsal g
  • 使用python编写脚本测试目标主机的TCP端口连通性

    使用Python的Socket模块的connect 函数来尝试连接目标主机的特定端口 如果连接成功 则说明该端口是打开的 否则 该端口是关闭的 下面是一个示例脚本 可以检测目标IP的22端口是否开启 import socket def ch
  • 【c++】类模版

    1 类模板语法 类模板作用 建立一个通用类 类中的成员 数据类型可以不具体制定 用一个虚拟的类型来代表 语法 template
  • 市场监管总局关于对锂离子电池等产品实施强制性产品认证管理的公告

    按照 国务院办公厅关于深化电子电器行业管理制度改革的意见 国办发 2022 31号 有关要求 市场监管总局决定对电子电器产品使用的锂离子电池和电池组 移动电源以及电信终端产品配套用电源适配器 充电器 以下统称新纳入产品 实施强制性产品认证
  • 树莓派安装卸载软件命令apt-get

    apt get命令用法 1 安装软件 apt get install 软件名 2 卸载软件但不删除配置 apt get remove 软件名 3 卸载软件并且删除相关配置 apt get purge 软件名 4 更新数据库 apt get
  • Python简单的用户交互

    death age 80 name input your name input 接受的所有数据都是字符串 即便你输入的是数字 但依然会被当成字符串来处理 age input your age print type age int integ
  • TS复习----TS中的接口

    目录 概念 属性接口 函数类型接口 可索引的类型 类类型接口 接口继承 概念 接口的作用 在面向对象编程中 接口是一种规范的定义 他定义了行为和动作的规范 在程序设计里面 接口起到了一种限制和规范的作用接口定义了某一批类所需要遵守的规范 接
  • windos怎么查看oracle进程,怎么样查看哪个进程使用了哪个CPU

    1 在系统维护的过程中 随时可能有需要查看 CPU 使用率 并根据相应信息分析系统状况的需要 在 CentOS 中 可以通过 top 命令来查看 CPU 使用状况 运行 top 命令后 CPU 使用状态会以全屏的方式显示 并且会处在对话的模
  • java:方法引用无效-IDEA 社区版 lombok插件报错解决

    IDEA 社区版 lombok插件报错 java 方法引用无效 报错信息1 java 方法引用无效 找不到符号 符号 方法 getId 位置 类 com xxx xxxx className 打开problem面板向上找你就会发现还有一个报
  • 天九共享赋能新基建项目,易保全区块链存证助力应用场景多点开花

    在国家政策的大力扶持下 中国的区块链发展势力愈发迅猛 作为数字经济的基石 区块链技术发挥着重要作用 据数据显示 2020年全球区块链专利累计达到5 14万件 其中中国累计申请了3 01万件 占全球总数的58 同时 近期发布的 北京城市副中心
  • C语言写网络爬虫总体思路

    使用C语言编写爬虫可以实现网络数据的快速获取和处理 适用于需要高效处理海量数据的场景 与其他编程语言相比 C语言具有较高的性能和灵活性 可以进行底层操作和内存管理 适合处理较复杂的网络请求和数据处理任务 但是 使用C语言编写爬虫也存在一些挑
  • 2个不错的通配符比较函数

    近日在和朋友讨论 MaskMatch 时偶得2个不错的算法 函数1 只支持 模糊匹配 速度比采用递归算法的快近2倍 比TMask方法快很多 函数2 完全支持正规表达式 速度于之前的相同 不会正规表达式的朋友慎用 Funtion 1 Chec
  • mysql error1215

    You have a foreign key constraint operating in both directions When you re creating the tables the first to be created w
  • 基于STM32单片机的智能鱼缸的设计

    一 任务简介 本次以STM32F103单片机为核心 设计了一款智能鱼缸 能够实现智能温控 智能换水 智能供氧 智能喂食等功能 利用单片机作为主控制器 使用Keil软件进行程序开发 除STM32F103C8T6最小系统外 系统还包含温度传感
  • 【满分】【华为OD机试真题2023 JS】货币单位换算

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 货币单位换算 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 记账本上记录了若干条多国货币金额 需要转换成人民币分 fen 汇总后输出 每行记录一条金额 金额带有
  • 数仓虚拟化技术:PieCloudDB Database 通过中国信通院 2023 「可信数据库」性能评测的强力支撑...

    可信数据库 是国内首个数据库的评测体系 被业界广泛认可为产品能力重要的衡量标准之一 PieCloudDB Database在该评测中展现出卓越的数据处理速度 稳定性和可扩展性 为用户提供了强大的数据分析和查询能力 6 月 15 16 日 中