TDSQL分布式金融级数据库架构
TDSQL简介

TDSQL(Titan Distribute SQL) —一种分布式数据库之容灾篇一、传统的分库分表及由此引入的问题由于业务数据量巨大以至于无法单表存储,于是,我们习惯了分库分表的方式。
最常用的莫过于按照QQ号的后三位分1000表,除此之外,还有按照大区分表,按照时间分表,等等。
于是我们习惯了下面这样一种SVR与DB交互的架构结构。
图1—传统的分库分表存储这个我们习以为常的数据库存储结构,其实包含了一些问题,本篇将主要讨论主备一致性切换问题,并给出TDSQL主备切换的方式。
问题如下:1、主备的异步同步,在主机宕机的情况下,无法保证数据已经同步到了备机。
2、人工切换,则对DBA同学的实时处理提出非常高的要求。
3、自动切换,可能出现不同SVR对于主DB的健康状态判断不一致,造成不同SVR把数据写入到不同DB的情况即——脑裂。
4、即使通过仲裁节点来统一调度SVR连向主DB或者备DB,如果流程处理的不好,也可能因为SVR感知切换的时间差在短时间内造成脑裂。
如何解决上面的问题,业界给出了很多的方案,例如国外有Galera这种通过协议插件来实现一致性的方案(但这种方案在跨IDC时的性能非常差),国内也有阿里RDS,TDDL,360的atlas中间件,但上述的方案要么在主备切换的一致性,要么在主动切换,要么在性能上都会有或多或少的问题,因此我们在参考上述方案的基础上实现了今天要给大家介绍的方案Titan Distribute SQL —TDSQL。
二、TDSQL主备切换方案2.1 TDSQL容灾架构图二、TDSQL容灾架构图二是一个大家熟悉的具备调度能力的分布式集群,下面分别来介绍一个各个模块的作用及如何互动。
DB——图中的绿色部分,是集群的核心部分,也就是mysql节点。
为了实现主备的强一致性和较高的性能,这里必须使用我们在Mariadb 基础上进行二次开发的MySQL。
注意,只有主DB提供写服务,其它DB会被Agent自动设置成只读。
金融云分布式数据库TDSQL技术架构

2002
2004
2008
业务爆炸 一致性、 7X24可用性
2010
腾讯计费 超高并发超短 时延
2012
米大师,腾讯 充值 更名TDS务 原生MYSQL
增值业务 分库分表手工 伸缩
WeBank 私有化部署
腾讯云 金融云
TDSQL 数据库的特点
基于MySQL生态
MySQL100%兼容
Agent Slave3 6
Agent Master Agent Slave2
SET
1、主DB降级为备机 2、参与选举的备机上报最新的binlog点 3、scheduler收到binlog点之后,选择出binlog最大的节点
4、重建主备关系 5、修改路由 6、请求发给新的主机
TDSQL强一致原理(恢复阶段不丢失数据)
增加节点 C(主) T1,T2,X3,X4 Xtrabackup自动快速 重做 D( 备 ) T1,T2,X3,X4
TDSQL高性能原理
半同步复制(同步 降级为 异步)
Binlog Dump
异步复制
TDSQL高性能原理
User Thread
Com mit(T1) O K( T1) Engine commit
金融云分布式数据库TDSQL技术架构
技术创新 变革未来
TDSQL简介
目录
CONTENTS
TDSQL架构与分布式方案 TDSQL分布式事务处理 分布式事务处理技术
金融级云数据库解决方案(CDB for TDSQL)
腾讯公司内与计费、充值、转账、财务等核心系统90%以上都使用TDSQL!
面向金融类业务,十年积累,亿级账户验证
HASH分区
两级分区
金融级分布式数据库架构设计

