`

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集群技术资料.

    PostgreSQL集群技术是一项可以提供高可用性和扩展性的技术,它通过分布式的架构保证了数据库的高可靠性和读写操作的负载均衡。在深入探讨之前,我们需要了解一些关键概念。 首先,PGCluster是一个开源的集群方案,...

    postgresql集群主备模式负载均衡故障转移恢复

    总结起来,构建一个PostgreSQL 9.5集群环境,需要综合运用主备复制、双机热备、pgpool负载均衡和故障恢复技术,以及arcsde对空间数据的支持。通过详细规划和精细配置,可以实现高效、稳定且高可用的数据库服务。在...

    PostgreSQL集群

    通过对PostgreSQL集群及其关键技术之一——pgpool-II的深入探讨,我们可以看出,采用集群技术不仅可以提高系统的稳定性和可靠性,还能在很大程度上满足现代企业对高性能数据库服务的需求。未来,随着技术的不断发展...

    PostgreSQL集群监控系统方案.pptx

    "PostgreSQL 集群监控系统方案" 基于 Pigsty 技术创新,变革未来监控系统是智能化管理与自动化运维的基石,可以为资源规划、故障排查、性能优化提供至关重要的数据支持。PostgreSQL 是世界上最先进的开源关系型...

    Postgresql数据库集群在主题网络爬虫的应用.pdf

    通过将PostgreSQL数据库集群技术应用于主题网络爬虫,不仅能够有效解决大规模信息存储的问题,还能通过引入缓存技术进一步提升爬虫系统的整体性能。 #### 引言 搜索引擎作为互联网时代最重要的信息检索工具之一,...

    springboot使用mycat做的postgres集群测试

    在本测试中,我们将探讨如何在Spring Boot应用中集成Mycat来连接PostgreSQL集群。 首先,我们需要理解Spring Boot与Mycat的集成。Spring Boot提供了自动配置的功能,通过添加相应的依赖,我们可以轻松地在项目中...

    【48份】2020 PostgreSQL中国技术大会PPT(汇总).zip

    【48份】2020 PostgreSQL中国技术大会PPT(汇总)的压缩包内容涵盖了PostgreSQL数据库在当今互联网环境中的广泛应用和深度技术探讨。PostgreSQL,作为一个开源的关系型数据库管理系统,以其强大的功能、高度的稳定性...

    PostgreSQL 基于Patroni StandbyCluster搭建跨DC的PG集群高可用方案

    在众多解决方案中,利用Patroni搭建基于`StandbyCluster`的跨数据中心(PostgreSQL集群,简称DC)的高可用架构是一种常见的方法。这种架构能够实现主从集群间的单向数据同步,并在某个数据中心发生整体故障时快速切换...

    PostgreSQL 中文文档

    2. 集群:通过PGCluster或Patroni等工具,可以构建高可用的PostgreSQL集群。 四、扩展与编程接口 1. 扩展:PostgreSQL允许用户编写C语言的数据库内函数,或者使用PL/pgSQL等内置的编程语言,实现自定义功能。 2. ...

    6-PostgreSQL复制原理及高可用集群.pdf

    总之,理解并熟练掌握PostgreSQL的复制原理和高可用集群技术对于构建可靠、健壮的数据库系统至关重要。无论是流复制还是逻辑复制,都有其特定的应用场景和优势,可以根据业务需求和硬件条件选择合适的方法来构建高...

    postgresql 12、15离线安装包

    同时,加入相关的社区和论坛,如Stack Overflow、PostgreSQL的邮件列表等,可以获取更多的技术支持和经验分享。 总之,PostgreSQL 12和15的离线安装包提供了一种方便的方式,使得用户可以在离线环境中部署这个强大...

    2019PostgreSQL大会可分享嘉宾PPT.zip

    6. **高可用性和复制**:为了确保服务的连续性,可能会讲解主从复制、流复制、以及多节点集群的实现,这些都是PostgreSQL在高可用性方面的强大功能。 7. **开发与API集成**:如何利用各种编程语言(如Python、Java...

    postgresql

    PostgreSQL作为数据库系统,负责存储、管理、检索和保护数据,是许多应用程序背后的核心技术。 在提供的压缩包子文件名“pgsql”中,可以推测这是一个包含PostgreSQL安装文件的压缩包。安装这些文件通常包括以下...

    PostgreSQL基于ETCD mirror-make流复制搭建跨DC的PG集群高可用方案

    ### PostgreSQL基于ETCD mirror-make流复制搭建跨DC的PG集群高可用方案 #### 第1章 简介 本文档旨在介绍如何利用ETCD提供的工具`mirror-maker`以及Patroni来实现一个跨数据中心(DC)的PostgreSQL(PG)集群高可用...

    PostgreSQL内核扩展入门.pdf

    PostgreSQL工作流程分为多个阶段,包括初始化数据库集群(bootstrap)、程序入口(main)、监听和fork(postmaster)、通信库(libpq)、事务控制进程(tcop)、解析器(parser)、重写规则(rewrite)、优化器...

    MySQL和PostgreSQL的比较

    - PostgreSQL 通过 `postmaster` 进程(通过 `pg_ctl` 启动)启动实例,一个实例管理一个或多个数据库组成的集群,集群由一个目录结构管理,所有数据都存储在这个目录中。 2. **数据库管理**: - MySQL 的数据库...

    藏经阁-PostgreSQL实战教程-42.pdf

    5. **PostgreSQL复制原理及高可用集群**:复制和高可用性是数据库系统的核心特性,这部分内容会深入解释PostgreSQL的复制机制(如流复制、并行复制等),以及如何构建和维护高可用集群,确保数据的安全性和服务的...

    PostgreSQL数据库工程师培训实战教程(主从复制、高可用HA、集群架构)

    PostgreSQL集群通常由多个节点组成,每个节点可能承担不同的角色,包括主节点、从节点以及备用节点。集群架构的设计需要考虑以下几个关键因素: - **节点间通信**:确保各个节点之间能够高效地进行数据交换。 - **...

    postgreSql软件和注册码

    安装完成后,你需要创建一个数据库集群,这将包含一个或多个数据库。默认情况下,PostgreSQL会在本地运行并监听5432端口。 安全方面,PostgreSQL有一个名为`postgres`的默认超级用户,你应该在安装后立即更改其默认...

    Troubleshooting PostgreSQL

    2. **性能监控**:深入探讨如何使用各种工具和技术来监控PostgreSQL的性能,包括但不限于使用`pg_stat_*`视图和扩展插件如`pgBadger`或`pgTune`。 3. **查询优化**:讨论了如何编写高效的SQL查询,以及如何利用索引...

Global site tag (gtag.js) - Google Analytics