暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
postgresql群集.pdf
461
17页
1次
2021-01-28
10墨值下载
注意事项:由于 wordpress 会自动将半角单引号转换为全角单引号,引用代码时
需要手动修改为单引号
原理只是一个概念,可操作性不强,看了 N 多的半原理半细节的相关文章,却总
是被各种各样的细节困惑住。为了自己下次能够快速的使用 PostgreSQL,以流
水帐的方式记录配置 PostgreSQL 集群的步骤,
有些结论是自己猜想的或者引用
,以后发现错误再修正吧。
顺便发些感想(跳过下面一段,都是题外话,其实就是废话):
其实很多东西,从原理上说都很简单,几乎我们每个人都能说上一点。但是实际
上,原理性的文章一般可操作性都不是很强。我个人觉得,如果目标是给自己看
或者目标是让团队的人能够读懂并可以操作的文章,还是应该多一些细节描述,
用文学的观点来说,就是表现手法要细腻一些。
Over,转入正题:
首先解释一下数据库集群:N 个数据库堆到一起,找一个当个头头,管理所有的
数据库并让它们协同工作。当然了,要不要找个头头,找几个头头,如何协作等
等问题这些都可以商量和约定,因此,也就形成了不同的数据库集群。
如果数据库系统是 PostgreSQL,这个集群就是 PostgreSQL 数据库集群。
PostgreSQL 数据库管理集群的方法有很多,有人提出了 PL/Proxy 方式的集群(这
才是本文的重点)。这个 PL/Proxy 方式的集群是这样的:有很多安装了
PostgreSQl 数据库的计算机,有台计算机是头头,我们把这个头头叫做 proxy
其他的叫做 database0database1„„。当然名字叫什么是无所谓的,关键是
有个是头头,其他的受头头指挥。
看个例子吧:以三台机器的集群为例子,看看 PostgreSQL 集群的架构是什么。
proxy 节点:proxy 节点实际上也是一个 PostgreSQL 数据库 节点,但是所有数
据均不存放到 proxy 节点上,主要做三件事情:
1.接受用户的 sql 查询;
2.分析用户的 sql 查询并转换成集群上执行的 SQL 语句;
3.合并集群执行 sql 的结果,然后返回给用户。
说白了,就是把用户的 sql 语句交给 database0database1 去执行,然后合并
执行结果返回给用户。
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
的官方网站 http://www.ubuntu.com/上找到下载地址,我当时的下载的地址是
http://ubuntu.positive-internet.com/releases/lucid/ubuntu-10.04-deskt
op-i386.iso
第三步:三个虚拟机全部安装 PostgreSQL 数据库系统
如何安装和配置请参见 Ubuntu Postgresql-8.4 安装及配置
第四步:做个额外的动作,将每台服务器的设定成允许任何机器使用任
何账号访问任何数据库(实验嘛,没关系的,照做就行了):
root@ubuntuserver:~# vi /etc/postgresql/8.4/main/pg_hba.conf
>改变行:host all all 0.0.0.0 0.0.0.0 md5
>修改为:host all all 0.0.0.0 0.0.0.0 trust
of 17
10墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