金融级分布式数据库架构设计目录1.行业背景 (3)2.数据库分布式改造的途径 (3)3.分布式数据库总体架构 (4)4.两阶段提交的问题 (5)5.CAP与BASE的抉择 (7)6.raft的优势 (8)6.1. Leader选举 (9)6.2. 日志复制 (10)6.3. 安全性 (11)7.分布式数据库如何实现PITR (16)1.行业背景银行业从最初的手工记账到会计电算化,到金融电子化,再到现在的金融科技,可以看到金融与科技的结合越来越紧密,人工智能、大数据、物联网、区块链等新兴技术改变了金融的交易方式,为金融行业的创新前行提供了源源不断的动力。
同时互联网金融的兴起是一把双刃剑,带来了机遇的同时也带来了挑战。
普惠金融使得金融的门槛降低,更多的普通大众参与到金融活动中,这让金融信息系统承受了越来越大的压力。
于是我们可以看到大型商业银行、保险公司、证券公司、交易所等核心交易系统都在纷纷进行分布式改造,其中数据库作为有状态的应用,成为了信息系统中唯一的单点,承担了所有来自上层应用的压力。
随着数据库瓶颈的凸显,进行分布式改造迫在眉睫。
2.数据库分布式改造的途径数据库进行分布式改造主要有三种途径:分布式访问客户端、分布式访问中间件、分布式数据库。
由于其分布式能力实现在不同的层次(应用层、中间层、数据库层),对应用程序有不同的侵入程度,其中分布式访问客户端对应用侵入性最大,改造难度最大,而分布式数据库方案对应用侵入性最小,但是架构设计及研发难度最大。
3.分布式数据库总体架构其实当前市面上的分布式数据库总体架构都是类似的,由必不可缺的三个组件组成:接入节点、数据节点、全局事务管理器。
总体架构如下,协调节点负责sql解析,生成分布式执行计划,sql转发,数据汇总等;数据节点负责数据存储与运算;全局事务管理器负责全局事务号的生成,保证事务的全局一致性。
这个架构或多或少都受到了google spanner F1论文的影响,这篇文章主要分析了这几个组件在实现上有什么难点,该如何进行架构设计。
腾讯云-TDSQL分布式数据库服务概述

TDSQL分布式数据库服务产品概述目录产品简介产品概述 (4)简介 (4)解决问题 (4)单机数据库瓶颈 (4)应用层分片开发工作量大 (4)开源方案或 NoSQL 难题 (4)产品优势 (6)超高性能 (6)专业可靠 (6)简单易用 (6)应用场景 (7)大型应用(超高并发实时交易场景) (7)物联网数据(PB 级数据存储访问场景) (7)文件索引(万亿行数据毫秒级存取) (7)高性价比商业数据库解决方案 (7)基本原理水平分表 (9)概述 (9)水平切分 (9)写入数据( SQL 语句含有 shardkey ) (11)数据聚合 (12)读取数据(有明确 shardkey 值) (12)读取数据(无明确 shardkey 值) (12)读写分离 (14)功能简介 (14)基本原理 (14)只读账号 (14)弹性拓展 (15)概述 (15)扩容过程 (15)新增分片扩容 (15)现有分片扩容 (15)强同步 (17)背景 (17)存在问题 (17)解决方案 (17)实例架构 (19)地域选择 (20)产品简介产品概述19-11-19 10:36:08简介分布式数据库 TDSQL(TencentDB for TDSQL,TDSQL)是部署在腾讯云上的一种支持自动水平拆分、Shared Nothing 架构的分布式数据库。
分布式数据库即业务获取的是完整的逻辑库表,而后端会将库表均匀的拆分到多个物理分片节点。
TDSQL 默认部署主备架构,提供容灾、备份、恢复、监控、迁移等全套解决方案,适用于 TB 或 PB 级的海量数据库场景。
解决问题单机数据库瓶颈面对互联网类业务百万级以上的用户量,单机数据库由于硬件和软件的限制,数据库在数据存储容量、访问容量、容灾等方面都会随着业务的增长而到达瓶颈。
TDSQL 目前单分片最大可支持6TB存储,如果性能或容量不足以支撑业务发展时,在控制台自动升级扩容。
升级过程中,您无需关心分布式系统内的数据迁移,均衡和路由切换。
分布式数据库TDSQL架构原理概述

