在这里添加一个slave,真的有一个很好的可扩展性的策略,这基本上足以满足大多数现代应用程序.使用一台服务器的情况下,许多应用程序就会完美地运行,您可能想添加以副本以给基础设施增加一些安全,但在许多情况下,这是许多人想要的. 如果您的应用程序变得越来越大,可以在很多情况下,您可以添加slave和向外扩展读:这也不是什么大问题,并可以很容易地完成.如果您要添加更多的slave,您可能需要级联复制您您的基础设施,但对于98%的应用程序来说,目前为止,这就够了. 其余2%的应用程序由PL/Proxy来…
13.3 聪明地扩展与处理集群 建立集群不是您面临的唯一任务.如果所有的事情都做完了并且系统已经运行了,您可能需要到处调整配置. 13.3.1 添加和移动分区 一旦一个集群启动并运行,您可能会发现您的集群太小,而不能处理您的应用产生的负载.现在的问题是:如何采用最明智的方法做到这一点? 您可以做的最好的事情是创建比需要的多的多的分区.所以,如果您开始考虑使用差不多四个节点,我们直接创建十六个,每台服务器上运行四个分区.在这种情况下,扩展您的集群将会很容易: • 复制所有的生产节点 • 重新配置…
13.2 设置 PL/Proxy 简短的理论介绍之后,我们可以继续前进并运行一些简单的PL/Proxy设置.要做到这一点,我们只需安装PL/Proxy并看看这是如何被使用的. 安装PL/Proxy是一件很容易的事.首先,我们要从http://pgfoundry.org/projects/plproxy/下载源代码.当然,如果对您的系统来说,预编译表是可用的话,您也可以安装二进制包.然而,在这一节中,我们将简单地从源代码执行安装,并看看事情如何在一个非常基本的水平工作. 安装过程的第一步是解压ta…
6.4 处理监控工具 还有几个监控工具可以使您的日常生活更轻松. 其中最流行的监控工具是Nagios.它被广泛地使用,也支持各种软件组件. 要使用 Nagios 来监控您的 PostgreSQL 集群,需要安装一个方面运行复制相关测试的插件.这样的适用于PostgreSQL 的插件可以自由地从 http://bucardo.org/wiki/Check_postgres下载.适用于 Nagios的一个插件Burcardo不仅能够用于测试复制,而且还是一个监控 PostgreSQL 的标准软件组件…
4.4 基于流和基于文件的恢复 生活并不总只是黑色或白色:有时也会有一些灰色色调.对于某些情况下,流复制可能恰到好处.在另一些情况下,基于文件复制和PITR是您所需要的.但是也有许多情况下,您既需要流复制,也需要基于文件的复制.一个例子是:当您较长一段时间中断复制,您可能想再次使用归档来重新同步(resync)slave,而不是再次执行完全的基础备份.这也可能是有用的---保留一个归档一段时间以后调查或重放操作.好消息是PostgreSQL允许您混合基于文件和基于流的复制.您没有必要决定基于流的…
4.2 配置级联复制 正如您在本章已经看到的,设置流复制真的很容易.只需要设置几个参数,做一个基础备份,并享受您的复制设置. 在许多情况下,这种情况更有一点点微妙.在这个例子中我们假设:我们要使用一个master传送数据到几十台服务器.复制的开销其实很小(通常的说法是一个slave的开销是3%左右),但是您做小的事情是足够了,它仍然可能是一个问题.对100个 slave来说这绝对没有任何益处. 另一个用例是一个地方的master和在 另一个地方的多个slave.一遍又一遍地长距离发送大量的数据是…
执行完您的第一个即时恢复(PITR,Point-In-Time-Recovery),我们准备在一个真正的复制设置上工作.在本章,您将学会如何设置异步复制和流.我们的目标是确保您可以实现更高的高可用和更高的数据安全性. 在本章,我们将讨论以下主题: • 配置异步复制 • 理解流 • 合并流和归档 • 管理时间线 在本章的最后,您将很容易地在几分钟内设置流复制. 4.1 设置流复制 在前面章节中,我们已经从简单的16MB XLOG文件做了恢复.从逻辑上讲,重放进程一次只能重放16MB.这在您的复制设…
11.3 管理 pgq-queues Skytools 的一个核心组件是pgq.它提供了一个通用排队接口,它可以让您把消息从一个消息提供者传送到一个任意数目的接收者. 现在的问题是:一般来说,一个队列的要点是什么?队列有一些很不错的特征.首先,它可以保证消息的传递.除此之外,它将确保消息被放入队列的顺序会被保留.在复制的情况下,这是非常重要的,因为我们必须确保小不会相互追赶对方. 队列的思想是能够使任何东西从整个生产数据被发送到任何别的参与系统的主机.这不仅适用于复制,使用与很多—您可以把pgq…
向您介绍了 Slony 之后,我们将介绍另外一种流行的复制工作.Skytools 是一个最初有 Skype 开发的软件包,它有多种用途.Skytools 不只是一个单一的程序,而且是一个工具与服务的集合,您可以用它来提高您的复制设置.在本章中,我们将讨论有关Skytools的如下主题: • 建立 通用队列 • 使用 londiste 复制 • 处理 XLOG 与 walmgr.py 11.1 安装 skytools Skytools 是一个开放源码包,可以从 pgfoundry.org自由下载.…
7.6 PostgreSQL和高可用性 数据库是我们日常数字生活的一部分,并期望它们快速工作. 您浏览网上论坛吗?那个帖子在数据库中.您看医生吗?您的医疗记录在数据库中.您在网上购物吗?那个货物,您的数据和以前购买的东西都在数据库中. 希望所有这些数据在几秒钟内出现.这不仅是您的期望.一个小网店可能同时有成百上千的访客,每个访客都希望网站快速展现.较大的网站可以同时处理几万或者几十万的访问. 这意味着该服务背后的数据库必须一直可用.当我们考虑这样的网站服务于全球的用户时,问题的范围变得很明显.总…