HTAP大潮下,TDSQL的探索与实践
腾讯云数据库
共 8247字,需浏览 17分钟
· 2021-06-05
5月29日, DataFunSummit——多维分析架构峰会“HTAP 引擎论坛”如约而至,本论坛由腾讯云数据库技术总监李跃森老师出品。同时,论坛上,腾讯云数据库高级工程师陈再妮带来了主题为“TDSQL在HTAP领的探索与实践”的演讲分享,以下为分享回顾。
所有节点对等 可通过任意节点查询或者加载数据 不存在性能瓶颈和单点风险
1
一、分布式数据库TDSQL-PG简介
第一个是业务特征,如果业务满足这些特征,那TDSQL-PG是非常适合的——在数据量上,OLTP超过1T,OLAP场景数据量超过5T;并发连接数超过2000,峰值业务100w/s;需要在线水平扩展能力;此外还需要同事兼顾OLTP以及OLAP的HTAP场景;并且需要严格的分布式事务保证; 第二个是业务的场景,TDSQL-PG在HTAP场景、地理信息系统,以及实时高并发、数据库国产化等场景也是很好的选择。
1
二、TDSQL-PG HTAP能力介绍
OLAP 以及 OLTP 业务访问的是同一份数据; 资源隔离,保证 OLAP 业务不影响 OLTP 业务的性能; 可以针对 OLTP 以及 OLAP 业务做不同的优化。
在集群的 coordinator 节点提供 OLTP 以及 OLAP 两个平面视角。 OLTP 业务运行在 datanode 主节点上,OLAP 业务运行在 datanode 节点的备节 点上,二者的数据同步采用流复制的方式来进行。 内核优化器会根据查询所在的平面选用对应的优化器。 OLTP 以及 OLAP 平面针对不同的负载采用合适的存储格式。
按行存储格式,数据按照逻辑顺序相同的方式来来进行文件存储,一行中的所有列数据按照顺序存储在物理磁盘上,这种格式的好处很明显——如果同时访问一行中的多列数据时,一 般只需要一次磁盘 IO,比较适合 OLTP 类型的负载。 按列存储格式,表中的每列数据存储为一个独立的磁盘文件,比如例子中,“姓名”, “部门”,“年龄”……每列中的数据都为一个独立的数据文件,这种格式在一次需要访问表中少数列时相比行存能够节省大量的磁盘 IO,在聚合类场景下尤其高效,因此多用在 OLAP 类系统中。
第二种是透明压缩。这种压缩方式是直接使用包括zstd和gzip直接进行压缩,这种压缩对数据的存储内容没有明确的要求,可以对任何的信息进行压缩。通过数据压缩,可以把数据的体积大幅度减少,一方面减少用户的使用成本,另一方面可以在大量查询分析的时候减少IO访问量,提升我们的查询效率。
TDSQL-PG全并行分为三个层级:
第一层节点级并行:所谓节点级的并行是,系统拿到一个查询之后,会把查询分发给各个不同的DN,通过DN之间分片区的查询来完成节点级并行;
第二是进程级并行:执行器拿到分配后把算子并行化,即尽量使用允许更多CPU资源来完成查询工作,通过多CPU方式提升查询的效率;
第三层是指令级并行:包括对于CPU的特殊指令、SMD指令等,通过简单的算术运算或者求值,以及通过指定值的优化和并行来提升查询效率。
TDSQL-PG 通过这三层并行去满足复杂查询、实时计算的高性能要求。
1
三、TDSQL-PG最佳应用实践
1. 微信支付
- End -
更多精彩
每天数亿次的交易,这套架构怎么抗住的?
怎么做好“硬核”的事?
↓↓更多惊喜点这儿~
评论
盘点Lombok的几个骚操作,你绝对没用过!
👉 欢迎加入小哈的星球 ,你将获得: 专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡 / 赠书福利全栈前后端分离博客项目 2.0 版本完结啦, 演示链接:http://116.62.199.48/ ,新项目正在酝酿中
小哈学Java
0
堪称最优秀的Docker可视化管理工具——Portainer你真的会用吗?
来源:blog.csdn.net/shark_chili3007/article/details/123366179👉 欢迎加入小哈的星球 ,你将获得: 专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡 / 赠书福利全栈前后端分离博客项目
小哈学Java
0
如何计算数据中心的冷却需求?
今日分享 【导读】数据中心的冷却要求受多种因素影响,包括设备的热量输出、占地面积、设施设计和电气系统功率额定值等等……众所周知,环境因素会严重影响数据中心设备。过多的热量积聚会损坏服务器,可能导致其自动关闭。经常在高于可接受的温度下运行服务器会缩短其使用
数据中心运维管理
0
多人同时导出 Excel 干崩服务器!新来的阿里大佬给出的解决方案太优雅了!
点击关注公众号,Java 干货及时推送↓推荐阅读:面试辅导,我们出大成果了!来源:juejin.cn/post/7259249904777838629前言 业务诉求:考虑到数据库数据日渐增多,导出会有全量数据的导出,多人同时导出可以会对服务性能造成影响,导出涉及到mysql查询的io操作,
Java技术栈
1
什么样的冷却方法适合数据中心运营?
冷却数据中心的最简单方法是安装空气交换器,通过服务器室生成冷空气。但是,如果想要节省资金,至少从长远来看,更好的方法可能是在每个机架上安装空气交换器,并使用它们为单个机架的服务器降温。"后机架冷却",与数据中心中更为传统的空气冷却系统相比,特别是在能源效率方面,其具有一些优势。冷却数据中心的最简单
数据中心运维管理
0
大厂都在用的 Git 代码管理规范 !
👉 欢迎加入小哈的星球 ,你将获得: 专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡 / 赠书福利全栈前后端分离博客项目 2.0 版本完结啦, 演示链接:http://116.62.199.48/ ,新项目正在酝酿中
小哈学Java
2
Go 1.22 的新增功能系列之二:reflect.TypeFor
Go 1.22 的第一个候选版本已经发布,这意味着最终版本即将发布,现在是我在博客中介绍我在这个周期中所做工作的时候了。像往常一样,我的贡献很小,但它们是我的,所以我将从幕后的角度来谈谈它们。首先是reflect.TypeFor。这是整个函数:// TypeFor returns the [Type
GoCN
0
10个高级的 SQL 查询技巧
来源:towardsdatascience.com/ten-advanced-sql-concepts-you-should-know-for-data-science-interviews-4d7015ec74b0👉 欢迎加入小哈的星球 ,你将获得: 专属的项目实战 / Jav
小哈学Java
0