分布式数据库TDSQL架构原理概述TDSQL(TiDB Distributed SQL)是一个分布式数据库架构,它是由PingCAP公司开发的一款开源数据库。
TDSQL具有强一致性、高可用性和水平可扩展性的特点,适用于大规模、高并发的数据存储和处理需求。
TDSQL的架构原理主要包括三个方面:存储层、计算层和协调层。
存储层是TDSQL的核心组件,它负责数据的存储和管理。
存储层采用分布式存储的方式,将数据分成多个分片,并将每个分片复制到不同的节点上,以保证数据的冗余和可靠性。
存储层采用Raft协议保证数据的一致性,通过多副本和强一致性保证数据的可靠性和持久性。
此外,存储层还支持水平扩展,可以根据需求增加节点来扩展存储容量和处理能力。
计算层是TDSQL的查询和计算引擎,它负责接收用户的查询请求,并将请求转化为分布式查询任务。
计算层采用分布式查询的方式,将一个查询任务拆分成多个子任务,并将子任务分配给不同的节点进行并行处理。
计算层通过调度和协调各个节点上的计算任务,最终将结果返回给用户。
计算层采用分布式索引和分布式事务的方式,使得在大规模数据查询和处理中依然能够保持较高的性能和可用性。
协调层是TDSQL的调度和管理中心,它负责监控和管理存储层和计算层的状态,并进行资源调度和任务分配。
协调层采用分布式锁和容错机制,确保系统的高可用性和故障容忍性。
协调层还支持动态负载均衡和自动故障转移,可以根据负载和节点状态动态管理和分配资源,提高系统的性能和可用性。
协调层也负责处理用户的请求和权限管理,对外提供统一的接口和服务。
总结起来,TDSQL的架构原理基于分布式存储、计算和协调的方式,实现了数据的分片和复制、任务的并行和调度、资源的管理和负载均衡,并通过分布式事务和索引保证了数据的一致性和性能。
通过这种设计,TDSQL能够满足大规模、高并发的数据存储和处理需求,提供高可靠性、高可用性和高扩展性的分布式数据库解决方案。
TDSQL核心架构

TDSQL核心架构TDSQL(Tencent Distributed SQL)是腾讯公司自主研发的一种分布式关系型数据库系统,其核心架构是基于传统关系数据库的基础上进行扩展和优化而成。
它采用分布式存储和计算的方式,通过将数据切分和分片存储在多个节点上,实现了数据的高可用性和横向扩展能力。
1. 存储引擎(Storage Engine):存储引擎是TDSQL的核心组件,负责管理数据的存储和读写。
TDSQL采用了分布式存储的方式,将数据切分成多个片段,每个片段存储在不同的节点上。
存储引擎通过管理这些片段的分布和复制,实现了数据的高可用性和负载均衡。
2. 查询引擎(Query Engine):查询引擎负责解析和执行用户的SQL查询请求。
它将查询分解成多个子查询,并将这些子查询发送到存储引擎上执行。
查询引擎还负责进行查询优化,通过选择最优的执行计划来提高查询的性能。
3. 分布式事务管理器(Distributed Transaction Manager):分布式事务管理器负责管理分布式数据库系统中的事务。
它使用分布式事务协议来协调不同节点上的事务操作,并保证数据的一致性和隔离性。
分布式事务管理器还负责恢复和回滚失败的事务,并处理并发冲突。
4. 元数据管理器(Metadata Manager):元数据管理器负责管理数据库的元数据。
它包括表、列、索引等数据库对象的定义和关联关系。
元数据管理器还负责数据的分布和复制策略的管理,以及数据对应关系的调整和优化。
5. 外部连接管理器(External Connection Manager):外部连接管理器负责管理TDSQL与外部系统的连接。
它支持与其他数据库、消息队列等系统的数据交互,并提供数据同步和数据迁移的功能。
外部连接管理器还支持分布式事务和跨节点查询的功能。
总之,TDSQL的核心架构是基于传统关系数据库的基础上扩展和优化而成的分布式关系数据库系统。
通过将数据切分和分片存储在多个节点上,以及采用分布式事务管理和查询优化的技术,实现了数据的高可用性和横向扩展能力。
腾讯云数据库TDSQL在金融核心的实践

◆ TDSQL
物理设备操作系统(加强定制版Linux)
调度系统
故障迁移 业务调配
当前金融行业技术现状
传统技术架构遇到瓶颈
目前国内大中型银行主要以国外厂商提供的大型主机和数 据库解决方案来进行系统构建。以国外大型主机和数据库 为核心的架构已无法满足大规模交易和数据处理的需求。
一方面:性能无法满足业务不断激增的处理需求,存在系 统过载风险; 另一方面:本身价格比较昂贵,维护成本居高不下。
总行机房
SQL Engine
同城
灾备机房
SQL Engine
异地
SQL Engine
Master
强同步
Slave
异步 Master
异步
强同步
Slave
Slave
Slave
#1 #2
#3 #4
#5
TDSQL最佳实践-完善的全白屏化运维方案
实时诊断优化 效果可预见
掌上运维 AI 助力
TDSQL最佳实践-软硬一体解决方案
“张家港农商银行采用基于腾讯TDSQL的分布式数据库架构建设, 硬件投入从千万级降低到百万级,硬件成本下降75%以上,性能并 可线性增长。”
—— 张家港农商行
◆比如高并发低延时的场景拆分后仍不满足的业务,可以引入缓 存进一步加速; ◆需要更强的查询分析能力的话可以引入等面向联机分析的产品。
核心系统改造:循序渐进,选择最合适的技术方案
第四步:单元化改造
◆ 无限可伸缩微服务架构 ◆ 异地多活部署 ◆ 异构机房上的弹性混合云架构
User=0 User=1 User=2
2019.7 生产机器性能论证
2019.8 项目投产
TDSQL最佳实践-产品定位
TDSQL金融级特性之:数据强一致性保障

