我有一个postgresql操作数据库,每天都有数据分区 和postgresql数据仓库DB。 为了将数据从操作数据库快速复制到DWH,我想快速复制表,并且使用的资源最少。 由于表是按天分区的,因此我理解每个分区都是一个表本身。 这是否意味着我可以以某种方式在机器之间复制数据文件并使用这些数据文件在DWH中创建表? 在这种情况下,最佳做法是什么?
编辑: 我会回答这里提出的所有问题: 我正在建立一个ETL。 ETL的第一步是复制数据,而对操作数据库的影响较小。 2.如果这不会减慢操作数据库的写作速度,我想复制数据。 3.多一点数据,操作数据库不在我的响应能力中,但主要关注的是该数据库的写入时间。 它每天写入大约5亿行,其中有几个小时的载荷更多但是没有小时没有任何着作。 我遇到了很少的工具/方式 - 复制,pg_dump。但我找不到比较工具的东西,知道何时使用什么,并了解什么适合我的情况。
答案 0 :(得分:2)
如果您正在进行批量转移,我实际上会考虑在仓库系统上运行pg_dump,并将结果每天传输到psql一次。你也可以运行Slony,但是这需要更多的资源,而且可能会更复杂。
答案 1 :(得分:1)
有许多好方法可以在数据库之间复制数据。正在寻找一个
在数据库之间快速传输表
...扩展程序dblink提供了一个简单快速的解决方案。 SO上有很多例子。尝试搜索。
如果您想要更广泛的方法,继续同步等,请考虑一种既定的复制工具。让你开始有很好的comparison in the manual。