【问题标题】:Local Firebird db replication/sync to online db本地 Firebird 数据库复制/同步到在线数据库
【发布时间】:2017-11-30 12:13:17
【问题描述】:

我正在寻找如何将数据从本地 firebird 数据库同步到在线数据库的提示?几个cmets:

  1. 在本地机器上,我使用销售软件将数据保存在 firebird db 上。有互联网连接,但我想避免直接访问数据库(因为晚上 9 点之后的电脑将被关闭)。
  2. 我想创建一个在线应用程序(基于 Foundation + php + 数据库),我将能够在其中查看每日销售情况并探索过去的数据。
  3. 在本地数据库中,我需要从几个不同的表中提取数据,并且我希望将它们作为单个表保存在在线/最终数据库中(包含字段:#id、交易日期、交易价值、销售经理) .

虽然我大部分时间都知道如何创建应用程序的前端,但我仍然想知道就 db - mysql 而言什么是最佳选择? (这是我的第一个想法)。或者我应该专注于 NoSQL?

您对数据同步有何建议?我应该使用 symmetricsDB(很难配置)或等效的,我应该编写一个脚本,将数据从 firebird 推送到 json/xml?我指的是您的知识和最佳实践

【问题讨论】:

  • 复制是一项相当复杂的工作,与您的特定数据流和用例密切相关。有许多关于它的方法和文章。讨论许多或多或少间接的或多或少复杂的或多或少灵活的方法。 Firebird 有许多商业复​​制器,FB4 也可能具有内置复制器。
  • 如果您的在线应用程序不会将自己的数据写入数据库,那么最简单的设置就是安排备份您的工作数据库并将这些备份恢复到在线服务器。这将有一个好处,您将拥有许多经过测试的备份文件,您可以将这些文件复制到不同的建筑物或云中

标签: mysql firebird database-replication


【解决方案1】:
  • 放置一个将调用简单数据泵/复制脚本的计划作业。
  • 从脚本连接到源销售数据库,检索从上次复制中添加的连接数据并将它们插入“在线”数据库。
  • 您也可以将 Firebird 保留为在线数据库,因为它与 PHP 配合得很好。

【讨论】:

    【解决方案2】:

    Firebird 在 2.5 版中也已经内置了所有技术来实现功能齐全的复制。我们已在一家大型餐饮公司的最大安装中实现了这一点,该公司拥有大约 6 亿条记录、每天大约 100 万条新记录和 150 个复制服务器在线或离线使用后台软件工作的位置。

    如果您只是想将本地数据库中的数据上传到远程数据库,您可以在您喜欢的提供商处租用虚拟服务器,在那里安装 firebird,创建安全连接(我们使用 ssh,但任何 tcp over vpn可以使用)。将本地数据库复制到远程服务器,如果需要打开防火墙 fb 端口(3050 或其他),并且当您对本地数据库的写入次数较少时,只需在每个表上实现一个触发器,执行相同的插入/更新/删除使用“在外部执行语句”功能具有相同的值。

    当本地数据库的工作量较大时,最好将触发器中的更改数据(表名和pk值)放入日志表中,并让第二个连接将记录上传到目标数据库,其中相同的“执行可以使用关于外部的声明。

    这只是一个提示,如果预算允许,我们可以为您完成,但晚上停止数据库 PC 似乎只适用于较小的公司

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-12
      • 1970-01-01
      • 2022-11-18
      • 1970-01-01
      相关资源
      最近更新 更多