作为金融场景下不可或缺的数据强一致性的保障。
们将从四个方面来聊一聊数据一致性的保障:1.主备数据复制2.数据复制比较:TDSQL主备数据复制方案 VS MySQL原生方案3.核心功能:容灾切换,数据强一致、0丢失0出错4.数据强一致性TDSQL主备数据复制:高性能强同步首先在讲数据一致性之前,们先了解一下MySQL原生的数据复制的。
首先种异步复制:主机在不等从机应答直接返回客户端成功。
这个在金融场景不能接受的,这样的话相当于数据没有多副本保障。
第二种半同步:主机在一定条件下等备机应答,如果等不到备机应答,它还会返回成功,也就说它最终还会退化成一个异步的,这同样也金融场景所不能接受的。
除此之外,原生半同步其实有一个性能方面的缺陷,即在跨IDC网络抖动的场景下,请求毛刺现象很严重。
所以原生的异步复制和半同步复制都存在一些问题,并不能完全适应金融场景。
TDSQL引入了基于raft协议的强同步复制,主机接收到请求后,等待其中一个备机应答成功后才返回客户端成功。
们一主两备下一条请求到达了主机之后必须等其中一个备机应答成功,才能返回客户端成功,否则这个请求不会应答的。
所以说,强同步TDSQL最基础的一个特性,TDSQL保证数据不会丢、不会错的关键。
讲到这里的话,可能有些同学会问,你们这个强同步其实也不复杂,不就在半同步的基础上把这个超时时间改成无限同时应答的备机设置为1。
并不这样的,TDSQL强同步这里的关键不在解决备机应答的问题,而要解决这种增加了等待备机的机制之后,如何能保证高性能、高可靠性。
换句话说,如果在原生半同步的基础上不改造性能,仅把超时时间改成无限的时候,其实跑出来的性能和异步比甚至连异步的一半都达不到。
这个在们看来也无法接受的。
相当于为了数据的一致性牺牲了很一部分性能。
TDSQL强同步复制的性能在原生半同步的基础上了量的优化和改进,使得性能基本接近于异步。
所以这里强同步强调的,实现强同步的同时还具备高性能特性,所以确切地说一个高性能的强同步。
tdsql

tdsqlTDSQL简介及其应用领域一、TDSQL概述TDSQL(Tencent Database SQL)是腾讯云推出的一种基于MySQL协议进行扩展的分布式关系型数据库引擎。
TDSQL的设计目标是提供高性能、高可用性和可伸缩性,同时保持与MySQL的兼容性,使得迁移现有MySQL应用程序到TDSQL变得简单。
二、TDSQL的特点1. 高性能:TDSQL通过多节点、多副本及基于站库模式的读写分离架构,可以提供高吞吐量和低延迟的数据库性能。
2. 高可用性:TDSQL的数据存储采用分布式存储架构,具备自动数据备份、容灾切换和故障恢复等功能,以保证用户业务的持续运行。
3. 数据安全性:TDSQL支持数据的安全备份和恢复,并提供多层次的权限管理和访问控制,以保护用户数据的安全。
4. 兼容性:TDSQL完全兼容MySQL协议和SQL语法,可以直接支持现有的MySQL应用程序的迁移。
5. 可扩展性:TDSQL提供了水平扩展的能力,可以根据业务需求灵活地增加或减少节点的数量,以满足不同规模的应用需求。
三、TDSQL的应用领域由于TDSQL具备高性能、高可用性和可扩展性的特点,它在很多应用场景中都有广泛的应用。
1. 互联网行业:在互联网行业中,对数据库的性能和可扩展性要求较高。
TDSQL作为一种高性能的分布式数据库,能够满足互联网应用的高并发读写需求,并可以根据业务需求进行弹性扩容,以适应不断增长的数据量和用户访问量。
2. 电子商务:电子商务平台通常需要处理大量的交易数据,并保证数据的安全和一致性。
TDSQL提供了高可用性的数据存储和备份机制,可以确保交易数据的可靠性,并通过水平扩展的方式满足大规模交易的需求。
3. 游戏行业:游戏行业对数据库的性能和可扩展性要求较高。
TDSQL作为一种高性能的分布式数据库,可以满足复杂的游戏数据操作需求,如玩家数据存储、排行榜和战斗数据等。
同时,TDSQL的容灾切换和故障恢复能力可以确保游戏的稳定运行。
TDSQL核心架构

