1、PgBouncer PG
数据库的
一个轻量级连接池工具,
功能及特点如下: 1)缓存后端PG
数据库的连接,当前端应用请求时,分配连接池中的连接给应用,从而充分利用了系统资源。 2)允许应用创建比连接池更多的连接,并未应用连接提供排队等候
功能,这样既充分利用了资源,也保证了应用端的高并发。 3)可以对应用连接进行限制,这样,可以起到系统稳定和安全作用。 4)PgBouncer的通信效率非常高。 5)PgBouncer通过C语言实现,短小精悍,消耗很少的系统资源。 6)PgBouncer
支持三种连接池模式:会话级别,事务级别,语句级别。 2、Slony-I PG
数据库的一款逻辑复制工具,
功能及特点如下: 1)Slony-I
支持级联复制,
一个节点为
订阅者的同时,也可以作为下一级的数据提供者,数据的原始生产者对数据的
修改,会在各级
订阅者之间传播。 2)Slony-I集群中的各节点上都需要有slon守护进程,以处理复制中的事件,例如:配置事件,同步事件。 3)Slony-I可以通过slonik工具进行管理和配置,其具备处理脚本的能力。 4)Slony-I具备强大逻辑复制
功能的同时,也有些限制,例如:大对象的复制,DDL复制,
用户权限复制等。 3、Bucardo PG
数据库的一款具备双向同步
功能的工具,
功能及特点如下: 1)可以为PG实现双master架构,5.0版本之前只能实现双master同步,5.0版本之后可以实现多master同步。 2)该工具为异步同步,这点和
MysqL的M-S同步很相似。 3)通过触发器记录变化,利用PG消息事件
通知机制实现同步。 4)同步灵活,可以只同步
数据库中的部分数据子集。 5)daemon为perl语言实现,还通过PL/Pg
sql、PL/PerlU
函数实现同步。 4、PL/Proxy PG
数据库中实现水平拆分的软件,
功能及特点如下: 1)应用把请求发送到该水平拆分中间件,该中间件根据拆分键的hash值,将
sql发送至底层数据节点。 2)PL/Proxy架构中,一些PG
数据库作为水平拆分中间件,但其不存储实际数据。除了这些中间件角色的PG库,底层还有一些PG库实际存储数据。 3)PL/Proxy并不是独立运行的程序,而是安装在PG库中的一种PL语言,其可以将请求路由到底层
数据库中。 4)对应用方请求的路由,通过对中间件和底层库中同名
函数的
调用实现。 5、pgpool-II 位于PG服务器和客户端之
间的中间件,
功能及特点如下: 1)具备连接池
功能。 2)可以在多个PG服务器间进行复制。 3)可以在多个PG服务器间进行了
负载均衡。 4)限制超过限度的连接。 5)在多台PG服务器间进行并行
查询。 6)为多进程架构,
包括:PCP进程,pgpool-II父进程,pgpool-II子进程,worker进程。 6、Postgres-XC 基于PG库实现的真正的数据水平拆分的分布式
数据库,
功能及特点如下: 1)相较其他水平拆分方案,Postgres-XC实现的更彻底,对
用户来说,Postgres-XC集群就像单机
数据库一样。 2)基于PG实现的集群,是通过
修改PG源码实现的集群,而不是架构在PG
数据库之上的中间件。 3)PG客户端及驱动可以无差别地连接到Postgres-XC上。 4)实现了全局事务,做到了数据强一致性。 5)对称集群,无中心节点,应用可以读写任意节点。 6)线性扩展读写,通过
增加节点,不仅可以扩展读
性能,还可以扩展写
性能。 7)随着节点的
增加,Postgres-XC
性能增加接近线性。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。