PostgreSQL的集群技术比较



PostgreSQL 数据库的可用集群技术如下:

 

1、Bucardo 

   复制技术,主从复制,异步,基于 触发器。 

     详情: https://wiki.postgresql.org/wiki/Bucardo 

2、GridSQL

   一个开源的,我共享的集群数据库系统,可用于PostgreSQL数据仓库,具有智能的,平行的做到多个数据库之间的访问,最新的名称为:  Stado .

 

3、HadoopBD

   是 apache 下的项目,和 MapReduce 一起, 应用集群。

 

4、pgpool-II

     一个位于 PostgSQL  服务器和 client 之间的中间价,他提供了以下特性:

    连接池  (无需多说)。

    复制 : pgpool-II 可以管理多个 PostgreSQL服务器,利用复制功能可以实时的备份多个福利磁盘,保障了在磁盘失效情况下的连续服务。(最多128 数据节点))

    负载均衡:复制生效时,执行 select 命令时,无论那个服务其将返回相同的结果。pgpool-II 利用复制的优势来减少服务器的负载--在多个服务器之间选分发select指令,从而增加了系统吞吐量。 当大量的用户执行select 指令时候这一优势将得到充分的体现。

超过载链接:PostgreSQL 有一个最大的同时链接数,超过时就拒绝链接。设置大的链接数,增加了资源的消耗,影响系统的性能,. pgpool-II 有最大连接数限制,对超过的连接请求做队列处理,或者立即返回错误。 

平行的Query: 使用平行 Query 功能,数据可分配到多个服务器,所以 查询会同时在多个服务器执行,减少了总运行时间。平行查询在大规模数据查询时候体现出最好的表现。

 

PL/Proxy: 是一个数据库分区系统,用 PL 语言实现。 其思路是 一个远程功能调用时,会产生同一的签名,所以 在代理调用时只需要指定目标信息。

 

Postgres-XC : 基于无共享结构的,多主,写扩展的 PostgreSQL集群, 由 Postgres-XC 团队开发。

          其特性如下: 

  1. 写扩展的 PostgreSQL 集群,和纯PostgreSQL相比,用五个服务器可获得超过三倍的性能增强(1.0版本),提高扩展性的方法是众所周知的。
  2. 同步的多主配置,对主的任何更新对其他主都是可见的。
  3. 表位置是透明的,可以继续使用同一的应用,事物处理无需改变。
  4. 基于PostgreSQL。
  5. 使用和PostgreSQL相同的API。 V 1.2.1 已经可用了。

 

 PostgresForest 是针对商业智能应用设计的,这些应用是读敏感的。

  • 以 PostgreSQL JDBC 驱动为基础,修改了 JDBC 程序代码增加了集群特性。
  • 高可用性: PostgresForest用其复制能力实现了一个高可用性的数据库系统。
  • 平行的 Query 处理: PostgresForest在无共享的分布数据库系统中能理解和执行平行的查询。
  • 在线恢复: PostgresForest能恢复失效的节点而无需重启动服务。

 

SkyTools 是Skype中的一个软件包,用于数据库的灾难恢复和复制,包括一个队列机制。PgQ 和实用库用户  Python 脚本程序。其核心是基于消费队列的处理。
Slony-I  是一个  一主对多个从属的复制系统,支持层次级连和灾难恢复。最新版本 2.0 。
Stado  开源的,无共享的数据库系统,设计支持平行查询。2011-9-4 年发布了 2.5 版本。
Tungsten 企业版本包括提供下列功能的部件:数据可用,数据保护,扩展,容易集群管理和高级的对 PostgreSQL、MySQL、 Oracle 数据库系统 的监控,这些部件包括一个 PostgreSQL的复制器,多种的高可用性的代理、附加的管理工具。
 

我的判断:

对一般的业务要求,首选: pgpool-II , 因为其是官方的。
其次是 Slony 。
 选择的理由是:性能,易用, 开源,在持续改进中。

