区别
数据库主主:两台都是主数据库,同时对外提供读写操作。客户端访问任意一台。数据存在双向同步。
数据库主从:一台是主数据库,同时对外提供读写操作。一台是 从数据库,对外提供读的操作。数据从主库同步到从库。
数据库主备:一台是主数据库,同时对外提供读写操作。一台是 备库,只作为备份作用,不对外提供读写,主机挂了它就取而代之。数据从主库同步到备库。
从库和备库,就是slave库功能不同因此叫法才不一样而已。一般slave库都会对外提供读的功能的,因此,大家日常听得比较多就是 主从。
增强半同步复制和异步复制
增强半同步复制和异步复制是MySQL中用于实现主从复制的两种常见方式。
增强半同步复制是一种同步策略,它确保至少有一个备库已经接收并确认了主库的事务日志,然后主库才会提交事务。这种方式可以提高数据同步的可靠性,但也会引入一定的延迟。具体延迟情况取决于网络延迟、备库的处理能力以及主库的负载情况等因素。
相比之下,异步复制不要求备库确认接收和应用主库的事务日志,主库在提交事务后立即返回给客户端。这种方式的优势是主库的写操作不会受到备库的影响,但同时也存在数据同步滞后的可能性。由于不需要等待备库的确认,异步复制通常具有更低的延迟。
因此,在采用增强半同步复制和异步复制的架构中,备库支持主备切换,意味着备库可以在主库故障时接管成为新的主库。由于备库采用增强半同步复制,其与主库之间的数据同步更可靠,并且可以更快地进行主备切换。而从库采用异步复制,因此可能存在一定的数据同步延迟,它仅用于读取目的,并不参与主备切换操作。
主库
show master status\G
备库
show slave status\G
mysql增强半同步复制
MySQL 5.7 新特性之增强半同步复制
从库
show slave status\G
增强半同步复制不能保证binglog同步到备库吗?
增强半同步复制可以提高主库到备库的同步可靠性,但仍然无法完全保证binlog能够同步到备库。增强半同步复制是一种MySQL复制机制,在传统的异步复制基础上引入了同步确认机制。
在增强半同步复制中,主库在将binlog事件发送给备库后,会等待至少一个备库成功接收并应用该事件,然后才会继续进行下一个事件的提交。这样可以减小数据丢失的可能性,因为如果主库发生故障,只有已经完成同步的binlog事件才会丢失。
虽然增强半同步复制提供了更高的同步可靠性,但仍存在以下情况导致binlog无法同步到备库:
-
备库网络故障:如果备库出现网络问题,导致主库无法收到备库的同步确认信息,主库可能会继续提交新的binlog事件,而备库无法及时进行同步。
-
主库故障:如果主库发生故障,并且还没有将binlog事件成功发送到备库,那么这些未同步的binlog事件将会丢失。
-
配置问题:如果配置不正确或者存在一些特殊情况,可能导致增强半同步复制无法正常工作,从而无法保证binlog同步到备库。
因此,虽然增强半同步复制可以提高复制的可靠性,但它并不能完全保证binlog能够100%同步到备库。为了更可靠地保证备库的一致性,可以考虑使用同步复制技术,如半同步或者全同步复制,并且定期进行备份以防止数据丢失。
Oracle ADG(Automatic Data Guard)和MySQL的增强半同步复制
Oracle ADG(Automatic Data Guard)和MySQL的增强半同步复制是两种不同数据库系统中提供的数据复制技术,它们有一些区别。
-
数据库系统:Oracle ADG是Oracle数据库的一个功能,而MySQL的增强半同步复制则是MySQL数据库的一个特性。
-
同步性:Oracle ADG是基于物理备份的方法,它提供了更高的数据同步性。当主数据库提交事务时,ADG会确保至少一个辅助数据库(也称为备用数据库)已经接收并应用了这个事务,从而在主备数据库之间实现了同步。相比之下,MySQL的增强半同步复制只能提供更低级别的同步,即主数据库提交事务后,至少一个备用数据库接收到了这个事务,但不保证其应用。
-
故障恢复:Oracle ADG在主数据库发生故障时,可以自动将辅助数据库升级为新的主数据库,从而提供高可用性和灾难恢复能力。MySQL的增强半同步复制没有内置的自动故障恢复机制,需要手动进行故障切换。
-
配置和管理:Oracle ADG的配置和管理比较复杂,需要额外的许可证和专业知识。相比之下,MySQL的增强半同步复制相对简单,易于配置和管理。
-
可用性:Oracle ADG提供更高的可用性,因为它可以在主备数据库之间实现快速故障切换。MySQL的增强半同步复制在故障切换时需要手动操作,可能会导致一些停机时间。
总体而言,Oracle ADG在数据同步性、故障恢复和可用性方面提供了更强大的功能,但同时也更加复杂和昂贵。MySQL的增强半同步复制则是一种较为简单和经济实惠的选择,适合中小型应用环境。选择哪种技术取决于具体的需求和预算。