TDSQL-C再创佳绩
9月16日,Distributed Cloud|2021寰球分布式云大会在上海召开,腾讯云原生数据库TDSQL-C荣获“云原生卓越技术提供商”奖项,TDSQL-C 是腾讯自研的云原生分布式数据库(原CynosDB), 基于共享存储,实现了弱小的扩大能力和超百万级QPS的高吞吐性能,深度定制的数据库内核TXSQL是撑持要害业务安稳运行的基石。
TDSQL-C的总体架构是基于共享存储,存储和计算拆散的架构。
1.传统的MySQL主备通过binlog进行的逻辑复制,而TDSQL-C是通过redo日志进行的物理复制。
2.传统的MySQL须要向存储写多份数据包含data,binlog,redo log, 而TDSQL-C只需向存储写一份redo日志即可。
3.传统的MySQL主备各存储一份数据,而TDSQL-C基于共享存储只有一份数据。
TDSQL-C具备以下要害个性:
1、可靠性
多正本/RPO=0
存储多正本保证数据高牢靠
共享存储,主备数据统一
即时回滚,任意工夫数据都牢靠
2、高性能
极致性能
主备机读写性能全面优化
不同规格针对性优化
绝对传统MySQL有6倍晋升
3、高可用性
秒级RTO
秒级RTO,故障简直无感知
毫秒级主备提早,数据极速同步
共享内存,数据恢复,疾速预热
4、弹性扩大
得心应手
数据疾速、通明扩大,按需应用
大容量1PB,满足“大”需要
来自官网的屡次认可
在MySQL官网近几次release notes中都有腾讯云数据库内核团队的重要奉献,也意味着腾讯云数据库内核技术TXSQL在国内是走在前列的;2020年底,腾讯云数据库内核团队又获MariaDB社区的官网感谢信,对团队的奉献予以感谢。
TDSQL-C的要害个性之高可用-秒级RTO,能够达到故障无感知。
过往buffer pool大实例重启,初始化耗时长,用户体验差,对此的团队给出优化计划是:并行初始化加上page上的mutex提早初始化。
并行初始化是指按innodb buffer pool instance来并行初始化。
page mutex提早初始化,是指当page首次应用时才初始化,而不是在启动时全副都初始化。
优化后的后果是之前500G buffer pool初始化从23s降到了1.3s,晋升近20倍。
这个优化计划奉献给了MySQL官网(lmprove lnnoDB buffer pool initialization)
腾讯云数据库内核团队始终保持以稳定性为第一位,保障了线上服务的可用性达到 99.95%,可靠性达到99.9996%,同时,深入研究技术细节,继续优化零碎性能,使得数据库内核TXSQL的性能远超官网版本,并达到业界领先水平。
业界独创,蓄力技术创新
在官网MySQL8.0反对 instant add column 后,批改列类型操作便成为MySQL中最不敌对的DDL类型。而在用户实际中,批改列类型也是用户执行比拟频繁的DDL之一,此操作会长工夫阻塞用户的读写申请,对业务的影响十分大。
TDSQL-C 业界独创,翻新地反对了instant modify column性能,达到了秒级批改列的成果。具体的实现形式是:
1.元数据多版本化, 表元数据保留列的多个版本信息,用户只能看到的总是最新的表元数据。
2.行记录减少版本信息对应到不同版本的表元数据上。
3.批改列只批改元数据,批改列的过程中不批改理论的行记录。
4.行记录读取时,老版本记录会主动转换为最新版本的记录。
5.行记录更新时,老版本记录会自动更新为最新版本的记录。
此计划为业界独创
TDSQL-C 批改列能够毫秒级实现,并且不受数据量大小的影响。
该性能解决了云上业务的痛点问题,补充了官网和开源社区在批改列上的有余,欠缺了整体的Online DDL性能体系。
除此之外,TDSQL-C其中的很多个性都是业界当先甚至是独创的亮点个性,并有多项申请了专利。比方:热点更新性能,通过存储引擎行锁级别的优化,大幅度优化了秒杀场景下的零碎性能,此个性为业界独创,并申请专利。再比方:内核TXSQL的审计性能,通过异步形式优化了数据库审计日志的记录形式,使得审计性能业界当先。团队泰而不骄,蓄力并进,加大研发力度助力简化企业对数据库的治理、保护和更新,真正做到开发者只“应用”数据库,而不是被数据库繁琐的工作所困扰。
解决MySQL历史顽疾,Puege预读机制
Undo 空间收缩问题是MySQL历史老大难问题,TDSQL-C翻新地通过purge预读解决了此问题。
问题起因
Purge会读取undo page并清理delete mark的记录,清理实现后会开释undo page,从而最终开释undo表空间。
IO bound场景或Buffer pool比拟小的实例, purge时读取undo 更容易呈现IO。而 IO时占用工夫比拟长,导致purge不及时undo日志空间收缩。
解决办法(实现purge预读机制)
依据事务提交程序在内存中保留undo page的purge程序用于预读。
Purge coordinator异步预读这些page。
精耕细作,谋求卓越
有翻新力量,也有操之过急的技术底盘。TDSQL-C在高性能、高可用、弹性扩大方面同样精耕细作,谋求卓越。
TDSQL-C高性能
plan cache实现查问打算缓存,以sysbench场景为例,通过plan cache优化后,解析和查问优化工夫缩小了,性能晋升了70%左右;在线程池的根底上进行了异步组提交优化,将线程池资源提起开释从而可能去解决更多的申请,优化后整体的读写事务QPS有70%的晋升;Log Compaction,在计算存储拆散的架构下,日志即数据库, 对日志构造进行了一些压缩优化后,redo日志量减少了30%。
TDSQL-C 高可用
采纳redo物理复制,基于共享存储,主备数据物理统一,低延时、低损耗; 在数据复制做备份提早优化,其中备库查问时IO过程不阻塞redo的回放,主备提早做到毫秒级别;计算节点HA重启后,buffer pool须要从新加载进行预热,持续时间比拟长,期间业务会受到较大影响,TDSQL-C反对独立Buffer pool 无需预热,缩短了重启工夫。
TDSQL-C 弹性扩大
TDSQL-C 目前反对最多扩大16个备库,备库能够提供读服务,Btree一致性读优化后,备库读不会被主库更新产生的SMO操作所阻塞。不会被主库更新产生的SMO操作所阻塞。
向云而进,持续增长
目前,TDSQL-C云原生数据库内核TXSQL在寰球范畴内已有近数万客户,经营公司最大的数据库集群。在云上也为拼多多,B站,微盟等不同行业的超大型客户提供了稳固牢靠,性能优异,功能强大的企业级云数据库服务,与此同时,通过自研上云和开源协同,TXSQL也强力撑持和保障了诸如:微信红包、微信领取、QQ音乐,腾讯会议等大型外部业务。
作为云原生技术先驱,腾讯云数据库内核团队在产研共建与生态交融上不遗余力,聚焦市场与客户需要,把技术概念更好地落地实现;兼容并包,增强与开源社区的分割,继续奉献技术力量,为各行各业带来全新的业务价值与技术劣势。
向云而进,持续增长,TDSQL-C持续为社区和生态倒退奉献本人力量,以翻新技术摸索数据管理的有限可能。