TDSQL的架构以及模块划分。
通过这一章节的了解,们更能切入TDSQL的技术细节,它为什么要这样设计,这样设计有什么好处,如何通过这样的架构和设计实现高可用、线性扩展等能力。
TDSQL系统总览1.1 资源池这张图从下往上看,首先层资源池,属于IaaS层,可以物理机,也可以虚拟机,只要给TDSQL机器就好,TDSQL在一个机器的资源池上实现了数据库实例的管理。
当然,这里推荐的还物理机,如果增加一层虚拟机,无疑在稳定性和性能方面都会引入一些隐患。
1.2 存储节从资源池再往上存储节。
存储节要强调的TDSQL的两种存储形态,一种Noshard 数据库,一种分布式数据库(也叫Shard版TDSQL)。
简单来说,Noshard就一个单机版的TDSQL,在MySQL的基础上了一系列的改造和改良,让它支持TDSQL 的一系列特性,包括高可用,数据强一致、7×24小时自动故障切换等。
第二种分布式数据库,具备水平伸缩能力。
所以TDSQL对外其实呈现了两种形态,呈现一种非分布式形态,一种分布式的形态。
至于这两种形态的区别,或者说什么场景更适合于哪种数据库,后面们有专门的章节去分析。
1.3 计算节再看计算节。
计算节就TDSQL的计算引擎,到了计算层和存储层相分离。
计算层主要一些SQL方面的处理,比如词法解、语法解析、SQL改写等。
如果分布式数据库形态,还要分布式事务相关的协调,所以们看到计算层不存储数据,只运行SQL方面的实时计算,所以它更偏CPU密集型。
此外,TDSQL计算节还具备OLAP的能力,对一些复杂的计算可以进行算法上的优化——什么时候该下推到存储引擎层,什么时候需要在计算层汇总等,这计算节需要的事情。
1.4 赤兔运营管理再往上,赤兔运营管理,如果说把这一套东西比作一个黑盒,们希望有一个用户界面操纵这个黑盒,这个界面就赤兔运营管理。
通过这个,DBA可以操纵TDSQL后台黑盒,所以相当于一套WEB管理系统。
分布式数据库TDSQL架构原理概述

腾讯分布式数据库TDSQL金融级能力的架构原理概述目录TDSQL是什么:腾讯如何打造一款金融级分布式数据库我们先初步了解TDSQL产品,以及它的适用场景。
第一章包括四个方面:使用场景、发展历程、核心特性,以及兼容性。
首先,TDSQL是腾讯推出的一款兼容MySQL的自主可控、高一致性分布式数据库产品。
这里我们强调一点,高度兼容MySQL——TDSQL完全兼容MySQL协议,并且做到完全自主可控、数据强一致性。
第二是TDSQL具备分布式的特性,具备一个弹性扩展、高可用的架构。
在互联网行业,海量的用户流量场景很常见,如果数据库不具备可伸缩性、可扩展性,是很难应对如:电商的大型促销,春节抢红包等突增流量的场景,这些其实都是对数据库应对海量用户流量的考验。
目前TDSQL已经服务超过500+的金融政企,行业覆盖银行、保险、证券、政务、互联网金融等各个领域。
我们再看一下TDSQL的前世今生。
TDSQL最早可以追溯到2002年,那个时候其实还不叫TDSQL,它是腾讯计费平台部的一个数据库服务,当时使用了开源的MySQL。
2002年-2007年随着公司业务的发展,腾讯所面临的用户量的压力也越来越大。
这个时候我们提出了7×24小时不宕机的高可用设计方案,来保证数据库能提供7×24小时不间断连续高可用服务。
那个时候,腾讯的增值业务日渐成规模,业务对数据也越来越敏感,对数据可用性的要求越来越高,甚至平时还要防备一些像运营商的光纤被挖断等各种各样的异常场景。
在2007年-2012年,这可能是互联网时代从互联网到移动互联网的发展的快速5年。
当然,公司的业务也是突飞猛进。
我们开始把这个高可用的数据库产品化。
到2012年,TDSQL的雏形就已经出来了,作为一款内部产品,开始在公司内部提供金融级的数据强一致性、可靠性服务。
从2012年起,TDSQL已经在腾讯内部做得已经比较成熟,已经是一个知名的产品了,但是它一直没有对外做商业化。
TDSQL分布式数据库核心架构解读

