在PostgreSQL集群上分发SQL查询

在PostgreSQL集群上分发SQL查询,postgresql,sharding,pgadmin,postgres-xc,Postgresql,Sharding,Pgadmin,Postgres Xc,为了提高数据库的可伸缩性,我希望在多台机器上分布多个PostgreSQL实例。(水平切分) 在我的数据库上执行的大多数操作都是插入操作——偶尔也会有一些选择,但是主要的重点仍然是插入操作,因此数据库正在快速增长 例如:假设我们有3个表,分别名为user、product和activity(用户id、产品id、活动(查看、购买…、时间戳) 这里的业务人员使用pgAdmin查询(目前)唯一的数据库。什么是一个伟大的工具,可以让SQL语句分布在集群中,并返回一组减少的结果,而不必在我们的SELECT查询

为了提高数据库的可伸缩性,我希望在多台机器上分布多个PostgreSQL实例。(水平切分)

在我的数据库上执行的大多数操作都是插入操作——偶尔也会有一些选择,但是主要的重点仍然是插入操作,因此数据库正在快速增长

例如:假设我们有3个表,分别名为
user
product
activity(用户id、产品id、活动(查看、购买…、时间戳)

这里的业务人员使用pgAdmin查询(目前)唯一的数据库。什么是一个伟大的工具,可以让SQL语句分布在集群中,并返回一组减少的结果,而不必在我们的SELECT查询中使用
UNION
关键字

例如,考虑下面的SQL select语句:

select u.name FROM user AS u INNER JOIN activity AS a ON u.id = a.id INNER JOIN 
product AS p ON p.id = a.id WHERE product.name='blabla';
理想情况下,使用pgAdmin的人不会有任何改变,但在后台,请求会被分割成更小的“碎片”,并分发到集群中的所有服务器

在搜索网页时,我遇到了Skype的PL/Proxy,但该项目是否仍处于活动状态?(与博士后XC相同的问题。)

非常感谢您的帮助。

请查看pgpool

特别是在并行查询中。 “并行查询 使用并行查询功能,可以在多个服务器之间拆分数据,以便可以在所有服务器上同时执行查询,从而缩短总体执行时间。并行查询在搜索大规模数据时效果最佳。”