【选择GaussDB(for MySQL)的十大理由】之一:主备0延迟

举报
GaussDB 数据库 发表于 2024/08/21 10:27:50 2024/08/21
【摘要】 复制延迟是传统MySQL架构难以消除的缺陷在企业级的生产环境中,MySQL通常使用集群架构,常见的有一主一从和一主多从,且在很多情况下都会面临主从复制延迟的问题。MySQL的复制延迟是指主从服务器之间的数据同步有时间差,导致主从数据不一致,甚至在故障倒换时发生丢失数据等重大故障。在日常使用MySQL过程中就可能存在一定的复制延迟。这是因为在传统主备架构中,主库在变更自身数据文件的同时将变更操...

复制延迟是传统MySQL架构难以消除的缺陷

在企业级的生产环境中,MySQL通常使用集群架构,常见的有一主一从和一主多从,且在很多情况下都会面临主从复制延迟的问题。MySQL的复制延迟是指主从服务器之间的数据同步有时间差,导致主从数据不一致,甚至在故障倒换时发生丢失数据等重大故障。

1.png

在日常使用MySQL过程中就可能存在一定的复制延迟。这是因为在传统主备架构中,主库在变更自身数据文件的同时将变更操作记录到binlog文件中,备库复制binlog文件并回放其中记录的写操作,从而使得自身的数据文件与主库做同样的变更。这个过程是异步的或者半同步的。其中一些场景会加剧复制延迟,如网络卡顿、备库IO性能瓶颈、处理大事务、服务器负载高、锁竞争等。

GaussDB(for MySQL)如何避免复制延迟

GaussDB(for MySQL)是华为自研的新一代企业级高扩展海量存储云原生数据库,完全兼容MySQL。同时,基于华为新一代DFV存储,采用计算存储分离架构。

2 - 副本.png从架构上看,GaussDB(for MySQL)不仅计算和存储实现了解耦,主库和从库同样也实现了解耦。这是因为其主从节点共享了一份数据,所以抛弃传统的主备复制流程,主从之间不再依赖binlog的复制和回放来做数据同步。

另外,GaussDB(for MySQL)采用“日志即数据”的设计,相较于传统MySQL,不再需要刷page,所有的更新操作仅记录日志,不再需要double write,从而实现毫秒级的主从延迟。

用户在使用MySQL时,从库上常常承担部分读流量,GaussDB(for MySQL)可以保证主和只读之间无延时,保证数据的强一致性,在时延敏感类业务中发挥巨大作用。

除此之外,在遇到进程hang死或服务器宕机等故障场景时,MySQL的高可用机制会触发主备倒换。如果此时复制时延较大,故障恢复的RTO就会较大,若强行进行主备倒换可能导致数据丢失。GaussDB(for MySQL)能够从容面对无法预料的故障场景,故障发生第一时间进行主备倒换,保证数据0丢失。

GaussDB(for MySQL)轻松化解业务难题

金智教育是国内领先的高校信息化服务运营商,旗下推出的辅导猫致力于学生日常管理的协同办公,与全国200+高校的学工处、辅导员、班主任一起创造属于自己的信息化应用。

辅导猫业务覆盖全国1000+高校,日活达到百万人次,数据表多达5万张,业务涉及多表的同时更新和查询。其中业务的核心痛点就是主从复制时延问题:部分业务写在主库,读在只读库,因主从时延较大,导致学生反复提交信息,统计看板展示的信息也无法及时更新。

3.png

针对该业务痛点,客户采用华为云提供的“GaussDB(for MySQL)+Proxy”解决方案。GaussDB(for MySQL)的存算分离架构实现存储共享,主节点和只读节点间无时延,上层业务全栈无感。

GaussDB(for MySQL)主备0延迟的特点在金融业务、电商大促、游戏周年庆等多种业务场景中同样发挥奇效。例如,用户在只读库上查询一单已支付的订单状态,如果此时只读库还没有及时同步主库的数据,那么用户可能会看到订单状态是未支付,给用户带来困扰体验的同时降低了产品信誉度。

总结

GaussDB(for MySQL)存算分离架构,天然地解决了传统MySQL主备架构的复制延迟困境,从根上避免了主从数据不一致带来的一系列问题。如业务有需要,可购买包年/包月按需实例,自动创建无需部署,快来试用吧!https://www.huaweicloud.com/product/gaussdbformysql.html

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。