gpt4 book ai didi

database - 同步两个异构数据库

转载 作者:太空狗 更新时间:2023-10-30 01:56:53 25 4
gpt4 key购买 nike

我有 2 个异构数据库。一个在 mysql 中,一个在 ms sql 中。

我想让它们保持同步。

数据周期性流动,信息双向流动

有人有任何策略/方法吗?

最佳答案

假设您不打算使用某种形式的现成解决方案,您可以选择几个选项。基本上,您要做的是找到一种方法来捕获在一个数据库中所做的更改并将它们复制到另一个数据库中。

完整提取和增量
对要同步的表中的每一行进行完整的、按键排序的转储,并将其逐行与上次运行的同步转储进行比较。对输出进行排序可以使比较过程更快,因为您无需

  • Pro:保证捕获所有更改。
  • 优点:易于实现。
  • 缺点:慢。
  • 缺点:运行时会对数据库造成大量负载。

此选项对于中小型数据库应该是非常可行的。

交易日志
分析数据库中的事务日志以找出更改的内容,并将这些更改应用到其他数据库。

  • Pro:更快,因为它不需要从数据库中读取所有内容
  • 优点:实现起来仍然相对简单
  • 缺点:DBA 有时必须清除日志才能解决生产问题。这可能会导致错过未同步的更改。

如果您可以指望日志可用,这可能是个好主意。

触发器
使用触发器记录更改,并将它们复制到其他数据库。

  • Pro:快速,因为它只捕捉变化。
  • 缺点:增加每笔交易的开销

应用程序中的同步
只需确保应用程序写入两个数据库即可。

  • 优点:没有实际的数据库开销。
  • 缺点:不可靠。只需一个人忘记写入两个数据库即可。

如果应用程序仅通过几个受控模块写入数据库(即,没有太多地方可以忘记更新两个数据库),那么这可能会起作用。在管理较少的设置(即多个应用程序/不受控制或分解不良的数据库访问/临时脚本)中,这根本不是一个选项。

关于database - 同步两个异构数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1896138/

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