我目前有一个PostgreSQL数据库,因为我们使用的其中一件软件仅支持该特定数据库引擎.然后,我有一个查询,该查询汇总了应用程序中的数据并将其拆分为更有用的格式.
在我的MySQL数据库中,我有一个表,其中包含与上述查询输出相同的架构.
我要开发的是每小时执行一次的cron作业,它将对PostgreSQL数据库运行查询,然后将结果插入MySQL数据库.在一个小时的时间内,我预计不会需要转移超过10,000个新行(这很麻烦).
这两个数据库都位于单独的物理服务器上,彼此之间相互隔离. MySQL实例在Amazon RDS上运行-因此我们对计算机本身没有太多控制权. PostgreSQL实例在我们其中一台服务器上的VM上运行,从而使我们可以完全控制.
不幸的是,复制是必要的,因为PostgreSQL数据库仅充当信息的收集器,而MySQL数据库上运行着需要数据的应用程序.为简单起见,我们希望每小时进行一次PostgreSQL的移动/合并和删除操作,以保持环境整洁.
明确地说-我是网络/系统管理员-不是DBA.我真的不理解将一种格式转换为另一种格式所需的所有复杂性.我所知道的是,要传输的数据由1xVARCHAR,1xDATETIME和6xBIGINT列组成.
我对方法的最接近的猜测是使用某种脚本语言进行查询,将结果转换为内部数据结构,然后再次将其拆分回MySQL.
这样做时,在编写脚本时是否应该特别注意一些好的或坏的做法?或者-我应该看的任何文档对进行这种转换可能有用吗?我发现大量调度工作看起来非常易于管理和有据可查,但是此脚本的持续性(每小时运行)似乎不那么普遍和/或有据可查.
开放任何建议.
解决方法:
在两端使用相同的数据库系统并使用复制
如果远程端也是PostgreSQL,则可以将streaming replication与hot standby一起使用,以使远程端透明且自动地与本地端保持同步.
如果本地端和远程端都是MySQL,则可以使用MySQL的各种