PostgreSQL 数据库的可用集群技术如下:

 

1、Bucardo 

   复制技术,主从复制,异步,基于 触发器。 

     详情: https://wiki.postgresql.org/wiki/Bucardo 

2、GridSQL

   一个开源的,我共享的集群数据库系统,可用于PostgreSQL数据仓库,具有智能的,平行的做到多个数据库之间的访问,最新的名称为:  Stado .

 

3、HadoopBD

   是 apache 下的项目,和 MapReduce 一起, 应用集群。

 

4、pgpool-II

     一个位于 PostgSQL  服务器和 client 之间的中间价,他提供了以下特性:

    连接池  (无需多说)。

    复制 : pgpool-II 可以管理多个 PostgreSQL服务器,利用复制功能可以实时的备份多个福利磁盘,保障了在磁盘失效情况下的连续服务。(最多128 数据节点))

    负载均衡:复制生效时,执行 select 命令时,无论那个服务其将返回相同的结果。pgpool-II 利用复制的优势来减少服务器的负载--在多个服务器之间选分发select指令,从而增加了系统吞吐量。 当大量的用户执行select 指令时候这一优势将得到充分的体现。

超过载链接:PostgreSQL 有一个最大的同时链接数,超过时就拒绝链接。设置大的链接数,增加了资源的消耗,影响系统的性能,. pgpool-II 有最大连接数限制,对超过的连接请求做队列处理,或者立即返回错误。 

平行的Query: 使用平行 Query 功能,数据可分配到多个服务器,所以 查询会同时在多个服务器执行,减少了总运行时间。平行查询在大规模数据查询时候体现出最好的表现。

 

PL/Proxy: 是一个数据库分区系统,用 PL 语言实现。 其思路是 一个远程功能调用时,会产生同一的签名,所以 在代理调用时只需要指定目标信息。

 

Postgres-XC : 基于无共享结构的,多主,写扩展的 PostgreSQL集群, 由 Postgres-XC 团队开发。

          其特性如下: 

  1. 写扩展的 PostgreSQL 集群,和纯PostgreSQL相比,用五个服务器可获得超过三倍的性能增强(1.0版本),提高扩展性的方法是众所周知的。
  2. 同步的多主配置,对主的任何更新对其他主都是可见的。
  3. 表位置是透明的,可以继续使用同一的应用,事物处理无需改变。
  4. 基于PostgreSQL。
  5. 使用和PostgreSQL相同的API。 V 1.2.1 已经可用了。

 

 PostgresForest 是针对商业智能应用设计的,这些应用是读敏感的。

  • 以 PostgreSQL JDBC 驱动为基础,修改了 JDBC 程序代码增加了集群特性。
  • 高可用性: PostgresForest用其复制能力实现了一个高可用性的数据库系统。
  • 平行的 Query 处理: PostgresForest在无共享的分布数据库系统中能理解和执行平行的查询。
  • 在线恢复: PostgresForest能恢复失效的节点而无需重启动服务。

 

SkyTools 是Skype中的一个软件包,用于数据库的灾难恢复和复制,包括一个队列机制。PgQ 和实用库用户  Python 脚本程序。其核心是基于消费队列的处理。
Slony-I  是一个  一主对多个从属的复制系统,支持层次级连和灾难恢复。最新版本 2.0 。
Stado  开源的,无共享的数据库系统,设计支持平行查询。2011-9-4 年发布了 2.5 版本。
Tungsten 企业版本包括提供下列功能的部件:数据可用,数据保护,扩展,容易集群管理和高级的对 PostgreSQL、MySQL、 Oracle 数据库系统 的监控,这些部件包括一个 PostgreSQL的复制器,多种的高可用性的代理、附加的管理工具。
 

我的判断:

对一般的业务要求,首选: pgpool-II , 因为其是官方的。
其次是 Slony 。
 选择的理由是:性能,易用, 开源,在持续改进中。

你可能感兴趣的:(db)