gpt4 book ai didi

sql-server - 复制的可靠替代方案,可在两个数据库之间实现连续数据同步

转载 作者:搜寻专家 更新时间:2023-10-30 19:46:29 25 4
gpt4 key购买 nike

我有一个中央数据库和 25 个客户端数据库,并且都具有相同的架构。

我希望每当在中央数据库的某些表中进行某些更改时,这些更改就会向下流到客户端数据库。

使用的数据库是 SQL Express,所以我不能使用复制。我今天的解决方案是跟踪中央数据库中的更改,然后一个程序生成一个包含这些更改的文本文件并将它们发送到客户端数据库。另一个程序读取这些文本文件并更新客户端数据库。

这有3个问题:-
1. 文件丢失或乱序到达,造成客户端数据困惑
2.进程慢3. 程序有时会关闭,因此整个同步流程会停止。

是否有快速且安全的可靠替代方案?我想知道银行软件是如何制作的……它们从不丢失交易,而且速度很快。

最佳答案

为所有需要复制的实体添加一个UpdateDate 列。在每个客户端添加一个 linked server 到中央存储库。现在,每隔 5 分钟左右,使用客户端实体的最后一个 UpdateDate 轮询您的中央存储库以获取更改并获取增量。然后在客户端使用mergeinsertupdate 合并数据。这是进行自制软件复制的一种非常可靠的方法。要跟踪已删除的元素,您可能希望将它们标记为已删除,或者使用另一个表来跟踪实体类型及其引用,再次与 UpdateDate 结合进行复制。

更新然后你提到交易和银行软件。当您通过文件进行复制时,我们并不是在谈论这里没有事务复制,远非如此。

如果您需要事务一致性,您需要订阅数据仓库的事务流。

关于sql-server - 复制的可靠替代方案,可在两个数据库之间实现连续数据同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9705393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com