TDSQL分布式数据库核心架构解读
海量计费场景验证
TDSQL 的每个分片默认采用主从高可用架构,提供弹性扩展、备份、恢复、监控等全套解决方案,为您高效解决业务快速发展时面临的各种数据库需求和挑战。
TDSQL (T encent Distributed SQL )
是腾讯推出的一款兼容MySQL 的自主
可控的、高一致性、分布式数据库产品。
目前已为超过500+金融政企提供数据库服务,行业
覆盖银行、保险、证券信托、互联网金融、第三方支付、计费、智慧零售、物联网、政务、物联网等。
1.2发展历程
数据库防火墙;透明加密;自动备份;快速恢复等
减少用户误操作/黑客入侵带来的安全风险。
在线无缝扩容,高效透明的分布式事务。
2.1系统总览
2.2核心架构
2.3模块划分
强同步:主机基于raft协议等待多数派备机应答成功后才返回客户端成功
强同步机制:任何一笔应答前端成功的请求,除了在主机落盘成功外还会在多数派备机落盘
成功
强同步性能:在原生半同步复制的基础上做了大量异步化性能改良,使得性能基本与异步复制持平
3.2数据复制比较
3.3核心功能:容灾切换。
详解TDSQL PG版Oracle兼容性实践

详解TDSQL PG版Oracle兼容性实践V1.0版本创新达人2024-04-17目录1.摘要 (4)2.TDSQL PG版介绍 (4)2.1.TDSQL PG版具有六个方面的产品特性 (4)2.1.1.访问接口丰富 (4)2.1.2.扩展性良好 (4)2.1.3.MLS安全保护能力 (4)2.1.4.高效HTAP能力 (5)2.1.5.强大数据治理能力 (5)2.1.6.数据库特性丰富。
(5)3.语法差异对比 (5)3.1.数据类型 (5)3.2.存储过程语法差异 (6)4.传统数据库架构瓶颈 (7)4.1.Oracle兼容能力 (8)4.1.1.分区表能力 (8)4.1.2.分区子表合并&拆分 (8)4.1.3.Default分区数据维护 (9)4.1.4.存储过程/函数扩展语法能力 (9)4.1.5.WITH FUNCTION语法支持 (9)4.1.6.PACKAGE (10)4.1.7.ROWID & ROWNUM (10)4.1.8.MERGE INTO (11)4.1.9.Start with connect by (11)4.1.10.PIVOT & UNPIVOT (11)4.1.11.其他兼容能力 (12)5.Oracle to TDSQL PG版迁移 (12)5.1.迁移工程面临问题 (12)5.2.迁移工具技术架构 (13)5.3.兼容性评估 (13)5.4.兼容性评估报告 (13)5.5.迁移全流程介绍 (13)5.6.双轨运行方案 (14)1.摘要TDSQL PG版分布式关系型数据库,是一款同时面向在线事务交易和MPP实时数据分析的高性能HTAP数据库系统。
面对应用业务产生的不定性数据爆炸需求,不管是高并发交易还是海量实时数据分析,TDSQL PG版都能够轻松处理。
目前TDSQL PG版已经在金融、保险、通信、税务、政务等多个行业的核心交易系统上线运行。
腾讯自研分布式数据库TDSQL简介-支持从oracle迁移(1)

