面试官:MySQL的主从同步是如何保证数据一致性的

数据一致性定义
  • 数据一致性指系统中数据在不同部分、时间点和操作间保持一致的状态。
数据一致性类型
  1. 数据一致性:确保数据完整性、准确性和有效性。
  2. 事务一致性:事务要么全部成功,要么全部回滚,确保修改对所有用户可见。
  3. 多副本一致性:确保分布式系统中不同副本间数据一致。
  4. 时间一致性:数据在不同时间点上保持一致。
主从复制概念
  • MySQL主从复制是将主数据库数据同步至其他数据库,实现数据冗余备份和负载均衡。
主从数据库角色
  • 主数据库(Master):接收和处理所有写操作,记录变更到二进制日志。
  • 从数据库(Slave):通过复制主数据库的二进制日志来同步数据,处理读操作。
主从复制流程
  1. 主数据库记录写操作到二进制日志。
  2. 从数据库IO线程从主数据库读取同步数据到中继日志。
  3. 从数据库SQL线程从中继日志写入数据。
主从同步方式
  1. 异步复制

    • 主服务器提交事务后立即返回,无需等待从服务器确认。
    • 优点:高性能、简单、低成本。
    • 缺点:可能数据丢失或不一致。
  2. 同步复制

    • 主服务器提交事务前需等待所有从服务器确认。
    • 优点:高数据一致性、容错性。
    • 缺点:性能开销大、单点故障风险。
  3. 半同步复制

    • 主服务器提交事务前需等待至少一个从服务器确认接收。
    • 优点:数据一致性较好、性能影响小、灵活性高。
    • 缺点:性能波动风险、配置复杂。
小结
  • 同步复制保证数据一致性但牺牲性能。
  • 生产环境推荐使用半同步复制,平衡一致性和性能。
  • 异步复制简单、性能好,但可能数据不一致。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值