TDSQL-A自研列存储及优化原理大揭秘

本文深入解析腾讯云分布式分析型数据库TDSQL-A的自研列存储设计原理及执行优化。TDSQL-A采用全并行无共享架构,支持海量OLAP查询,具有自研列式存储引擎,实现行列混合存储,优化分析性能。文章介绍了TDSQL-A的整体架构,包括事务管理器、协调节点和数据节点,并重点探讨了列存储的优势、设计和优化策略,如延迟物化和向量化执行,展示了在压缩、计算和并行处理方面的性能提升。
摘要由CSDN通过智能技术生成

在“国产数据库硬核技术沙龙-TDSQL-A技术揭秘”系列分享中,5位腾讯云技术大咖分别从整体技术架构、列式存储及相关执行优化、集群数据交互总线、Fragment执行框架/查询分片策略/子查询框架以及向量化执行引擎等多个方面对TDSQL-A进行了深入解读。错过直播的小伙伴有福啦,今天带来本次系列分享中腾讯云数据库高级工程师伍鑫老师主题为“TDSQL-A列存储设计原理及执行优化详解”的文字版。

TDSQL-A是腾讯首款分布式分析型数据库,采用全并行无共享架构,适应于海量OLAP关联分析查询场景,能够支持2000台物理服务器以上的集群规模,存储容量能达到单数据库实例百P级。其中,TDSQL-A还具有自研列式存储引擎,能支持行列混合存储,对分析模型下的查询语句性能做到了极致优化。

TDSQL-A整体架构

在开始之前,我们先来了解下TDSQL-A的整体架构,它分为这几个模块:

file

第一是上层的GTM事务管理器,它主要是负责全局事务的管理,协调机群的事务,同时管理集群的全体对象。右上角是协调节点,它是业务访问入口。协调节点模块是水平对等的,也就是说业务连接到任何一个协调节点上,都能够获得到一致的数据库视图。

第二是下方的数据节点。数据节点也是实际存储数据的节点,每个数据节点只会存储数据的分片,而数据节点之间加在一起会形成一个完整的数据视图。

而数据节点和协调节点之间是集群的数据交互总线。集群交互总线的目的是把集群内部节点连接在一起,从而完成整个查询交互。

最后,左侧描述的是数据库内核的运维管控系统。通过运维管理、实时监控、实时告警、安全审计和数据治理等功能,可以进行自动化的运维,减少运维人员和用户使用的成本。

自研列存储带来极致优化性能

我们今天主要分享两个方面,一个是TDSQL-A自研列存储,另外一个是基于自研列存储的优化器相关优化。现在先来看看TDSQL-A的自研列存储。

说到列存储,相信大家都比较熟悉。列存储对具体的查询模型或者访问模型本身是有特殊优化的。传统情况下,数据库更多的是偏向事务型的场景,在每次数据写入的时候,都会把整行写到存储上面,一次磁盘IO可以访问所有列。这种场景在面对互联网这种大数据量分析的情况下,可能有些列在计算的时候并不需要访问,这会带来IO访问上的瓶颈,同时在后续优化上,也不方便针对特定的计算场景去进行优化。因此列存储也就应运而生了。

每列单独存储,多个列逻辑组成一行,一次磁盘IO只包含一列数据,这一列的数据可能是一行中的一列,或者是执行中的一个数据,同时在这种编排格式下,更方便去做数据压缩,因为相同列的数据类型有更高的一致性和匹配度,所以可能会面向很多极致的压缩的场景,也更适合OLAP的计算场景。

file

TDSQL-A同时支持行存储和列存储建表,行表和列表之间可以进行互相操作ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值