多数据中心数据有哪些同步方式,该如何选择?

多数据中心数据有哪些同步方式,该如何选择?显示全部

多数据中心数据有哪些同步方式,该如何选择?

收起
参与41

查看其它 1 个回答anikikong的回答

anikikonganikikong  数据库运维工程师 , 中国民生银行

多数据中心数据同步大致分为两种方式,一种是存储复制,一种是数据复制。

  1. 存储复制通过存储复制技术,将磁盘同步或者异步复制到不同数据中心。一般同城数据中心距离较近,会采用同步的模式。同步模式会对写操作有延迟,进而影响一部分性能。异地数据中心因为距离较远,采用异步模式,对本地数据访问没有影响。
    存储复制还分为硬件技术复制和软件技术复制。硬件技术复制是存储厂商提供的技术,优点是方案成熟,配置简单,对于应用适应性强。缺点是成本高,单活,对网络传输压力大。所以建议高级别的业务系统采用这种方式。软件复制技术是使用例如LVmirror,GPFS等软件技术来复制不同数据中心的磁盘。优点是成本低,灵活性高,缺点是配置复杂,适用性差,需要对应用当前环境停机改造,后期维护起来复杂。所以这种方式用的很少。
  2. 数据复制时通过数据库技术或者第三方软件实现数据中心间的数据同步。同样数据复制也分为同步和异步两种模式,分别适用于短距离数据中心和长距离数据中心。数据复制可选择性比较多,
    数据库本身提供了数据复制的技术,例如DB2的HADR,oracle的dataguard,mysql的主从同步。这些技术都属于ActiveStandby模式,Standby可以开启只读,做上读写分离。这种方式在数据中心同步中使用非常广泛,也是主要推荐的一种方式。出现灾难切换的时候,数据库能很快切换到其他数据中心,相对于存储复制的冷备方式,热备能够大大加快切换速度,也减少了切换的未知风险。
    数据库还未第三方工具提供了日志解析的接口,所以有很多复制工具也被用来实现数据中心的数据同步。但是这种方式通常不会用于整库复制。而且这种第三方工具也没有同步模式。通常是作为实时性要求不高的业务数据同步。这种工具还有个很好的优点是支持异构,可以在不同种类的数据库间实现数据同步。

数据库物理复制技术和工具逻辑复制技术都可以满足不同数据中心之间数据复制。
但是各项技术各有千秋,使用场景也不一样。
QQ截图20170915101159.png

QQ截图20170915101159.png

最后说说数据库双活的运用场景。数据库双活要求在两个数据中心都能看到相同的数据,所以数据一定是同步复制的,并且都可读写。因此可选的复制技术并不多。存储技术有存储虚拟化,双中心访问的是最终虚拟的盘,实际底层由存储进行复制。这种其实运用的不多,因为存储复制也要防止脑裂的问题需要加仲裁。在脑裂的时候有可能选择任意一边存活。而上层数据库集群也有脑裂问题,可能选择另一边存活,这就会导致底层存储和上层数据库选择可能不一致,结果服务不可用。而且次方案成本也非常高。另外一种就是数据库自带的软件复制技术。现在只有Oracle的RAC和DB2的pureScale集群能提供这种跨数据中心的双活方案。Oracle有ASM,DB2有GPFS,都可以做存储实时同步。因为这些文件系统软件和数据库的紧密结合,成为数据库双活方案的不二之选。

银行 · 2017-09-15
浏览5678

回答者

anikikong
数据库运维工程师中国民生银行
擅长领域: 数据库灾备双活

anikikong 最近回答过的问题

回答状态

  • 发布时间:2017-09-15
  • 关注会员:3 人
  • 回答浏览:5678
  • X社区推广