数仓虚拟化技术:PieCloudDB 通过中国信通院 2023 「可信数据库」性能评测的强力支撑
“可信数据库”是国内首个数据库的评测体系,被业界广泛认可为产品能力重要的衡量标准之一。PieCloudDB 在该评测中展现出卓越的数据处理速度、稳定性和可扩展性,为用户提供了强大的数据分析和查询能力。
6 月 15 ~ 16 日,中国信通院 2023 上半年“可信数据库”评测专家评审会圆满结束,经过现场测试、产品资料审核、测试报告审核、质询与答疑、集中评议等多个评审环节,共计 28 家企业的 33 款产品通过本次评审。拓数派首款数据计算引擎 PieCloudDB 云原生虚拟数仓凭借优异的能力表现通过评测,获得分布式分析型数据库性能测试证书。
云原生虚拟数仓 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)》。
数据库是复杂的系统软件,分布式数据库则更是让软件的复杂性“更上一层楼”,因此构建高效的分布式云原生数据库可以说是难上加难。PieCloudDB 获得的成绩充分说明了业界对 PieCloudDB 性能的认可。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
跨越山海,爱在滇西|拓数派为滇西孩子点亮科学梦想
近日,拓数派在共青团浙江大学委员会、景东县教育体育局和景东团县委等单位指导下开展“爱在滇西”2023年公益助学活动,并携手浙大国际科创中心、浙大微纳电子学院、启真科技控股公司和北京德恒律所共同向景东浙大求是中学捐赠爱心助学金,用于科技阅览室的筹建。拓数派财务部负责人王姗姗作为企业代表全程参与了本次活动。 图为:“爱在滇西”2023年公益助学活动 现场合影 拓数派自成立之初,始终坚守「数字向善」的初心,积极投身社会公益活动,践行社会责任。作为“爱心助学团”的一员,拓数派希望通过本次捐赠,为学生们提供一个良好的学习阅读场所和科技启蒙的空间,激发同学们学习科学的兴趣,播下投身科学的种子。 图为:“爱在滇西”2023年公益助学活动 捐赠仪式 “爱在滇西”大型公益助学活动始于2014年,资助范围覆盖景东县全部13个乡镇、87所学校、1400余名中小学生。 拓数派财务负责人王姗姗表示:“非常荣幸可以为孩子们的‘科学梦想’插上翅膀,点上希望之光。作为企业代表,在滇西深切感受到了公益助学活动带来的希望。本次科技阅览室的捐赠是拓数派助力青少年科普教育的一个起点。未来,拓数派还将积极参与相关领域的科研和产...
- 下一篇
DjangoAdmin 敏捷开发框架 Tornado+EleVue 版本 v1.0.0 发布
v1.0.0 更新内容:1、设计、规划和研发基础 RBAC 权限架构;2、编写框架核心底层代码;3、对系统模板进行架构设计及模板继承相关设计;4、研发框架基础模块,如字典、配置、行政区划管理等等常规基础模块;5、设计并研发代码生成器,根据表结构动态解析并生成模块文件和增删改查功能;6、设计并研发一系列其他配套功能很常规使用函数; 一款 Python 语言基于Tornado、Vue2.x、ElementUI、MySQL等框架精心打造的一款模块化、高性能、企业级的敏捷开发框架,本着简化开发、提升开发效率的初衷触发,框架自研了一套个性化的组件,实现了可插拔的组件式开发方式:单图上传、多图上传等一系列个性化、轻量级的组件,是一款真正意义上实现组件化开发的敏捷开发框架。 软件信息 软件名称:DjangoAdmin敏捷开发框架Tornado+EleVue版本 官网网址:https://www.djangoadmin.cn 文档网址:http://docs.tornado.elevue.djangoadmin.cn 演示地址:http://manage.tornado.elevue.djangoad...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- 2048小游戏-低调大师作品
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音