腾讯云-TDSQL分布式数据库服务概述

合集下载

分布式数据库的实现及其应用

分布式数据库的实现及其应用

分布式数据库的实现及其应用随着互联网的快速发展和信息化的普及,数据量大幅度增长,传统的中心化数据库管理系统已经不能满足现代应用的需求。

分布式数据库因其具有高可用性、可扩展性和容错性的特点,成为了当前大规模应用的主流技术之一。

本文将从分布式数据库的概念和实现原理入手,详细探讨分布式数据库的实现及其应用。

一、分布式数据库的概念及特点1.1分布式数据库的概念分布式数据库是指数据存储在不同的地理位置上,通过计算机网络互连,实现数据的分布式存储和管理。

它不同于传统的中心化数据库,数据存储在同一台计算机上,分布式数据库的数据可以存储在多台计算机上,各台计算机之间通过网络互联。

1.2分布式数据库的特点(1)高可用性分布式数据库系统中的数据可以在不同的节点上进行存储和访问,可以减少单点故障的影响,提高整个系统的可用性。

(2)可扩展性分布式数据库系统可以根据需要动态添加节点,实现系统的横向扩展,从而满足不断增长的数据存储需求。

(3)容错性分布式数据库系统可以通过复制数据或者备份数据的方式,提高数据的容错能力,一旦某个节点发生故障,可以通过其他节点提供的备份数据进行恢复。

(4)性能和负载均衡分布式数据库系统能够通过合理的数据分片和数据分发策略,实现负载均衡和数据访问的并行处理,提高系统的性能。

二、分布式数据库的实现原理2.1数据分片数据分片是指将数据库中的数据按照一定的规则划分成若干独立的部分,每个部分被存储在不同的节点上。

常用的数据分片策略包括:哈希分片、范围分片和复制分片。

(1)哈希分片哈希分片是将数据的主键或者某个特定字段进行哈希计算,根据哈希值的范围将数据分配到不同的节点上。

这种方式可以保证数据的均匀分布,但是在需要进行范围查询时效率较低。

(2)范围分片范围分片是根据数据的某个特定字段的取值范围将数据进行划分,每个节点负责存储一定范围内的数据。

这种方式适合于需要进行范围查询的场景,但是需要考虑数据的均匀分布。

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架构原理概述

分布式数据库TDSQL架构原理概述

分布式数据库TDSQL架构原理概述TDSQL(TiDB Distributed SQL)是一个分布式数据库架构,它是由PingCAP公司开发的一款开源数据库。

TDSQL具有强一致性、高可用性和水平可扩展性的特点,适用于大规模、高并发的数据存储和处理需求。

TDSQL的架构原理主要包括三个方面:存储层、计算层和协调层。

存储层是TDSQL的核心组件,它负责数据的存储和管理。

存储层采用分布式存储的方式,将数据分成多个分片,并将每个分片复制到不同的节点上,以保证数据的冗余和可靠性。

存储层采用Raft协议保证数据的一致性,通过多副本和强一致性保证数据的可靠性和持久性。

此外,存储层还支持水平扩展,可以根据需求增加节点来扩展存储容量和处理能力。

计算层是TDSQL的查询和计算引擎,它负责接收用户的查询请求,并将请求转化为分布式查询任务。

计算层采用分布式查询的方式,将一个查询任务拆分成多个子任务,并将子任务分配给不同的节点进行并行处理。

计算层通过调度和协调各个节点上的计算任务,最终将结果返回给用户。

计算层采用分布式索引和分布式事务的方式,使得在大规模数据查询和处理中依然能够保持较高的性能和可用性。

协调层是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的核心架构是基于传统关系数据库的基础上扩展和优化而成的分布式关系数据库系统。

通过将数据切分和分片存储在多个节点上,以及采用分布式事务管理和查询优化的技术,实现了数据的高可用性和横向扩展能力。

分布式数据库系统

分布式数据库系统


