一、概述

      腾讯云数据库(TencentDB)是腾讯提供的高可靠、高可用、可弹性伸缩的云数据库服务产品的总称,拥有自主研发的企业级分布式数据库TDSQL,100%兼容MySQL和PostgreSQL,Oracle兼容性达95%以上。

       TDSQL是腾讯TDSQL团队基于mysql分支(mariadb/percona)为金融联机交易场景推出的强一致分布式数据库集群系统。

二、产品

         腾讯云数据库包含三大产品系列,分别为分析型数据库TDSQL-A (Tencent Analytical Database)、云原生数据库TDSQL-C (Tencent CloudNative Database)和分布式数据库TDSQL (Tencent DistributedDatabase),全方位满足政企业务需求。

        同时,腾讯云数据库提供备份、审计、快速扩容、数据传输、灾备、数据订阅和智能管家DBbrain等数据库运维全流程服务,大大简化IT 运维工作,让企业更加专心于业务发展。

        目前腾讯云数据库TDSQL已经服务超过500家金融机构,包括金融企业,覆盖保险、证券、理财、咨询等行业。同时,在政府、工业、能源、烟草等行业也有大量应用。

三、API 概览

TDSQL MySQL版 API 概览-API 文档-文档中心

  1. 安全组相关接口

  2. 分布式数据库

  3. 其他接口

  4. 架构设计

Set机制

TDSQL所有的高可用机制均是在Set之内实现,每个Set之内多个数据节点(1主N备),
主备之间可以是基于Raft协议的强同步复制机制,也可以是异步复制机制。
在主机出现故障的情况下,在调度模块的协助下,将挑选备机按照规定流程提升为主机,
快速恢复业务,全程无需人工干预。在我们常规的使用过程中,通常是建议1主2备,
主备之间强同步,这样在主节点故障情况下,能确保自动切换,RTO为40s,RPO为0。

水平扩容

分布式版本对外呈现为一个完整的逻辑实例,后端数据实际上是分布在若干Set上
(独立的物理节点)组成。逻辑实例屏蔽了物理层实际存储规则,
业务无需关心数据层如何存储,也无需在业务代码中集成拆分方案或再购买中间件,
只需要像使用集中式(单机)数据库一样使用即可。
同时支持实时在线扩容,扩容过程对业务完全透明,无需业务停机,
扩容时仅部分分片存在秒级的只读(只读是实际在做数据校验),整个集群不会受影响。

分布式事务

TDSQL基于MySQL的XA实现了分布式事务机制,对各种异常处理做了充分的鲁棒测试
(发现了10多个XA相关的Bug并进行修复提交到社区,并做了大量性能方便的改进,
扩展了事务状态方面的统计信息以实现全局分布式死锁检测),且相对于单机事务,
性能损失仅30%。

高级特性

二级分区

第一级即我们常说的水平拆分,原理是使用HASH算法,使得数据能均匀的分散到后端的所有节点;
第二级分区使用RANGE算法,使得相关的数据能够落在一个逻辑分区,

例如可以按时间分区(类似每天每周每月一个分区等),
亦可以按业务特性分区(类似每个省市一个分区等)等等。
二级分片可以均衡数据分布和访问,为快速一键扩容提供基础支撑,也可以满足快速删除数据等场景。

读写分离

基于数据库访问账号的读写分离方案,客户能基于业务需求对账号设定相关参数,
以确保既不会读取到过旧的数据,也不会影响写业务,且业务无需改动代码即可实现读写分离。
这可以极大的降低业务运营成本。

TDSQL有全局唯一数字序列、统一参数管理、兼容MySQL函数,热点更新等众多高级特性,
可满足各类业务需求。

内核优化

TDSQL在数据库内核这块的优化,主要集中在数据复制、性能、安全性等方面。

强同步机制

TDSQL针对金融场景的强同步机制,有效解决了MySQL原生半同步机制的问题:
性能降低以及超时退化为异步。目前TDSQL在强同步模式下,
系统的并发量(TPS/QPS)与异步模式已无差别,
基本能做到性能无损失

四、参考

TDSQL MySQL版 文档中心

TDSQL架构及运营介绍

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