我有几个Firebird格式的巨大数据库(每个2GB)。每隔几周,这些数据就必须与MS SQL Server同步。目前,这是一个冗长的过程,只需截断目标表,然后使用Database Workbench(一种多数据库DBMS)复制每一行。有没有什么聪明的方法可以进行部分或差异更新,从而加快进程或减少服务器之间的数据传输?
为什么不尝试对每条记录进行散列(MD5或类似)?如果您还实时存储/计算加载数据的MD5哈希,那么您可以使用表的主键和MD5哈希快速确定是否有任何更改,或者记录是否不存在。
当然,这需要在逐个表格的基础上进行。
我们使用了类似的方法,使用SQL OLTP数据作为DWH的源,效果非常好!