SQL Server 在金融、制造、零售等行业均有广泛的应用,而这类企业对于异地容灾、异地多活均有较为强烈的需求。为此,NineData 正式推出 SQLServer 到 SQLServer 的双向复制功能。
双向复制是什么?
传统的数据库同步,通常是一种主从关系,主库负责写入和更新,从库负责从主库读取最新的数据,这种模式适合做只读扩展、容灾或迁移。
而双向复制(Bi-directional Replication)则完全不同,它允许两台数据库同时承担业务读写,并且保证双方的数据实时一致。
举例说明,你有两台 SQL Server,一台部署在北京,一台部署在杭州,传统模式下,把北京作为主库,杭州作为从库。所有写操作都要经过北京,再同步到杭州。 这样做的问题是,杭州用户的写入请求需要绕一圈,延迟较高;同时一旦北京主库宕机,杭州只能提供只读,业务可能受影响。
而如果你用了双向复制,就相当于为两台服务器之间搭建了一条"高速双向通道"。北京用户写入的数据,会实时同步到杭州,反之亦然。这样一来,北京和杭州都可以作为主库独立承载本地业务,即使其中一个库挂了,另一个能立马顶上,因为双方都是可读可写的主库,并且数据完全一致。

NineData 的双向复制能力
许多企业对于双向复制最常见的担忧,往往是循环复制、冲突覆盖。NineData 在功能设计上充分考虑了这些挑战:

冲突检测机制
当两边同时改了同一条数据,NineData 会自动识别并执行设定好的冲突解决策略。
防循环复制
NineData 内置多活标记功能,即使在多源同步场景下,也不会出现循环写入的情况。
灵活配置
可灵活选择需要同步的库或表,并且支持 ETL 功能。举个例子:北京的 SQLServer 只想同步订单表,杭州的 SQLServer 只想同步库存表?当然没问题!
监控与告警
内置监控面板,复制进度、延迟一目了然。出了异常,NineData 会第一时间通过配置好的通知渠道通知。
操作演示
- 选择源和目标数据源,选择双向复制。

- 选择复制对象。

- 配置映射关系。

- 系统自动预检查,防止迁移过程中出现已知问题。

检测到问题可单击修复,自动完成修复。

- 任务配置完成。

总结
NineData 的 SQLServer ↔ SQLServer 双向复制,不仅仅是"数据双向跑起来"这么简单,而是让数据库之间的交流有了秩序、有了规则。
通过引入该功能,企业能够有效提升业务连续性,优化全球用户的访问体验,并为未来的业务增长奠定坚实的数据基础。