暂无图片
云原生数据库TDSQL-C和传统主备方式数据库有什么区别?
我来答
分享
跑不快
2021-09-22
云原生数据库TDSQL-C和传统主备方式数据库有什么区别?

1

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
冯睿

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

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

半同步复制:应用发起更新请求,Master 在执行完更新操作后立即向 Slave 复制数据,Slave 接收到数据并写到 relay log 中(无需执行)
后才向 Master 返回成功信息,Master 必须在接受到 Slave 的成功信息后再向应用程序返回响应。

传统数据复制方式存在问题:
当 Master 或 Slave 不可用时,以上三种传统数据复制方式均有几率引起数据不一致。

TDSQL:
MAR 强同步复制方案是腾讯自主研发的基于 MySQL 协议的并行多线程强同步复制方案,只有当备机数据完全同步(日志)后,才由主机给予应用事务应答。
比如由于某些原因导致备库同步中断,这个时候主库的更新会同步到备库的日志中,等备库恢复正常,会使用日志把数据逐渐追平,最终主备数据保持一致。

暂无图片 评论
暂无图片 有用 0
打赏 0
暂无图片
腾讯云数据库

我们一起来看传统主备方式数据库与云原生数据库的对比演进。

image.png

(传统的读写分离)

传统数据库主备方式:

存储各自独立

主备间通过数据流复制保证数据一致,主库故障则切换到备库

可用性与可靠性无法兼顾
image.png

(云原生数据库计算存储分离)

腾讯自研云原生数据库 TDSQL-C,基于全新计算存储分离架构,融合传统数据库和云计算技术优势,100%兼容MySQL和PostgreSQL,专为云而生,具有高性能、低成本、大存储、低延迟、秒级扩缩容、极速回档、serverless化七大特性:

● 高性能:单体实例读性能提升到125W,写性能提升到25W

● 低成本:成本下降可达40%

● 大存储:单实例存储容量达到128TB(超过448TB支持能力即将发布)

● 低延迟:彻底告别主从复制延迟/异常问题(< 20ms )

● 秒级扩缩容:规格升降级/增删RO < 60s

● 极速回档:回档速度提升200%,高达1.2GB/s

● serverless化:自动扩缩容、按使用量计费,不使用不计费

当传统主备方式数据库遇上腾讯云云原生数据库TDSQL-C,“C”位出道的腾讯云原生数据库说:“你的不足,我来补!”

1.可用性、可靠性无法兼顾 vs 可用性、可靠性兼顾;
传统数据库基于binlog的主从逻辑复制,复制延迟较大,存在数据丢失的风险。备机同步日志之后需串行回放,HA时间不可控,导致业务的可用性受损。
云原生数据库TDSQL-C基于计算存储分离的架构,底层是共享存储,解决了传统主备架构弹性能力差,业务压力大时的同步效率低,主备切换时间不可控等问题,在提供高性能同时保证了系统的高可用性和业务的连续性,极大的减轻了运营和运维人员的工作量。
● 高可用
秒级RTO:计算层重启,直接从存储层读取页面,无需日志恢复
主备延迟低:物理复制,直接回放到物理页面,无需SQL层参与
共享内存:计算节点快速重启,热页面仍然保留在内存
● 高可靠
RPO=0,存储层页面多副本同步
PITR(Point In Time Rollback),随心所欲回滚数据至任意时间点,保证数据不仅当前可靠,而且历史可靠
2.只读扩展受限、建立时间长 vs 秒级扩展、分钟级快照备份;
在实际业务中,只读请求占比远高于写请求,传统数据库因其本身架构,只读扩展受限,进而影响整体性能。规格升级、添加只读节点都需要导入全量数据到新机器,耗时随数据量增长,可达到天级别。
云原生数据库TDSQL-C架构上计算节点无任何状态,同时进行了多方面的优化,使得计算节点的HA和扩展均能在数秒内完成;数据在存储中进行分片,分片相互独立,基于云盘的快照机制,实现快速的并行备份和回档,较传统架构提升了一个数量级。秒级的快照备份和快速回档能力,在多副本的基础上对用户的数据进行连续保护,是互联网和游戏行业的最佳选择。
3.成本高企 vs 存储、计算分别计费;
在传统线下数据库维护方式中,需要提前准备整台机器、做三年折旧开销,才能正常运行一个数据库实例。而在大部分时间里,主机资源往往较为富余、长时间没有得到充分利用,造成严重浪费;而如果业务存在波峰波谷情况下,则需要时刻预备最高资源,使成本居高不下。
云的出现,一定程度上缓解了这一难题。云数据库,可以即开即用,在预估好资源使用后,预计可以十分钟左右用上数据库。而成本,可以依据所需的资源申请,在必要时(如业务爆增)可以升级到较高规格,从而避免资源的浪费、实现成本的一定程度降低。
而云原生数据库,则将成本控制的粒度往前迈进了一大步。当前常规云数据库,存储购买的粒度仍然较粗,至少以数十G为单位;而规格的升降级,最少为分钟级、最多有可能是在数小时、甚至数十小时级别(视数据总量而定),且计算规格与存储规格有较大绑定关系,导致互相影响,即存储规格变化、计算规格变化都有可能导致较慢的升级时间。而云原生数据库,则做到了秒级弹性、甚至极致的Serverless弹性。在正常业务运行时,采用较低规格运行,在业务波峰来临时,可以在秒级提升计算规格,此时存储上无须为此做任何动作;而存储上,用多少付多少,无须再考虑存储规格问题。整体上,实现资源规格的灵活、细粒度控制,更优的弹性、更好的控制成本方式,有效帮助应对业务的巨大波瀾。
4.备份时间长 vs 灵活调度、动态控制成本
传统数据库的逻辑回档采用计算层SQL解析后再落盘,回放的速度较慢;其物理回档则通过拷贝数据到所属磁盘,单线程回放redo日志,速度也较慢。传统数据库在备份会锁表,影响实例;若从备机上进行备份,速度过快则会导致主从差距变大,影响可用性。

