关于数据库:云原生数据库TDSQLC关键技术内核解密

5次阅读

共计 1871 个字符,预计需要花费 5 分钟才能阅读完成。

随着万千企业数字化转型提速,对云计算的应用效力提出新的需要。云原生以其独特的技术特点,正在成为驱动云计算“量变”的技术内核,腾讯云在云原生数据库畛域进行了全方位技术创新和利用实际,本文将别离从海量存储、弹性缩扩容、秒级疾速备份与回档和反对 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 的只读服务,并提供金融级的可靠性和跨区域灾备等。

正文完
 0