postgresql群集..doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
postgresql群集.

注意事项:由于wordpress会自动将半角单引号转换为全角单引号,引用代码时需要手动修改为单引号 原理只是一个概念,可操作性不强,看了N多的半原理半细节的相关文章,却总是被各种各样的细节困惑住。为了自己下次能够快速的使用PostgreSQL,以流水帐的方式记录配置PostgreSQL集群的步骤,有些结论是自己猜想的或者引用的,以后发现错误再修正吧。 顺便发些感想(跳过下面一段,都是题外话,其实就是废话): 其实很多东西,从原理上说都很简单,几乎我们每个人都能说上一点。但是实际上,原理性的文章一般可操作性都不是很强。我个人觉得,如果目标是给自己看或者目标是让团队的人能够读懂并可以操作的文章,还是应该多一些细节描述,用文学的观点来说,就是表现手法要细腻一些。 Over,转入正题: 首先解释一下数据库集群:N个数据库堆到一起,找一个当个头头,管理所有的数据库并让它们协同工作。当然了,要不要找个头头,找几个头头,如何协作等等问题这些都可以商量和约定,因此,也就形成了不同的数据库集群。 如果数据库系统是PostgreSQL,这个集群就是PostgreSQL数据库集群。 PostgreSQL数据库管理集群的方法有很多,有人提出了PL/Proxy方式的集群(这才是本文的重点)。这个PL/Proxy方式的集群是这样的:有很多安装了PostgreSQl数据库的计算机,有台计算机是头头,我们把这个头头叫做proxy,其他的叫做database0,database1……。当然名字叫什么是无所谓的,关键是有个是头头,其他的受头头指挥。 看个例子吧:以三台机器的集群为例子,看看PostgreSQL集群的架构是什么。 proxy节点:proxy节点实际上也是一个PostgreSQL数据库 节点,但是所有数据均不存放到proxy节点上,主要做三件事情: 1.接受用户的sql查询; 2.分析用户的sql查询并转换成集群上执行的SQL语句; 3.合并集群执行sql的结果,然后返回给用户。 说白了,就是把用户的sql语句交给database0,database1去执行,然后合并执行结果返回给用户。 database1节点和 database2节点: 就是普通的数据库节点,接收proxy节点的sql查询请求并返回结果给proxy节点,是真正存放数据的节点。 没图没真相,还是来张集群结构图,结构更清晰一些: 看了原理图,是不是觉得很简单,稍微了解技术的人都能想到这种架构。既然这么简单,那就开始创建一个数据库集群吧,需求如下: 1.创建一个如集群结构图所示的集群,数据库集群中均操作同一个数据库“JiwanCluster”; 2.用户通过客户端操作proxy节点在集群中创建一个表user(说白了就是要通过集群的方法在Database0和Database1的JiwanCluster中创建一个叫做user的表); 3.用户通过客户端操作proxy节点在集群上插入多个记录信息到集群的user表上(需要把插入操作分布到两个Database节点上); 4.用户通过客户端操作proxy节点在集群上查询集群上的所有user记录; 需求不算难吧,不过很不幸,如果你对PostgreSQL不熟悉的话,你仍然搭建不了数据库(反正我看了原理后,还是搭建不了)。原理嘛,这东西太官方了,来点操作性较强的步骤(版本号需要留意一下,版本不同的话,可能会导致情况大不相同): 第一步:创建三个空的虚拟机器并把这三台虚拟机的网卡设置搞定(比如,是否桥接,是否NAT之类)(有钱的话,自己买三台电脑,3条网线和一个集线器)。 可以创建虚拟机的软件如VMWare, VirtualPC, Xen等等,本文的实验用的是VMWare,原因是我对VMWare比较熟悉; 第二步:三个虚拟机全部安装Ubuntu-10.04 这个嘛,没有什么说的,但是对于新人,这个到西还要再说一下。你可以到Ubuntu的官方网站/上找到下载地址,我当时的下载的地址是/releases/lucid/ubuntu-10.04-desktop-i386.iso 第三步:三个虚拟机全部安装PostgreSQL数据库系统 如何安装和配置请参见Ubuntu下 Postgresql-8.4安装及配置 第四步:做个额外的动作,将每台服务器的设定成允许任何机器使用任何账号访问任何数据库(实验嘛,没关系的,照做就行了): root@ubuntuserver:~# vi /etc/postgresql/8.4/main/pg_hba.conf —改变行:host all all md5 —修改为:host all all trust 如果没有此行则添加此行,具体说明参见Ubuntu下 Postgresql-8.4安装及配置。 第五步:三个虚拟机全部创建

文档评论(0)

xznh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档