乐趣区

关于数据库:腾讯云数据库开源再突破TDSQL-PG版查询性能提升百倍

日前,腾讯云数据库开源产品 TDSQL PG 版(开源代号 TBase)发表推出重磅降级——通过一年半的打磨,上万张表拜访场景下,内存占用节俭 60%;查问性能晋升百倍;SQL 语句兼容性加强。同时,鼎力晋升原有数据库版本在分布式场景下的易用性。

TDSQL PG 版是一款具备 HTAP 能力、通过腾讯多年继续投入研发的数据库产品,是腾讯云数据库团队在开源的 PostgreSQL 根底上研发的企业级分布式 HTAP 数据库管理系统,可能提供成熟的一站式解决方案。腾讯云数据库技术总监李跃森介绍到,“在首次开源的 10 天内,TDSQL PG 版的 Star 数就达到了 500 多个。开源不久,就受到了欧洲航天局、国家天文台,以及医疗衰弱、批发等各个行业用户的青眼。”

那 TDSQL PG 版开源历程中经验了哪些故事?其推出重磅降级背地又有哪些核心技术的驱动呢?

TDSQL PG 版开源背地的过程

腾讯云自主研发的分布式数据库引擎 TDSQL PG 版(开源代号 TBase)的开源背地,其实经验了一段长时间的倒退历程——该我的项目最早诞生于 2008 年,过后腾讯外部应用的是 PostgreSQL 单机部署,随着业务体量的一直倒退,单机版逐步满足不了须要,接着就开始了分布式版本的自研。

该我的项目一开始只是服务于腾讯外部大数据平台和微信领取商户零碎,随同产品的一直成熟,目前腾讯外部有 7 大 BG 的大量业务场景都跑在 TDSQL 上,在丰盛的场景验证后才踏入了向外输入的门路。

2019 年,TDSQL PG 版(开源代号 TBase)正式对外开源。2020 年,腾讯对旗下数据库品牌进行了整合降级,降级之后腾讯云数据库对立命名为 TDSQL(Tencent Database SQL)。

自开源伊始,TDSQL PG 版依靠社区,在通过外部业务零碎的实际测验后,根本放弃每月一次小型降级、每半年一次重大降级的节奏。

2020 年 7 月 13 日,TDSQL 对外正式公布开源 V2.1.0 版本。在这一次降级中,其强化了多活分布式能力,实现了 RPO=0,RTO 秒级;并提供了公布与订阅层面一系列的新个性,能帮忙用户更高效地实现数据同步和疾速定位谬误。除了反对传统的主备的部署外,此次开源个性中还减少了对异地多活的部署反对,能够在不阻塞业务的前提下,提供更加灵便的变更公布列表,解决跨地区难题。同时,南北两套独立的零碎都能够提供读写服务,并实现就近路由接入,尤其适宜微服务架构。

2021 年 7 月,TDSQL 开源版本 V2.2.0 公布(TDSQL PG 版)。而此次 V2.2.0 又在 V2.1.0 根底上进一步强化了查问性能、内存优化、SQL 语句兼容、用户易用性等个性。

TDSQL PG 版个性解读

TDSQL PG 版的整体架构是十分典型的无共享的 MPP 的数据库架构,最右边是 GTM(事务管理器),负责协调集群事务并治理全局对象,左边是协调节点 CN,它是整个数据库拜访的接入节点,也是业务拜访的入口。

本次 TDSQL PG 版次要蕴含如下几大个性的重要降级:

1. 内存治理优化

提供会话内存占用详情查问视图;
主动开释内存过大的闲暇连贯,使得所有闲暇连贯的内存占用缩小 89.3%;
提供 LRU 替换,使得会话内的内存占用缩小 55.7%;

2. 分布式调优加强

欠缺了 explain analyze 性能,可具体展现各个 DN 节点上各个算子的执行信息;
不便找到运行较慢的算子,为 SQL 性能优化提供方向;

3. 执行器 / 优化器优化

CTE 查问、子查问优化为关联查问,性能晋升上百倍;
疾速 SQL 下推能力加强,性能晋升数十倍;
SQL 语句兼容性加强(反对分布式场景下带关联查问的 UPDATE/DELETE 语句等);

4. 分布式执行可视化

