首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Advantage数据库复制

Advantage数据库复制
EN

Stack Overflow用户
提问于 2011-01-15 17:51:26
回答 1查看 963关注 0票数 1

我有一个客户端,它希望两个站点有能力同步数据库,这样站点A的信息就可以与站点B同步,这样两个站点就可以看到相同的数据。

我甚至不确定所需的基础设施。是否需要虚拟专用网络来连接两个数据库,或者是否需要基于互联网的数据库工作,即站点A到InternetDatabase,站点B到InternetDatabase。每个站点定期将数据复制到该站点,然后InternetDatabase对其进行同步,然后这些站点可以下载数据。

我的另一个想法是Dropbox之类的东西。如果站点A和站点B使用Dropbox帐户来同步ADT文件等,那么每个站点的数据库是否可以与这些ADT文件同步?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-16 01:56:05

如果这两个网站更新的是完全不同的表格,那么像Dropbox这样的东西可能可以解决这个问题。Dropbox不同步/合并文件内容。这意味着如果站点A和站点B都更新了某个文件,那么您将负责编写代码来合并更改。

Advantage数据库服务器本身就支持replication built in,因此这可能是最简单的解决方案。Advantage复制是在逐条记录的基础上执行的,并且是异步处理的。如果无法访问目标数据库,则将更新存储在队列中并定期处理。如果两个站点之间的连接经常打开/可用,则源更新和复制更新之间的延迟通常很小,但显然取决于网络带宽和延迟。

您可以使用VPN进行两个站点之间的连接,但这不是必需的。如果您不使用某种类型的VPN,那么您应该确保两个站点之间的通信是加密的(这是设置订阅时的一个选项)。

编辑进行通信,你所需要的就是“正常”的网络连接。主要问题是如何处理防火墙和NAT等问题。有了Advantage,您可以定义它使用的端口。如果使用TCP/IP连接,则需要确保配置的端口允许到ads.exe进程的入站连接。您也可以使用UDP,但如果您使用的是防火墙,那么使用TCP可能会更简单。

您提出的关于重复键的问题是一个很好的问题。如果两个站点添加具有相同主键的记录,或者同时更新相同的记录,则会导致冲突。有一个选项可以简单地忽略冲突,在这种情况下,最后一次更新获胜。更实际的情况是,您可能希望编写一个ON CONFLICT trigger来处理冲突。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4698943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档