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 表,使您能够以合并的格式访问所有表以运行更简单的查询。