我们有一个源表,可以从各种外部系统更新。我要求目标表(在不同的服务器中)与此源表同步。目标表不是源表的精确副本,在将数据插入/更新到目标表之前,必须完成一些数据处理。
我想到了以下逻辑
每隔15分钟,我们运行这个java消费者代码,该代码获取创建时间戳的记录,而不是先前更新的记录,并存储在CachedRowSet
中。并以CachedRowSet
作为参数调用存储过程,完成数据处理并将数据插入/更新到目标表中。
您是否相信上面提到的是一种有效的方式,因为我们每次更新都会处理超过一百万条记录?
当在源表中删除记录时也不会在上面的方法中复制!你能建议在这种情况下做些什么
答案 0 :(得分:1)
类似于数据库用于保存点和回滚的技术。 只要源表中有一些变化,例如CRUD。根据目标表所需的格式保留更改脚本。您可以定期将这些更改推送到目标服务器。由于您的源表由各种外部系统更新,因此您需要在源表上设置触发器以保留脚本日志。
答案 1 :(得分:0)
答案 2 :(得分:0)