sql数据库数据同步问题
A服务器上数据库中的一张表的数据每5分钟新增50万条数据,现在需要把这张表的数据实时同步到B服务器上,可以使用什么方法效率更快?
------解决方案--------------------建议用复制工具(replication).
------解决方案--------------------B服务器的功能是什么?只是备份,还是要求可读?
1.如果只是备份,试一下日志传送,是否能满足你的需求。
2.Replication最灵活,但对于10W/分的数据量来说,事务性复制性能会存在性能问题。
3.如果表中数据,是只增,不改的话,可以考虑快照复制:
#1.建立快照复制
#2.快照复制加过滤条件,只复制未同步的数据,从#3中的日志中取最后一条成功记录的ID
#3.可以5分钟执行一次,由于是BCP,会50W数据会很快,先同步到B服务器的一张临时表,同步成功后,调用快照成功后的脚本把数据INSERT到目标表,并记录日志。
------解决方案--------------------快照复制是完整复制啊,数据量大的话性能也有问题吧
------解决方案--------------------既然每分钟10万记录,负荷不小。。。建议镜像实现(如果是SQL 2000、2005,升级到2008)
但镜像只能创建快照读取,若需要实时读取,则部署SQL SERVER 2012的AlwaysOn