云原生数据库TDSQL-C采用存算分离架构,存储支持快照备份。备份期间对计算节点无影响,可随时发起;支持按1MB并发上传/下载数据,备份/回档可达GB/s。特别是对于互联网和游戏业务敏捷灵活的弹性扩展,无需预先购买存储,可根据业务需要快速升降级,快速扩缩容,轻松应对业务峰值。
5.传统数据库容量天花板低 vs 云原生数据库轻松支持海量存储
传统数据库采用物理硬盘作为存储空间,受单盘容量的限制,如果某个数据库超过了这个存储的限制,需要运维和开发的人员一起进行数据归档来降低数据库容量或者进行分库分表操作分散数据库的容量问题,整个过程非常耗时耗力,对于业务来说也不太友好。

云原生数据库TDSQL-C,最高存储容量可达128TB(超过448TB支持能力即将发布),自动扩缩容,能够轻松应对业务数据量动态变化和持续增长,运维无需再为实例的存储容量而发愁。

如此优秀的云原生数据库 TDSQL-C,研发应该怎么玩儿?
即开即用
不必再费心维护数据库,专业的事交给专业的人;专注业务,不再分心
建立数据库不必再等待,跟几个小时的时间浪费说再见;伸个懒腰,数据库的端口即为你打开
用多少买多少,没有折旧、没有复杂核算;业务如水、数据库的费用如船,水多低、船多低,水多高、船多高

告别分库分表
容量最高超128TB(超过448TB支持能力即将发布),足够大部分业务使用
无须再关键分布键、不用再担心倾斜、不用担心半夜被叫醒
一个地址,随心使用

读写分离
分拆负载、避免计算资源争抢
读影响写?不存在了
微服务的拆分更有依据、更便捷

实时数据分析
计算节点秒级建立、用完即释放
实时报表,业务的统计随时恭候,不再T+1
用完即释放,跟OLAP系统说再见

SQL优化
DBbrain智能诊断来保驾护航
专做程序员、不兼DBA,将专业的SQL优化交给专业的自动化

灵活控制成本
计算节点秒级增减、存储独立计费
不用再担心老板来问花了多少钱,问就是很少;为什么?都靠“我”(你)的灵活控制

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
Tdsql 支持闪回操作吗 ?
回答 1
Tdsql是支持闪回操作的,Tdsql代码中包含了开源的perconatookit工具。
tdsql shardkey+range分区 在存储时如何实现 范围查询的时候如何实现?
回答 1
底层存储结构实际上是在每个分片里面会存储一个基础表多个子表(比如月份子表);如果查询没有带shardkey,则会拆分sql到多个分片上执行将结果汇总;每个分片中的sql查询如果涉及跨月场景时,需要打开
tdsql 支持审计功能吗 ?
回答 1
支持的。在赤兔可视化运营管理平台中,有一个性能分析菜单,点击后可以看到历史sql分析的子菜单。除此之外,在赤兔平台上的任何操作也都有操作记录可以查
tdsql 当从库不与主库同步了,怎么办呢?
回答 1
看具体什么原因,具体原因具体分析:如果是大事务导致的,主从延时过长,可以优化业务把大事务进行拆分。如果是慢查询导致的,就要对相应的sql进行优化。如果延迟时间过长,或者无法恢复,赤兔操作界面里有一个重
cynosdb mysql 单表的极限是多少?
回答 2
cynosdb架构没有了存储量的限制,指的是整体容量和传统部署方式的本地存储设备相比,对于具体的表而言,不管是独立表空间还是共享表空间,理论上限都是64T,独立表空间还会受文件系统的限制单表太大会造成
TDSQL多套集群部署的时候怎么集中管理?
回答 1
tdslq有一个配套的可视化运维管理平台也叫赤兔。在赤兔上“集群管理”“集群设置”页面添加集群,添加后,可在赤兔上管理多个集群。值得注意的是,实例、监控数据等是保存在集群本地的,赤兔只是做配置和展示。
tdsql for mysql最小化配置需要啥配置
回答 3
可以看我这篇博客就好,里面有tdsql的配置https://www.modb.pro/db/1839338685288951808
TDSQL主从切换时,如果agent挂了,怎么上报状态?
回答 2
agent命令会执行失败,主从切换过程回滚。
tdsql 备份有几种方式?
回答 1
tdsql支持物理备份,逻辑备份2种方式。物理备份又可以支持全量和增量备份,tdsqlbinlog是实时备份的,可以恢复到有备份的时间范围内任意时间点
腾讯云原生数据库TDSQL-C Serverless架构和特性?
回答 1
1.Serverless数据库特点Serverless分为FaaS(函数即服务)和BaaS(后端即服务)。Serverless的特点是无需运维;以API形式提供服务;实时弹性伸缩;按调用次数计费;无使