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是绝对地优越。

05-11 21:55