将子数据库推送到主数据库?

将子数据库推送到主数据库?

globalclients比如说,我有一个非常非常大的数据库。

现在,我将这个大数据库划分为 100 个子数据库,如下所示:

chinaclients
japanclients
koreaclients
indiaclients
brazilclients
etc.

每一个都在相应的国家运行。

现在,我想对所有数据库进行一些分析。我想首先将它们全部合并到主数据库中:一些表完全合并,一些表在合并之前进行聚合:

customer_contact:   merged entirely
product_sales:      `select sum(sales), ... group by month` before merging

你有什么建议吗?与此技术相关的英文术语是什么?“同步”还是其他什么?

如果我能够仅上传子数据库中的差异部分,那将是一个巨大的奖励。

我不知道我是否可以在数据库级别执行此操作,“同步” Java 中的分布式数据库将是一项复杂的任务。PostgreSQL-8.4 有支持吗?

答案1

您可以使用 PL/Proxy 设置前端,然后编写一些运行所需查询的函数。不过,这可能相当棘手。您应该仔细规划此架构。

答案2

SQL 查询可以在多个表上运行,如下所示:

SELECT SUM(sales) FROM table1, table2 GROUP BY month

您还可以使用 UNION 按顺序从多个查询中检索数据:

SELECT SUM(sales) FROM table1  GROUP BY month UNION SELECT SUM(sales) FROM table2  GROUP BY month

我不知道 postgresql,但您可能能够创建一个 VIEW 表,使您能够以合并的格式访问所有表以运行更简单的查询。

相关内容