使用PostgreSQL逻辑订阅实现multi-master

  1. 云栖社区>
  2. 阿里云数据库ApsaraDB>
  3. 博客>
  4. 正文

使用PostgreSQL逻辑订阅实现multi-master

德哥 2017-06-24 01:22:37 浏览3574
展开阅读全文

标签

PostgreSQL , multi master , 逻辑订阅


背景

很多业务要求多活,但是多活中最难搞定的实际上是数据库,大多数业务通过分流,例如将数据根据UID切分到不同的IDC,同一个UID的数据永远只会写到一个IDC中,然后通过数据复制技术,将对应的数据复制到其他的IDC。

这种形态的多活是比较安全的,即同一条记录不会被多个IDC执行DML。如果同一条记录涉及到多个IDC的DML,那么数据库的一致性会受到极大挑战,比如同一条记录被多个IDC更新,到底以哪个为准?

同时多活还要解决另一个问题,数据的循环问题,例如A写入一条数据,需要复制到B,B写入的数据也要复制给A。如果没有手段防止循环的话,一条记录就可以把多活数据库弄趴下。

multi-master的两个重大课题是解决冲突以及死循环的问题。

PostgreSQL 10引入了逻辑

网友评论

登录后评论
0/500
评论
德哥
+ 关注
所属云栖号: 阿里云数据库ApsaraDB