暂无图片
暂无图片
15
暂无图片
暂无图片
暂无图片

OpenGauss到底是Open了哪个Gauss?

01

Waiting:

交易型数据库是商用软件界皇冠上的明珠。华为自研的Gauss100交易型数据库宣布也有1年多了,期间看了听了不少资料,从一开始的跃跃欲试到后来持续跳票,到最近华为宣布不会推出软件产品而仅以公有云方式提供GaussDB。各位期待者的心情落差是有的。近年来国产数据库呈井喷之势,各种产品精彩纷呈。尽管如此,大家都期望华为也有保留节目,最后能拿出一个让人眼前一亮的自研数据库。
虽然华为宣布不推出Gauss交易型数据库商业版,但还是宣布了开源版本OpenGauss。想想也对,华为的战略重心在云,开源出去以后做大生态,鼓励合作伙伴推出商业发行版也不失为一个好的策略。终于,华为如约在6月最后一天开源了OpenGauss,我们迫不及待地下载、安装、尝试了一下。

02

Installing:

我们尝试在华为云上手动安装部署了openGauss,采用一主一备的模式。具体搭建的流程可以详见官网文档,搭建环境具体如下:

操作系统

CentoOS7.6
内存
32G
CPU
4核
硬盘
100G
Python
3.6.9
Openssl
1.1.1g
主备模式的安装流程大致如下图:
1.安装前的准备
安装前需要修改主备节点的操作系统配置,包括关闭安全设置,设置字符集和时区,关闭交换分区,设置网卡MTU值。另外还需要设置root用户远程登录。
2.配置XML文件
实验采用的是主备模式,需要在xml文件中配置服务器其信息,主备节点信息以及安装路径。这一步上传配置文件到主节点即可。
3.初始化安装环境
为了保证正确安装,先对主备机器环境进行配置和检测。在执行脚本前需要:
a.     确保主备hostname一致
b.     设置lib库
c.     初始化安装
4.执行安装
在完成preinstall之后,执行数据库安装脚本,这里需要注意输入的密码符合复杂度要求即可。设置的密码要符合复杂度要求:
a.最少包含8个字符;
b.
不能和用户名和当前密码(ALTER)相同,或和当前密码反序;
c.
至少包含大写字母(A-Z),小写字母(a-z),数字,非字母数字字符(限定为~!@#$%^&*()-_=+|[{}];:,<.>/?)四类字符中的三类字符。
5.登录
第一次登录会要求修改omm用户的密码,修改成功后即可正常登录使用。

下面分享几个安装过程中遇到的问题
1.Python版本过低
OpenGauss在CentOS7.6安装依赖Python3.6.X,但是CentOS7.6自带的Python是2.7.5,需要升级Python版本,可以通过CentOS的官方软件SCL(Software Collections来进行。主备模式下,需要主备都进行升级操作。
在升级之后还需要对环境变量进行设置,将/usr/bin/yum /usr/libexec/urlgrabber-ext-down这两个文件内的#!/usr/bin/python替换为#!/usr/bin/python2。另外还有可能会出现依赖包找不到的情况,可以手工设置进行替换。
2.SSl验证问题
Centos7.6自带的openssl版本比较低,需要安装openssl-1.1.1以上版本。
3.字符集问题
官网在安装样例中,设置了字符集为Unicode。但在实验中遇到字符集不匹配的问题,可以修改默认的字符集为UTF8格式。
4.数据库密码问题
安装完成后会提示修改omm用户的密码,需要提醒注意的是,此时输入的密码并不是在preinstall过程中所创建的用户密码,而是在安装过程中所设置的database密码。
另外,默认的数据库名是postgres?

03

Questioning:

在OpenGauss之前,GaussDB主要有3个版本,宣称完全自研的Gauss100,基于开源PostgresSQL的Gauss200,还有传说中的以HTAP为方向的Gauss300。Gauss200是分析性,主要面向数据仓库,在工行全面替代了Teradata;Gauss100是交易型,主要面向联机事务,据说完全自研,最先是内部使用,后来和招行联合创新,在招行的系统中有一定使用。前期沟通中Gauss100的定位是赋能去O,技术上兼容Oracle语法98%,云和恩墨和DBAplus等社区也发过一些技术前瞻,Gauss100在语境上很接近Oracle。
而这次我们安装完后,发现默认数据库名是Postgres,难道是PG内核?我们又看了下系统表名,也都是Postgres的表名。我们又使用代码扫描软件对OpenGauss源码进行扫描,发现其和PostgresSQL9.x源码的相似度达到30%。可以确定的是,开源发布的OpenGauss基于PG内核研发,且架构上与Gauss100 既支持单机又支持分布式的差距较大,并不是多数人期待的Gauss100开源版。那Gauss 100在哪里呢?华为云以后提供的GaussDB是基于Gauss100还是OpenGauss呢?Gauss100产品还有未来吗?这次OpenGauss的发布,带来了更多的问题

04

Testing:

疑问过后,继续测试。在安装完成后,对于数据库做了个简单的主从切换验证,具体操作方法如下,一键式切换命令相较于oracle较为便捷,整体切换时间在10秒内完成,数据修改后可以正常同步,基本符合预期。
1. 检查当前集群状态
su - omm
gs_om -t status --detail
gs_om -t status -h 主机名
 2. 连接至备库,进行主备切换
gs_ctl switchover -D home/omm/cluster/dn1/
3. 保存集群主备信息
gs_om -t refreshconf
4.检查切换后的集群状态
gs_om -t status --detail 
gs_om -t status -h 主机名
5.检查切换完成后备库是否正常同步
1)  尝试在新主库上创建表并插入数据
2)检查备库上的数据是否同步更新

05

Anticipating:

Weniges,aber Reifes (少,但成熟  ——数学家 高斯)
Gauss100还会开源吗?会继续发展吗?特性会融入到OpenGauss吗?华为云上规划的Gauss和OpenGauss有关吗?那么多不同的数据库全都是Gauss这个品牌,以后会怎么梳理?期待华为下一步动作。
援引丘吉尔的一句话”It is not the end. It is not even the begin of the end. But perhaps, it is the end of the beginning”. 对我们来说,等待结束了,新的期待开始了。To be continued...
文章转载自Financial OpenSource Community,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论