P
场地A
场地B
在场地B选出红色零件的元组(10个),然后对每一 个元组逐一检查场地A,看北京供应商的装运单中是否有 这个零件装运单(若有则选出S#),每做这样一次检查 包括2次消息,共问答10次,通信时间为:
T[4]=2*10=20秒
26
查询处理和优化
策略5:
传(S#,P#)
(S)SP
P
场地A
14
分布透明性----包括分片透明性、位置透明性和局部数 据模型透明性。
分片透明性----分布透明性的最高层次。指用户或 应用程序只对全局关系进行操作而不考虑关系的分 片。当分片模式改变了,由于全局到分片模式的映 像、全局模式不变,应用程序不必改写。
位置透明性----分布透明的下一层次。指用户或应用 程序不必了解片段的场地,当存储场地改变了,由于 分片模式到分布模式的映像,应用程序不必改变。 局部数据模型透明性----用户或应用程序不必了解局 部场地上使用哪种数据模型,模型转换以及数据库语 言的转换由映像4完成。
分布式数据库系统中全局应用要涉及到两个以上结点的 数据,全局事务可能由不同场地的多个操作组成。所以应 该保证数据库的全局一致性、全局并发事务的可串行性和 系统的全局可恢复性。 当一个结点发生故障,操作失败后如何使全局事务回滚? 如何使另一个结点撤销已执行的操作或不必再执行其他操作。
采用的技术比集中式数据库系统更复杂和困难。
•提高系统的可靠性、可用性 当某一场地出现故障时,系统可以对另一场地上的相同 副本进行操作,不至于造成整个系统的瘫痪。
•提高系统性能 系统可选择用户最近的数据副本进行操作,减少通
信代价,改善整个系统性能。
存在的问题: 冗余副本之间存在数据不一致,必须着力解决。

分布式数据库总结

分布式数据库总结

%%%%%%%%%%%%%%%第一章:分布式数据库系统概述数据库:长期存储在计算机内的有组织的,可共享的相关数据的集合。

数据库管理系统:DBMS是介于用户与操作系统之间的一层数据管理软件。

为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。

DBMS基于某种数据模型。

数据库系统:数据库系统(DBS)通常是指带有数据库的计算机应用系统。

包括数据库、相应的硬件、软件和各类人员。

数据库技术:数据库技术是研究数据库的结构、存储、设计、管理和使用的一门软件学科;是一门综合性较强的学科。

数据抽象:视图抽象——外模式;概念抽象——概念模式;物理抽象——内模式数据模型:数据模型三要素:数据结构;数据操作;完整性约束模式/内模式映象:该映象存在于模式与内模式之间,用于定义模式与内模式之间的对应性。

本映象一般在内模式中描述。

外模式/模式映象:该映象存在于外模式与模式之间,用于定义外模式和模式之间的对应性。

本映象一般在外模式中描述。

物理独立性:在数据库系统的三级模式结构中,存在模式/内模式的映象,当内模式发生变化时,只要修改模式/内模式的映象,就可以保持模式不变,从而保证程序与数据的物理独立性。

逻辑独立性:在数据库系统的三级模式结构中,存在外模式/模式的映象,当模式发生变化时,只要修改外模式/模式的映象,即可保持外模式不变,从而保证程序和数据的逻辑独立性。

DDBS具有如下四个基本特点:物理分布性逻辑整体性场地自治性场地之间协作性计算机网络:定义为相互联接、彼此独立的计算机系统的集合。

相互联接指两台或多台计算机通过信道互连,从而可进行通信;彼此独立则强调在网络中,计算机之间不存在明显的主从关系,即网络中的计算机不具备控制其他计算机的能力,每台计算机都具有独立的操作系统。

计算机网络的组成:通信子网和资源子网分布式数据库定义:物理上分散而逻辑上集中的系统,它使用计算机网络将地理位置分散而管理和控制又需要不同程度集中的多个逻辑单位(通常是集中式数据库系统)连接起来,共同组成一个统一的数据库系统。

腾讯云-TData数据库一体机服务概述

腾讯云-TData数据库一体机服务概述

TData数据库一体机服务产品概述目录产品简介产品介绍 (3)产品架构 (4)产品特性 (5)金融安全 (5)金融合规 (5)高可靠性 (5)高性能 (5)可定制 (5)高性价比 (5)易扩展 (5)快速部署 (6)功能介绍 (7)数据迁移及备份 (7)高可用 (7)容灾支持 (8)系统配置 (10)性能指标 (11)Oracle Calibrate_IO (11)HammerDB (11)产品简介产品介绍19-12-13 15:04:25随着市场金融改革的不断深化和云计算技术的不断成熟与完善,云计算在金融行业的发展中发挥着越来越重要的作用。

传统金融机构在探索与实施互联网金融业务创新的过程中,势必需要灵活可变的 IT 架构和技术支撑,最大限度地缩短创新产品的开发与实施周期以占领市场先机。

云计算服务凭借快速交付、易扩展性、低运维成本等特性,逐渐成为金融机构实现业务创新试验的首选架构。

腾讯金融云敏锐的发觉很多金融行业客户在 Oracle 数据库系统与拥抱云计算潮流所面临的许多痛点,借助迅猛发展的 X86 平台、PCIe 高速闪存卡、低时延高带宽的 InfiniBand 网络等,结合腾讯强大的技术实力推出 TData for Oracle 数据库一体机产品,助力金融客户业务创新。

TData for Oracle 数据库一体机选择 PCIe 高速闪存卡、高性能 X86 服务器、InfiniBand 高速互联技术、RDMA 远程直接数据存取技术以及服务于腾讯百万级别服务器的 Tencent Linux 操作系统,结合 Oracle RAC 进行深度优化整合及调整,为用户提供高可用、易扩展、高性能的数据库服务,适用于 OLAP、OLTP 以及混合负载等各种应用场景。

19-07-22 14:30:08TData 一体机由计算节点、存储节点、InfiniBand 高速网络以及运维监控四大部分组成,计算节点及存储节点均基于标准的 X86 软、硬件架构,计算节点使用高性能 X86 服务器,负责提供数据库计算能力,存储节点配置 PCIe 高速闪存卡,提供数据存储能力,内部通过 InfiniBand 高速网络将多个计算节点及存储节点进行互联,采用全冗余架构设计,形成一个高性能、高可靠、易扩展的数据库系统,计算资源及存储资源均能按需进行横向扩展,性能随节点的增加而呈线性上升。

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的容灾切换和故障恢复能力可以确保游戏的稳定运行。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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存储,如果性能或容量不足以支撑业务发展时,在控制台自动升级扩容。

升级过程中,您无需关心分布式系统内的数据迁移,均衡和路由切换。

升级完成后访问 IP 不变,仅在自动切换时存在秒级闪断,您仅需确保有重连机制即可。

应用层分片开发工作量大应用层分片将业务逻辑和数据库逻辑高度耦合,给当前业务快速迭代带来极大的开发工作量。

基于 TDSQL 透明自动拆分的方案,开发者只需要在第一次接入时修改代码,后续迭代无需过多关注数据库逻辑,可以极大减少开发工作量。

开源方案或 NoSQL 难题选择开源或 NoSQL 产品也能够解决数据库瓶颈,这些产品免费或者费用相对较低,但可能有如下问题:产品 bug 修复取决于社区进度。

您的团队是否有能持续维护该产品的人,且不会因为人事变动而影响项目。

关联系统是否做好准备。

您的业务重心是什么,投入资源来保障开源产品的资源管控和生命周期管理、分布式逻辑、高可用部署和切换、容灾备份、自助运维、疑难排查等是否是您的业务指标。

TDSQL 支持 Web 控制台,提供完善的数据备份、容灾、一键升级等功能,完善的监控和报警体系,大部分故障都通过自动化程序处理恢复。

产品优势19-09-27 16:20:57超高性能单分片最大性能可达超24万 QPS,整个实例性能随着分片数量增加线性扩展。

不存在中间件 + 数据库方案中的性能瓶颈,即 TProxy 也可以做线性扩展。

强同步性能与异步同步相当,能让您在数据不丢失的情况下,也拥有较高的性能。

专业可靠经过腾讯各类核心业务10余年大规模产品的验证,包括社交、电商、支付、音视频等。

提供完善的数据备份、容灾、一键升级等功能。

完善的监控和报警体系,大部分故障都通过自动化程序处理恢复。

支持分布式数据库领域领先功能,如分布式多表 JOIN、小表广播、分布式事务、SQL 透传等。

简单易用除少量语法与原生 MySQL、MariaDB 不同外,使用起来如使用单机数据库,分片过程对业务透明且无需干预。

兼容 MySQL 协议(支持 MySQL、MariaDB 等内核)。

支持 Web 控制台,读写分离能力、专有运维管理指令等。

应用场景19-09-27 16:01:29大型应用(超高并发实时交易场景)电商、金融、O2O、社交应用、零售、SaaS 服务提供商,普遍存在用户基数大(百万级或以上)、营销活动频繁、核心交易系统数据库响应日益变慢的问题,制约业务发展。

TDSQL 提供线性水平扩展能力,能够实时提升数据库处理能力,提高访问效率,峰值 QPS 达1500万+,轻松应对高并发的实时交易场景。

微信支付、财付通、腾讯充值等都是使用的 TDSQL 架构的数据库。

物联网数据(PB 级数据存储访问场景)在工业监控和远程控制、智慧城市的延展、智能家居、车联网等物联网场景下,传感监控设备多、采样率高、数据规模大。

通常存储一年的数据就可以达到 PB 级甚至 EB,而传统基于 x86 服务器架构和开源数据库的方案根本无法存储和使用如此大的数据量。

TDSQL 提供的容量水平扩展能力,以及 tokudb 等存储引擎的压缩能力,可以有效的帮助用户以低成本(相对于共享存储方案)存储海量数据。

文件索引(万亿行数据毫秒级存取)一般来说,作为云服务平台,存在大量的图片、文档、视频数据,数据量都在亿级 - 万亿级,服务平台通常需要将这些文件的索引存入数据库,并在索引层面提供实时的新增、修改、读取、删除操作。

由于服务平台承载着其他客户的访问,服务质量和性能要求极高。

传统数据库无法支撑如此规模的访问和使用,TDSQL 超高性能和扩展能力并配合强同步能力,有效的保证平台服务质量和数据一致性。

高性价比商业数据库解决方案政务机构、大型企业、银行等行业为了支持大规模数据存储和高并发数据库访问,对小型机和高端存储依赖极强。

而互联网企业通过低成本 x86 服务器和开源软件即可做到商业数据库相同甚至更高的能力。

TDSQL 适用于诸如国家级或省级业务系统汇聚、大型企业电商和渠道平台、银行的互联网业务和交易系统等场景。

基本原理水平分表19-11-06 17:57:36概述水平拆分方案,实际上是分布式数据库的基础原理,他的每个节点都参与计算和数据存储,且每个节点都仅计算和存储一部分数据。

因此,无论业务的规模如何增长,我们仅需要在分布式集群中不断的添加设备,用新设备去应对增长的计算和存储需要即可。

水平切分水平切分(分表):是按照某种规则,将一个表的数据分散到多个物理独立的数据库服务器中,形成“独立”的数据库“分片”。

多个分片共同组成一个逻辑完整的数据库实例。

常规的单机数据库中,一张完整的表仅在一个物理存储设备上读写。

分布式数据库中,根据在建表时设定的分表键,系统将根据不同分表键自动分布到不同的物理分片中,但逻辑上仍然是一张完整的表。

在 TDSQL 中,数据的切分通常就需要找到一个分表键(shardkey)以确定拆分维度,再采用某个字段求模(HASH)的方案进行分表,而计算 HASH 的某个字段就是 shardkey。

HASH 算法能够基本保证数据相对均匀地分散在不同的物理设备中。

写入数据( SQL 语句含有 shardkey )1.业务写入一行数据。

2.网关通过对 shardkey 进行 hash。

3.不同的 hash 值范围对应不同的分片(调度系统预先分片的算法决定)。

4.数据根据分片算法,将数据存入实际对应的分片中。

数据聚合数据聚合:如果一个查询 SQL 语句的数据涉及到多个分表,此时 SQL 会被路由到多个分表执行,TDSQL 会将各个分表返回的数据按照原始 SQL 语义进行合并,并将最终结果返回给用户。

注意:执行 SELECT 语句时,建议您在 where 条件带上 shardKey 字段,否则会导致数据需要全表扫描然后网关才对执行结果进行聚合。

全表扫描响应较慢,对性能影响很大。

读取数据(有明确 shardkey 值)1.业务发送 select 请求中含有 shardkey 时,网关通过对 shardkey 进行 hash。

2.不同的 hash 值范围对应不同的分片。

3.数据根据分片算法,将数据从对应的分片中取出。

读取数据(无明确 shardkey 值)1.业务发送 select 请求没有 shardkey 时,将请求发往所有分片。

2.各个分片查询自身内容,发回 Proxy 。

3.Proxy 根据 SQL 规则,对数据进行聚合,再答复给网关。

读写分离19-11-04 19:57:56功能简介当处理大数据量读请求的压力大、要求高时,可以通过读写分离功能将读的压力分布到各个从节点上。

TDSQL 默认支持读写分离功能,架构中的每个从机都能支持只读能力,如果配置有多个从机,将由网关集群(TProxy)自动分配到低负载从机上,以支撑大型应用程序的读取流量。

基本原理读写分离基本的原理是让主节点(Master)处理事务性增、改、删操作(INSERT、UPDATE、DELETE),让从节点(Slave)处理查询操作(SELECT)。

只读账号只读帐号是一类仅有读权限的帐号,默认从数据库集群中的从机(或只读实例)中读取数据。

通过只读帐号,对读请求自动发送到备机,并返回结果。

弹性拓展19-09-27 16:08:06概述TDSQL 支持在线实时扩容,扩容方式分为新增分片和现有分片扩容两种方式,整个扩容过程对业务完全透明,无需业务停机。

扩容时仅部分分片存在秒级的只读或中断,整个集群不会受影响。

扩容过程TDSQL 主要是采用自研的自动再均衡技术保证自动化的扩容和稳定。

新增分片扩容1.控制台单击扩容后,系统根据负载和容量计算出 A 节点(实际上可能影响多个节点)存在瓶颈。

2.根据新加 G 节点配置,将 A 节点部分数据搬迁(从备机)到 G 节点。

3.数据完全同步后,A、G 节点校验数据库,存在一至几十秒的只读,但整个服务不会停止。

4.调度通知 proxy 切换路由。

现有分片扩容基于现有分片的扩容相当于更换了一块更大容量的物理分片。

说明:基于现有分片的扩容没有增加分片,不会改变划分分片的逻辑规则和分片数量。

1.按需要升级的配置分配一个新的物理分片(以下简称新分片)。

2.将需要升级的物理分片(以下简称老分片)的数据、配置等同步数据到新分片中。

3.同步数据完成后,在腾讯云网关做路由切换,切换到新分片继续使用。

强同步19-10-16 18:04:35背景传统数据复制方式有如下三种:异步复制:应用发起更新请求,主节点(Master)完成相应操作后立即响应应用,Master 向从节点(Slave)异步复制数据。

强同步复制:应用发起更新请求,Master 完成操作后向 Slave 复制数据,Slave 接收到数据后向 Master 返回成功信息,Master 接到 Slave 的反馈后再应答给应用。

Master 向 Slave 复制数据是同步进行的。

相关文档
最新文档