开发者社区> 问答> 正文

你好,我有个很关心的问题,我采用的是双A , 两个数据库都写入两个一样记录,请注意这两个记录在业务上

我有个很关心的问题,我采用的是双A , 两个数据库都写入记录,有一种场景:A库写入的某个记录和B库写入的记录id一样,请注意这两个记录在业务上不是一条记录,只是主键被写成一样了,这种场景怎么处理,我最担心这个问题,会导致两个本来不是一个记录,但是被当成一个记录处理,有什么好的规避办法,是不是要两个库主键生成规则不一样 ?

我看了 otter数据一致性文档,但是并没有对我这个问题做出一个很好的解释。如果两个数据库都在大量写入,而且otter宕掉了,短期内恢复不了,两个库就会出现很多主键一样,但业务上不应该是一个记录,这怎么处理 ?给我一个好办法,或者是一个补救办法,比如用户小张在 A数据库写入一条 ID =400的记录, 用户小王在B库写入一条ID =400的记录,显然这两个记录不是一条记录,只是id一样,而且此时otter宕机了1天,等otter恢复以后,我怎么处理这些新增的id相同的记录 ? 是不是一定要两个数据库主键规则重新制定:保证两个库主键不会一样 ? 我的问题您理解了吗 ?

原提问者GitHub用户 Bruce2jiang

展开
收起
大圣东游 2023-06-21 17:21:08 43 0
1 条回答
写回答
取消 提交回答
  • 需要自行保证不同业务的主键不重复,否则当做同一条记录处理

    原回答者GitHub用户agapple

    2023-06-21 18:19:47
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载