|
最近在学习唐成老师的小工到专家一书,里面最后有个章节介绍了pgxc分布式数据库的安装和搭建、使用。pgxc分布式数据库实际上基于postgres开源数据库的对数据进行水平分片的,随着PG版本进行更新。pgxc数据库架构中有以下几种不同的节点类型:
1、GTM(全局事务管理):要用单独的主机部署
2、GTM_STANDBY(备用全局事务管理),是第一种节点的备份,避免单点故障的发生,要用单独的主机部署。
3、coordiator(协调),负责将客户的SQL语句分派到哪一个数据节点上执行。
4、gtmproxy(GTM代理):和GTM(全局事务管理)或GTM_STANDBY(备用全局事务管理)节点进行通讯。
5、datanode(数据节点):存储数据库真正数据
3、4、5三种类型的节点,可以合并部署在同一台主机上。1、2类型的节点要单独部署在不同的主机上,避免单点故障。
在部署安装pgxc时,我一开始使用的是ORACLE LINUX 8.9操作系统,使用编译安装时,总是各种报错,提示缺少依赖。无奈之下,我换成了centos 7.9操作系统,竟然可以成功安装了。
首先安装各种所需的依赖包,如下所示
yum install -y bison flex perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake
我单独创建一个操作系统用户osdba,切换到该用户下进行安装,提前创建好安装目录pgsql。
tar -zxvf pgxc-v1.1.1.tar.gz
[osdba@cd1 ~]$ ls
coordinator gtm_proxy pgdata pgsql pgxc-v1.1.1.tar.gz postgresql-xc-1.1.1
对下载的压缩包解压后,目录如上文所示。
解压后按照编译安装的三板斧进行安装即可
./configure --prefix=/home/osdba/pgsql --with-perl --with-python
make && make install
安装成功后,把环境变量文件设置一下,内容如下所示。
export LD_LIBRARY_PATH=/home/osdba/pgsql/lib:$LD_LIBRARY_PATH
PATH=$PATH:$HOME/.local/bin:$HOME/bin:/home/osdba/pgsql/bin
总结:实际上很多国产分布式数据库的架构中,节点类型及其作用和上面的PGXC分布式数据库都差不多。由于PGXC是开源的分布式数据库,如果在生产环境中使用此分布式数据库,非常考验DBA的功力。从分布式的节点类型看,如果任何一个类型节点出错,都可能导致数据库的故障,无疑增加了运维难度,同时也是DBA的价值所在。
合作电话:010-64087828
社区邮箱:greatsql@greatdb.com