新增全局 session 视图性能;
从 CN 查问到整个集群的所有会话的运行状况;
提供函数能停止或杀死特定会话所属的过程;
不便运维和前端 API 开发,节俭人力老本,增强了用户对系统的控制力;

TDSQL PG 版开源意义
与腾讯数据库开源生态
对于腾讯云、用户和社区来说,开源 TDSQL PG 版(Tbase)的背地具备几层重要的意义:

通过奉献回馈社区的形式帮忙更多用户构建起可控的企业级分布式数据库能力;
填补基于 Postgres 的开源分布式 OLTP 零碎空白,反对企业外围交易系统的国产化;
反对 OLTP/OLAP 能力,提供一站式整体解决方案;
借助开源社区的力量,减速迭代提高。
以微信领取为例,应用 TDSQL PG 版,能满足微信领取单表数据轻松冲破 TB 级海量存储的需要;腾讯云开源数据库高吞吐、高并发,主动扩容的能力,也适宜微信领取的业务场景。

PG 中国社区主席张文升也指出:“PostgreSQL 社区将和 TDSQL 在技术、生态、企业服务上发展更深的单干,敢于创始,为客户和企业提供更好的反对与服务。独特建设数据库开源生态。”

当然,TDSQL PG 版开源只是腾讯云数据库开源的代表作之一,腾讯云数据库在开源畛域继续深耕。腾讯云副总裁李纲介绍,腾讯云数据库开源已涵盖三大体系:数据库产品能力开源、产品服务工具开源、前沿钻研平台能力的开源。从技术创新、到产品利用,到根底钻研深入,构建残缺的技术演进周期。

在产品能力开源方面,除了 TDSQL PG 版这种兼顾了剖析型场景的数据库产品,腾讯云数据库近期还将推出企业级 MySQL 内核的开源我的项目,代号为 TXSQL,这是一款针对于大规模交易场景的企业级分布式数据库内核。多款产品的继续开源,独特为社区、行业提供欠缺的国产数据库产品能力体系。

此外,腾讯云数据库也在推动数据库 SaaS 服务工具的开源,包含能够实现 90% 日常主动调优、智能诊断的 AI 自动化运维工具,以及能够进行大规模异构数据迁徙、散发、聚合的数据库迁徙平台。“面对企业客户、开发者,咱们心愿提供的是一个成熟残缺的产品,而不仅仅只是一份代码,”李纲示意。

而在根底钻研畛域,腾讯还开源了根底钻研平台型框架,来帮忙升高研究者的钻研门槛,减速根底钻研。据介绍,2020 年,腾讯和中国人民大学单干开源的 3TS—事务处理技术验证零碎,积淀了腾讯与人大在数据库核心技术方面的许多研究成果,能够提供对立的事务处理框架,帮忙研究者疾速构建新的并发控制算法,以及检测数据异样。

“腾讯云数据库致力于打造可继续倒退的国产数据库开源生态。将来国产数据库技术倒退将像飞船一样减速,腾讯数据库开源我的项目愿做这个过程加速器的松软底座”,腾讯云副总裁李纲表白了腾讯云数据库在开源生态上的投入和信心。

继续拥抱开源,腾讯保持的长期价值

开源是腾讯保持的长期价值之一。腾讯 2010 年起就确立了拥抱凋谢的策略,并始终秉承重数量、更重品质的态度倒退开源。在自主开源方面,截至目前,腾讯共对外开源超过 130 个优质我的项目,我的项目笼罩了云原生、大数据、人工智能、数据库等多个技术畛域,代码贡献者超过 2000 人,开源我的项目 star 总数超过 37 万个。

在社区奉献方面,腾讯云在 KVM 社区已奉献超过 170 个 patch,超过 20 个技术个性,其中 8 个被评为 KVM 年度外围冲破,奉献国内排名第一,同时间断四年登上 KVM 开源奉献榜,成为国内惟一获得这一成就的云服务商。

开源的实质是以技术凋谢促成技术创新。数据库开源社区平台汇聚了泛滥开发力量,推动了开源数据库在云时代实现更多的技术创新和冲破。将来,腾讯云数据库的开源建设和治理将持续秉承分量、更重品质的理念,打造可继续倒退的国产数据库开源生态。

TBase 开源地址:

https://github.com/Tencent/TBase

参考文档:

https://github.com/Tencent/TB…

退出移动版