腾讯自研分布式数据库TDSQL简介-支持从oracle迁移(1)TDSQL素材1产品简介TDSQL(Tencent Distributed SQL)是腾讯打造的一款MySQL 兼容HTAP分布式数据库产品,具备强一致高可用、全球部署架构、分布式水平扩展、高性能、企业级安全等特性,同时提供智能DBA、自动化运营、监控告警等配套设施,为用户提供完整的分布式数据库解决方案。
目前TDSQL已经为超过500+的政企和金融机构提供数据库的公有云及私有云服务,客户覆盖银行、保险、证券、互联网金融、计费、第三方支付、物联网、互联网+、政务等领域。
TDSQL亦凭借其高质量的产品及服务,获得了多项国际和国家认证,得到了客户及行业的一致认可。
2九大特性2.1强同步复制多副本强一致性下的高可用方案,基于跨数据中心强同步复制,故障可自动切换,且数据零丢失。
2.2全球部署架构按需部署,轻松实现异地多活,两IDC对等架构、两地三中心架构、两地四中心架构、多地多中心。
2.3分布式水平扩展Auto Sharding机制,实现实时在线无缝扩容,确保集群性能、容量线性增长;提供健壮的分布式事务机制,全SQL兼容,单机数据库迁移TDSQL零门槛。
2.4内核深度优化内核深度定制优化,跨数据中心强同步性能相较于异步零损耗;OLTP TPS相较于原生MySQL提升85%。
2.5企业级安全增强通过透明加密、数据库防火墙、SSL接入、SQL审计等措施,实现事前、事中、事后的全生命周期安全防护。
2.6HTAP内嵌分布式查询引擎,OLTP与OLAP混合支持,同时支持Spark On TDSQL,对不同负载SQL进行智能调度。
2.7多引擎支持支持MySQL社区版、Percona、MariaDB三大分支;支持InnoDB、RocksDB等多种存储引擎。
2.8智能DBA基于海量运营经验加AI的DBA智能诊断系统,快速帮助业务预防、发现、定位并解决问题。
2.9自动化运营体系提供完善的运营配套体系,Binlog订阅、冷备、多源异构数据库同步等,无缝对接周边系统。
TDSQL在银行的大规模实践

TDSQL在银行的大规模实践目录一、前言 (3)二、Why TDSQL? (3)三、基于DCN 的分布式扩展架构 (8)四、银行IDC 架构 (9)五、基于TDSQL 的同城应用多活 (10)六、TDSQL 集群规模 (13)七、银行数据库现状及未来发展 (14)一、前言微众银行在2014 年成立之时,就非常有前瞻性的确立了微众银行的IT 基础架构的方向:摒弃传统的基于商业IT 产品的集中架构模式,走互联网模式的分布式架构。
众所周知,传统银行IT 架构体系非常依赖于传统的商业数据库,商业存储以及大中型服务器设备,每年也需要巨大的IT 费用去维护和升级,同时这种集中式的架构,也不便于进行高效的实现水平扩展。
从过往经验来看,当时除了oracle 等少数传统的商业数据库,能满足金融级银行场景的数据库产品并不多。
当时腾讯有一款金融级的分布式数据库产品TDSQL,主要承载腾讯内部的计费和支付业务,其业务场景和对数据库的可靠性要求,和银行场景非常类似,同时也经受了腾讯海量计费业务场景的验证。
微众银行基础架构团队,经过多轮的评估和测试,最终确定和腾讯TDSQL 团队合作,共同将TDSQL 打造为适合银行核心场景使用的金融级分布式数据库产品,并将TDSQL 用于微众银行的核心系统数据库。
二、Why TDSQL?为什么会选用TDSQL,作为微众银行的核心数据库呢?本章节将会详细介绍TDSQL 架构、以及TDSQL 的核心特性,看看TDSQL 是如何满足了金融级场景的数据库要求。
TDSQL 架构介绍TDSQL 是基于MySQL/Mariadb 社区版本打造的一款金融级分布式数据库集群方案。
在内核层面,TDSQL 针对MySQL 社区版本和Mariadb 社区版本的内核,在复制模块做了系统级优化,使得其具备主备副本数据强一致同步的特性,极大提升了数据安全性,同时相对原生的半同步复制机制,TDSQL 强一致复制的性能也有极大提升。
分布式式数据库金融标准

