在业务运转过程中,你是否经常担心以下问题:业务写入压力较大时,主从时延随之变大?主库在业务高负载情况下出现故障,从库能否快速替代主库确保数据无损?
在回答这个问题之前,我们先来了解一下主从数据库的区别和主从同步延迟的原因。
MySQL 主从数据库的
区别与延迟问题
从数据库是主数据库的备份,当主数据库变化时从数据库要更新。主数据库负责写操作的负载,即一切写的操作都在主数据库上进行,而读的操作则分摊到从数据库上进行。读与写的分离,可以大大提高读取的效率。
当主库的吞吐量并发较高时,数据库在业务上读写压力太大,CPU 计算负荷大,网卡负荷大,硬盘随机 IO 太高,超出从库的承载能力;MySQL 读写 Binlog 带来的性能影响,导致网络传输延迟,从而出现时延过大情况。
华为云的应对策略
“非双一特性”兼顾数据安全与超低时延
什么是“非双一特性”?
“非双一特性”是华为云数据库 MySQL 新推出的一项针对数据安全与超低时延的关键性技术,目前属于业界首家独创。
在“非双一特性”的加持下,开启 GTID 时,即使从库(备库/只读)设置 Binlog 和 Redo 不同步刷盘,以及在各种异常情况下(比如从库断电)也能保证其数据不丢失,从而兼顾了从库极致的写入性能与数据安全。
此外,“非双一特性” 增强后,即便 Redo 与 Binlog 不同步刷盘,Recovery 也可以在从库故障重启后自动恢复,保证 Binlog 与引擎数据的完整。
华为云数据库团队在 5.7 版本下做了一个性能对比的测试,测试中各参数数据分别是:
性能对比测试
可见,华为云 MySQL“非双一特性”轻松化解了高负载带来的压力,实现了主从数据库超低时延,有效保障业务的可持续运行。
“非双一特性”的优势
主从同步时延 除大事务场景外,绝大多数场景下即便 sysbench 面临最大写入压力,从库依旧持续保持 0 时延。
极大改善 RPO(复原点目标) 如果主库故障,在要求数据不丢失情况下,从库可立即接管主库。
极大改善 RTO (复原时间目标) 如果主库故障,在要求业务立即恢复情况下,从库也可最大程度保证数据不丢失。
华为云 MySQL“非双一特性”的推出,极大保证了数据的安全和从库性能的提升,为企业业务的稳定持续运行提供了有效保障。
本文转载自 HW 云数据库公众号。
原文链接:https://mp.weixin.qq.com/s/s3eWKnfHcYaxjq-b45PHJw
评论