PolarDB迁移在切换配置的时候如果不停机,会不会出现数据不一致的情况?比如说系统刚好有并发下单的请求进来,造成了源RDS和新的PolarDB同时生成了一样的自增ID,导致数据同步冲突
在数据库迁移过程中,如果不采取适当的措施,特别是在高并发场景下,确实可能出现数据不一致的问题。这种情况可能发生在源数据库(如 RDS)和目标数据库(如 PolarDB)之间,尤其是在切换配置时,如果两个数据库同时处理相同的业务请求,可能会导致数据冲突或不一致。
例如,你提到的自增 ID 冲突是一个典型的例子。如果源 RDS 和新的 PolarDB 同时处理并发下单请求,并且都尝试生成相同的自增 ID,那么这可能导致数据同步冲突,进而引发数据不一致的问题。
为了避免这种情况,可以采取以下策略:
切换时候会先设置源库和目标端只读,然后两边追平后,再放开目标端的写权限。此回答整理自钉群“PolarDB专家面对面 - 自建/RDS MySQL迁移PolarDB MySQL/大版本升级”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云关系型数据库主要有以下几种:RDS MySQL版、RDS PostgreSQL 版、RDS SQL Server 版、PolarDB MySQL版、PolarDB PostgreSQL 版、PolarDB分布式版 。