本地Firebird数据库复制/同步到联机数据库

时间:2017-11-30 12:13:17

标签: mysql firebird database-replication

我正在寻找如何将本地firebird数据库中的数据同步到在线数据库的提示?几条评论:

  1. 在本地计算机上,我使用销售软件来保存firebird db上的数据。有一个互联网连接,但我想避免直接数据库访问(因为晚上9点后PC被关闭)。
  2. 我想创建一个在线应用程序(基于基础+ php +数据库),我可以在其中查看每日销售情况并浏览过去的数据。
  3. 在本地数据库中,我需要从几个不同的表中提取数据,并且我希望将它们作为单个表保存在online / final db中(包含字段:#id,事务日期,事务值,销售经理)
  4. 虽然大多数我知道如何创建应用程序的前端,部分后端仍然我想知道什么是db-mysql最好的选择? (这是我的第一个想法)。或者说我应该专注于NoSQL?

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

2 个答案:

答案 0 :(得分:1)

  • 放置一个将调用简单数据泵/复制脚本的预定作业。
  • 从脚本中,连接到源sales db,检索从上次复制添加的联接数据,并将它们插入“在线”数据库。
  • 您可以将Firebird保留为在线数据库,因为它可以与PHP配合使用。

答案 1 :(得分:1)

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

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

当您的本地数据库具有更高的工作负载时,最好将来自触发器的更改数据(表名和pk值)放入日志表中,并让第二个连接将记录上载到目标数据库,其中相同的&# 34;执行外部"可以使用。

这只是一个暗示如何做到这一点,如果预算允许,我们可以为你做,但在晚上停止数据库似乎只是小公司的典型