PostgreSQL数据库集群:pgpool-II工具 收藏
pgpool-II( http://pgpool.projects.postgresql.org/ )是一个中间 件,工作在PostgreSQL多服 务 器和PostgreSQL数据 库 客 户 端之 间。
pgpool-II( http://pgpool.projects.postgresql.org/ )是一个中间 件,工作在PostgreSQL多服 务 器和PostgreSQL数据 库 客 户 端之 间。
由上图我们可以把pgpool看着是一个中介。
它提供了以下功能
连 接池: pgpool -Ⅱ保存 连 接到PostgreSQL服 务 器,并重复利用具有相同属性的新的 连 接(即用 户 名,数据 库 , 协议 的版本),减少 连 接的开 销 ,并提高了系 统 的整体吞吐量。
复制: pgpool - II可以管理多个PostgreSQL服务 器。 使用复制功能,可以 实时备份在 2个或多个物理磁 盘 上,因此即使在硬 盘出故障的时候也不用停止服务。
负载 平衡: 如果数据 库 是复制,任何服 务 器上 执 行一个SELECT 查 询 将返回相同的 结 果。 pgpool -Ⅱ采用一个复制功能 优 势 是,以减少多个服 务 器之 间 分配上的SELECT 查 询 每个PostgreSQL服 务 器的 负载 ,提高系 统 的整体吞吐量。在最好的,性能的提高比例的PostgreSQL服 务 器的数量。在同一 时间有 大量用 户 的 查 询的时候,负载 平衡的情况下有最佳的 执 行。
连接超 过限制 : 有一个关于与 PostgreSQL 的最大并 发连 接数限制,最大 连接数超过后 的 连 接被拒 绝 。 设 置最大 连 接数,但是增加的 资 源消耗和影响系 统 性能。 pgpool - II 也有 对 最大 连 接数的限制,但 额 外的 连 接将被排 队 ,而不是立即返回 错误 。
并行查 询 : 使用并行 查 询 功能,数据可分布在多个服 务 器中,以便 查 询 可以 执 行所有服 务 器上同 时 减少 总 体 执 行 时间 。 并行 查 询 的工作 时 候 , 寻 找最佳的大 规 模的数据。
pgpool - II是只能在Linux和Solaris操作系统 ,FreeBSD和UNIX等操作系 统 的 环 境中运用。 Windows系 统 没有 对应 。
pgpool-II的安装:
1.解压后configure
./configure
2.install
make
make install
pgpool-II的配置
pgpool-II的配置文件有/usr/local/etc/pgpool.conf 和 /usr/local/etc/pcp.conf
具体的配置参考官方网站( http://pgpool.projects.postgresql.org/pgpool-II/doc/pgpool-en.html )。
pgpool的优点
1.不用修改程序
2.PHP, Perl, Java等等语言都可以操作,没有语言限制
3.prefork型体系架构
4.可以限制访问 PostgreSQL 连接数
5.故障转 移功能
6.配备 的复制功能
7.配备 了 负载 平衡
pgpool的缺点
1.增加系统开销
2不支持所有的.libpq协议
3.template1, regression等名字数据库没有映射到池里面
4.没有及时删 除 临时 表, 8.3以后reset_query_list 设 置 为 "DISCARD ALL"的 话 可以解决 这 个 问题 。
5.没有及时删除 PREPARE,8.3以后reset_query_list 设 置 为 "DISCARD ALL"的 话 可以解决 这 个 问题 。
连 接池: pgpool -Ⅱ保存 连 接到PostgreSQL服 务 器,并重复利用具有相同属性的新的 连 接(即用 户 名,数据 库 , 协议 的版本),减少 连 接的开 销 ,并提高了系 统 的整体吞吐量。
复制: pgpool - II可以管理多个PostgreSQL服务 器。 使用复制功能,可以 实时备份在 2个或多个物理磁 盘 上,因此即使在硬 盘出故障的时候也不用停止服务。
负载 平衡: 如果数据 库 是复制,任何服 务 器上 执 行一个SELECT 查 询 将返回相同的 结 果。 pgpool -Ⅱ采用一个复制功能 优 势 是,以减少多个服 务 器之 间 分配上的SELECT 查 询 每个PostgreSQL服 务 器的 负载 ,提高系 统 的整体吞吐量。在最好的,性能的提高比例的PostgreSQL服 务 器的数量。在同一 时间有 大量用 户 的 查 询的时候,负载 平衡的情况下有最佳的 执 行。
连接超 过限制 : 有一个关于与 PostgreSQL 的最大并 发连 接数限制,最大 连接数超过后 的 连 接被拒 绝 。 设 置最大 连 接数,但是增加的 资 源消耗和影响系 统 性能。 pgpool - II 也有 对 最大 连 接数的限制,但 额 外的 连 接将被排 队 ,而不是立即返回 错误 。
并行查 询 : 使用并行 查 询 功能,数据可分布在多个服 务 器中,以便 查 询 可以 执 行所有服 务 器上同 时 减少 总 体 执 行 时间 。 并行 查 询 的工作 时 候 , 寻 找最佳的大 规 模的数据。
pgpool - II是只能在Linux和Solaris操作系统 ,FreeBSD和UNIX等操作系 统 的 环 境中运用。 Windows系 统 没有 对应 。
pgpool-II的安装:
1.解压后configure
./configure
2.install
make
make install
pgpool-II的配置
pgpool-II的配置文件有/usr/local/etc/pgpool.conf 和 /usr/local/etc/pcp.conf
具体的配置参考官方网站( http://pgpool.projects.postgresql.org/pgpool-II/doc/pgpool-en.html )。
pgpool的优点
1.不用修改程序
2.PHP, Perl, Java等等语言都可以操作,没有语言限制
3.prefork型体系架构
4.可以限制访问 PostgreSQL 连接数
5.故障转 移功能
6.配备 的复制功能
7.配备 了 负载 平衡
pgpool的缺点
1.增加系统开销
2不支持所有的.libpq协议
3.template1, regression等名字数据库没有映射到池里面
4.没有及时删 除 临时 表, 8.3以后reset_query_list 设 置 为 "DISCARD ALL"的 话 可以解决 这 个 问题 。
5.没有及时删除 PREPARE,8.3以后reset_query_list 设 置 为 "DISCARD ALL"的 话 可以解决 这 个 问题 。