分布式式数据库金融标准包括以下几个方面:
1. 技术架构标准:规定了在金融领域分布式事务数据库技术的架构要求,涵盖技术框架、功能特征和运维管理。
2. 安全技术标准:规定了在金融领域分布式事务数据库技术的安全要求,涵盖基础支撑保障、用户管理、访问控制、数据安全、监控预警、密钥管理、安全管理和安全审计等方面提出针对性安全要求,切实保障金融业务安全稳定运行。
3. 灾难恢复标准:规定了金融领域分布式事务数据库的灾难恢复要求,涵盖容灾能力分级、灾备技术要求和灾备管理流程。
这些标准的实施标志着分布式数据库在金融领域全面普及的开始,同时也意味着分布式数据库需要根据国家标准来把控产品输出的有序化市场到来。
此外,不同厂商也推出了相应的分布式数据库产品,以满足金融领域的需求。
例如,阿里云推出的PolarDB-X,其核心能力采用标准关系型数据库技术实现,配合完善的管控运维及产品化能力,使其具备稳定可靠、高度可扩展、持续可运维、类传统单机MySQL数据库体验的特点。
腾讯云推出的TDSQL也是一款适用于金融领域的分布式数据库产品。
以上信息仅供参考,如有需要,建议查阅相关网站。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
可见
TDSQL》
未来展望
腾讯TDSQL分布式金融级数据库架构
全局读一致性
面向金融类业务,十年积累,亿级账户验证
腾讯公司内与计费、充值、转账、财务等核心系统90%以上都使用TDSQL!
2002
2004
2008
2010
2012
2014
腾讯SP业务 原生MYSQL
增值业务 分库分表手工
伸缩
业务爆炸 一致性、 7X24可用性
腾讯计费 超高并发超短
低效
所有事件全序排序=>所有事务全 局排序,低效
数据是否可读,需要通过全局事 务提交状态验证,增加通讯次数
案例
Pg XC
某些系统 SS2PL+MVCC
Spanner SS2PL+MVCC
CockroachDB SSI+MVCC
5
2次读
增加了通讯轮数,且只能解决读 学术界的解决
《Scalable atomic visibility with
有异 常
有异 常
• 写-写
有异 常
• 写-读
并发操作可以被区分为四种:读-读、读-写、写-读、写-写
两个数据节点Na、Nb;两个数据项X、Y Na节点commit完成;Nb节点commit未完成 全局该事务处于committing状态
读半已提交数据异常
结果:账目不平
第1个分布式事务
第2个分布式事务
目录 CONTENTS
分布式事务处理模型与数据异常 业界主流数据库的解决方式
TDSQL全局读一致性的实现技术
解决方案
编号 1 2
3
4
各种方案 全局事务管理器 基于封锁的并发访问控制算法+全
局可串行化 全局可串行化+线性一致性
全局可串行化+混合逻辑时钟+全局 事务提交标志
缺点 非去中心化、低效
Cross异常
更多的数据异常……
存在的业务问题: 事务x、y同时发起 对账,对账结果 不同
解决技术: 实现全局可串行 化
目录 CONTENTS
分布式事务处理模型与数据异常 业界主流数据库的解决方式
TDSQL全局读一致性的实现技术
第一代TDSQL 分布式事务处理模型
start transaction; 修改user1的金额; 修改user2的金额; commit;
N2子节点 Prepared Prepared Prepared Prepared Committed
全局状态 Preparing Prepared Committed Committed Committed
核心问题:
分布式、全态数据在任何时间点的数
据一致性
解决技术:
写写冲突封锁机制互斥
MVCC从新版本到旧版本
半已提交数据异常
方式
ramp transactions》
分布式读半已提交异常
更多的数据异常……
Cross异常
Carsten Binnig, Stefan Hildenbrand, Franz Färber, Donald Kossmann, Juchang Lee, Norman May: Distributed snapshot isolation: global transactions pay globally, local transactions pay locally. VLDB J. 23(6): 987-1011 (2014)
时延
米大师,腾讯 充值
更名TDSQL
WeBank 私有化部署
2015
腾讯云 金融云
向上攀登 永不止步
2019
全局读 一致性
2ቤተ መጻሕፍቲ ባይዱ18
全时态 数据库
2017
分布式 事务
目录 CONTENTS
分布式事务处理模型与数据异常 业界主流数据库的解决方式
TDSQL全局读一致性的实现技术
• 读-读
无异 常
• 读-写
第二代TDSQL 分布式事务处理模型
start transaction; 修改user1的金额; 修改user2的金额; commit;
全局一致性概念
Bailis P, Davidson A, Fekete A, et al. Highly available transactions: Virtues and limitations. In Proc. of VLDB. 2013. 181-192
核心:同时满足2个一致 读的角度:分布式读数据一致 性 读写混合的角度:分布式事务 的事务一致性 非多副本的数据一致性
技术难点: 正确性相对容易实现 性能难以提高
解决方案—TDSQL全时态数据库
N1子节点 Prepared Prepared Prepared Committed Committed
局部节点处于Prepared状态
全局事务Committed/ Prepared状态
是否可见 不可见,读前一个版本
不可见
异步、批量设置本地事务状态 全局逻辑时钟(非跨城/洲分布)
冲突可串行化
可见
可见
VLDB 2019 腾讯全时态论文《A Lightweight and
Efficient Temporal Database Management System in