随着万千企业数字化转型提速,对云计算的应用效力提出新的需要。云原生以其独特的技术特点,正在成为驱动云计算“量变”的技术内核,腾讯云在云原生数据库畛域进行了全方位技术创新和利用实际,本文将别离从海量存储、弹性缩扩容、秒级疾速备份与回档和反对serverless4个维度分享腾讯云原生数据库TDSQL-C的显著个性,以及在不同业务利用场景中的内核技术优化实际。

传统数据库架构瓶颈

在自研云原生数据库TDSQL-C之前,咱们也做多年其余的云数据库产品,越到前面越发现传统数据架构存在着几方面问题:

1.数据本地存储,随着业务的增长,单机存储量可能会大于单机磁盘容量限度,须要对业务进行迁徙,对业务造成不便;

2.传统MySQL架构的一主多备,备份迁徙回档数据时会引发可用性和程度扩容等问题,这些突出的矛盾在传统的架构里难以解除,或解决的成果并不现实。

因而,咱们开始思考须要引入新的存储架构,而这种架构须要满足几个特点:

1.存储容量能够主动裁减,且容量足够大,足以撑持业务的倒退。

2.不应有主备提早,可能解决数据的可靠性和可用性问题;

3.随着业务的增长,可能进行程度扩容,扩缩容的整体响应要好。基于以上几点构想,咱们设计了云原生数据库 TDSQL-C。

TDSQL-C四大显著特色

TDSQL-C如图所示,分为计算和存储层,一主多备。计算次要负责原子性、一致性、隔离级别的实现,即ACID里ACI的实现;存储次要负责数据长久化,主备之间通过 redo log 进行内存同步。通过把计算和存储解耦以及引入新的数据同步协定,实现了 TDSQL-C。

TDSQL-C 四大个性

第一,反对PB级存储。传统数据库架构,购买规格和机器所用空间,个别单机磁盘容量是几T到几十T之间;TDSQL-C存储可间接连到网络存储,反对PB级存储;

第二,秒级扩缩容能力。通过计算与存储解耦,存储空间能够主动扩缩容,弹性能力显著;

第三,秒级快照备份回档能力。金融和游戏行业相干利用场景对备份的时效性和速度有较高的要求,通过存储层秒级快照实现数据和redo日志的继续备份,提供任意工夫点数据恢复能力(Point-in-time recovery,PITR) ;

第四,反对serverless状态,按需计费。传统数据库计费取决于自身购买的规格,以及应用所须要的工夫;TDSQL-C 反对 serverless状态,反对按理论计算和存储资源使用量收取费用,不必不付费,整个服务监控力度达到秒级级别,将云原生技术普惠用户。

TDSQL-C产品要害优化

为了实现TDSQL—C以上显著个性,咱们针对数据库内核做了大量的优化:

极速备份和回档。目前传统云数据库备份应用形式为物理备份或者逻辑备份,耗时较久。TDSQL-C采取并行备份,复原时把快照拿进去,每个cell 独立 apply redo log,比照市场同类产品,咱们备份工夫仅为同类产品的1/10。
创立索引。

TDSQL-C在创立索引方面做了三个阶段优化:

1)并化扫描,并行能力缩小IO所带来的影响;2)并行 merge sort 性能,缩小排序工夫;3)批量构建b+树,先构建多个小b+树,而后再对小的b+树合成一个独自的b+树,防止二次扫描。

极速启停。过往buffer pool大实例重启,初始化耗时长,用户体验差;基于对启动工夫的进行时耗剖析,BP和事物零碎初始化,咱们对它进行了并行化解决,通过优化,启动&敞开工夫比照于其余云产品启动和敞开工夫升高了一个数量级。

极致伸缩。卸载空间扩大,日志驱动按需扩大,计算节点可依据业务须要疾速升降配,秒级实现扩缩容,升高用户应用老本。

DDL的优化。在用户的实际中,批改列是一项频繁且不敌对的操作,此操作会阻塞用户的读写申请,对业务影响十分大,TDSQL-C业界独创反对了instant modify column性能,达到了秒级批改列的成果。

二级缓存。针对普遍存在的IO bound场景,在计算层引入独立于bufer pool的二级缓存,利用非易失存储等新硬件的能力对BP进行补充,缓存热数据,解决网络存储带来的 IO问题。

最终,TDSQL-C的这些个性实现,离不开团队对产品的用心,从可靠性、可用性以及深度联合业务自身的个性所做的优化。

将来产品演进

数据库技术将随着工夫的推移一直演进和变革,将来TDSQL-C将重点往以下两方面一直发力:一是database极致性能,log store晋升日志更快的响应速度和带来更大的整体吞吐量,提供极致的写性能;二是跨Region读,提供可用性更高的、跨Region的只读服务,并提供金融级的可靠性和跨区域灾备等。