PostgreSQL Replication之第九章 与pgpool一起工作(2)
9.2 理解pgpool的功能
pgpool提供了如下功能:
•连接池
•语句级别的复制
•负载均衡
•限制连接
•内存缓存
•并行查询
[当决定使用那些功能的时候,记住并非所有的功能可以在同一时间使用是很重要的。下面的网站什么功能可以一起使用,什么功能不能一起使用:http://www.pgpool.net/docs/latest/pgpool-en.html#config]
pgpool的一个核心功能是做连接在的能力。这个思想和我们在前面章节中所描述的一个软件大致相同。我们想减少每次一个网页打开的的每个连接的分配的影响。相反,我们想保持连接打开并在一个新的连接到来的时候重用它们。这些概念已经在讨论pgbouncer的时候讨论过了。
除了连接池,pgpool提供了可以增强系统的可靠性的基本的复制架构。在这里,pgpool使用了一个语句级别的方法来复制数据,其中有一些用户必须记住自然的限制(更多的在本章的后面)。
一个经常和复制一起被要求的功能是负载均衡。pgpool正提供了这个功能。您可以定义一组服务器并使用连接池调度请求所需要的数据库节点。它也能够发送一个查询到负载最低的节点。
为了提高性能,pgpool提供了一个查询缓存。这个机制的目标是减少查询的数量,实际上使之到真正的数据库服务器—是使缓存提供尽可能多的查询。我们将在本章进一步探究这个主题。
最后,有一个功能,它允许您运行并行查询,以确保一个请求可以向外扩展到许多不同的实例。由于一个重要的原因,我们在本章跳过这个功能。如果您想发送一个查询到多个不同的节点,不如使用Postgres-XC,它为调度查询问题提供了一个内核解决方案。在这里,解析SQL给一个调度查询肯定不是最好的做法,因此,在这个情况下,Postgres-XC是绝对地优越。
PostgreSQL Replication之第九章 与pgpool一起工作(2)的更多相关文章
- PostgreSQL Replication之第九章 与pgpool一起工作(7)
9.7 处理故障转移和高可用 可以使用pgpool来解决的一些明显的问题是高可用性和故障转移.一般来讲,有使用pgpool或者不使用pgpool可以用来处理这些问题的各种方法. 9.7.1 使用Pos ...
- PostgreSQL Replication之第九章 与pgpool一起工作(4)
9.4 设置复制和负载均衡 要配置pgpool,我们可以简单地使用一个包含一种典型的配置信息的已经存在的样本文件,将它拷贝到我们的配置目录并修改之: $ cp /usr/local/etc/pgpoo ...
- PostgreSQL Replication之第九章 与pgpool一起工作(6)
9.6 运行pgpool和流复制 pgpool也可以和除了语句级别的复制之外的流复制一起使用.一个完美的方案是使用PostgreSQL的板载复制和仅仅使用pgpool的负载均衡与连接池. 实际上,这样 ...
- PostgreSQL Replication之第九章 与pgpool一起工作(3)
9.3 理解pgpool的架构 一旦我们安装了pgpool,是时候来讨论软件架构了.从一个用户的角度看,pgpool就像一个 正常的数据库服务器,您可以想连接任何其他服务器一样连接到它: pgpool ...
- PostgreSQL Replication之第九章 与pgpool一起工作(1)
在前面的章节中,我们已经能够深入地理解了pgbouncer,同时也学会了如何使用它来尽可能地优化复制设置.在本章我们将了解一个经常被称作与pgbouncer相对应的工具.尽管pgpool的思想与pgb ...
- PostgreSQL Replication之第九章 与pgpool一起工作(5)
9.5 检查复制 如果所有的节点都处于开机并运行的状态.我们就可以在集群上运行我们的第一个操作了.在我们的例子中,我们将简单地连接到pgpool并创建一个新的数据库.createdb 是一个命令行工具 ...
- PostgreSQL Replication之第一章 理解复制概念(1)
PostgreSQL Replication系列翻译自PostgreSQL Replication一书 在本章中,将会介绍不同的复制概念,您会了解哪些类型的复制对哪一种实用场景是最合适的. 在本章的最 ...
- PostgreSQL Replication之第二章 理解PostgreSQL的事务日志(5)
2.5 XLOG的内部结构 我们将使用事务贯穿本书,并让您在技术层面上更深地洞察事情是如果工作的,我们已经增加了这部分专门处理XLOG的内部工作机制.我们会尽量避免前往下降到C级,因为这将超出本书的范 ...
- PostgreSQL Replication之第二章 理解PostgreSQL的事务日志(4)
2.4 调整检查点和XLOG 目前为止,这一章已经提供深入洞察PostgreSQL如何写入数据,一般来说,XLOG是用来干什么的.考虑到这方面的知识,我们现在可以继续并学习我们能做些什么来使我们的数据 ...
随机推荐
- linux中sed的使用方法具体解释(对行数据的加入、删除等)
sed使用语法 [root@fwq test]# sed --help 使用方法: sed [选项]... {脚本(假设没有其它脚本)} [输入文件]... -n, --quiet, --silent ...
- 微软版UnityVs横空出世,究竟是谁成就了谁?
在移动互联网浪潮持续发力下,手游行业也异常火热.在现在的手游行业,Unity3d无疑是最耀眼的哪颗星.一直觉得Unity面向设计师是友好的,对程序猿这边并非非常友好. 2012年用Unity时开发工具 ...
- [Android] Android开发优化之——从代码角度进行优化
通常我们写程序,都是在项目计划的压力下完成的,此时完成的代码可以完成具体业务逻辑,但是性能不一定是最优化的.一般来说,优秀的程序员在写完代码之后都会不断的对代码进行重构.重构的好处有很多,其中一点,就 ...
- bzoj1045: [HAOI2008] 糖果传递(数论)
1045: [HAOI2008] 糖果传递 题目:传送门(双倍经验3293) 题解: 一开始想着DP贪心一顿乱搞,结果就GG了 十分感谢hzwer大佬写的毒瘤数论题解: 首先,最终每个小朋友的糖果数量 ...
- Oracle GoldenGate
Oracle GoldenGate实现数据库同步 前言:最近刚好在弄数据库同步,网上查了些资料再加上自己整理了一些,做个分享! 一.GoldenGate的安装 官方文档: Oracle®GoldenG ...
- [JZOJ NOIP2018模拟10.21]
考试之前我刚刚领略到了特判的重要性,没想到T2的两个子任务还是写挂了,丢了20分 考试的感觉不行,一路打的都是暴力,正解的思路想到一半就断了推不下去 T1:逛公园 题目链接: https://jzoj ...
- sublime配置python运行环境
1.sublime下载与插件管理 1.1 下载 官网地址:https://www.sublimetext.com/3 1.2 安装Package Control管理插件 使用ctrl + ` (感叹后 ...
- PHP简介 变量 输出
一.PHP概念 Hypertext Preprocessor 超文本预处理器,是一种开源脚本语言,语法吸收了C语言,Java,Perl的特点,用于web开发领域, PHP是将程序嵌入到Html文档中执 ...
- MyBatis数据持久化(二)建立数据库会话
上篇文章中介绍了我们使用mybatis前的准备工作,并在程序中通过jdbc与mysql数据库成功建立连接,接下来介绍如何使用mybatis与数据库建立会话.我们需要以下几个步骤: 1.在build p ...
- ActiveMQ学习笔记(10)----ActiveMQ容错的连接
1. Failover Protocol 前面讲述的都是Client配置连接到指定的broker上,但是,如果Broker的连接失败怎么办呢?此时,Client有两个选项:要么立刻死掉,要么连接到其他 ...