深度体验与测评openGauss 6.0.0新版本

news/2024/10/6 12:35:11

本文分享自华为云社区《openGauss 6.0.0新版本安装测评》,作者:马顺华。

前言

近日,备受瞩目的openGauss 6.0.0版本正式上线,作为国产数据库的佼佼者,openGauss一直致力于为用户提供高效、稳定的数据库解决方案。恰逢openGauss社区举办的第七届openGauss技术文章征集活动正式开启,我有幸亲身体验了这一新版本,并在此分享我的安装及使用测评。

一、安装体验

openGauss 6.0.0版本在安装方面进行了重大改进,推出了全新的一站式交互安装功能。这一功能极大地简化了安装流程,降低了用户的学习成本。在安装过程中,用户只需通过交互界面输入数据库的相关信息,系统便会自动生成xml配置文件,并自动进行数据库的初始化安装。相比之前的版本,这一改变无疑是一大亮点。

在实际安装过程中,我按照提示逐步操作,整个过程流畅无阻。值得一提的是,openGauss 6.0.0版本还解除了对root用户的依赖,进一步提升了安装的安全性。安装完成后,我成功启动了数据库服务,并进行了基本的测试。

二、使用体验

性能优化:openGauss 6.0.0版本在性能方面进行了优化,特别是在主备复制方面。通过实际测试,我发现新版本在数据同步和故障恢复方面表现优异,能够满足大多数业务场景的需求。

中文日志支持:新版本还增加了中文日志支持功能,这一功能对于国内用户来说非常实用。通过查看中文日志,用户可以更直观地了解数据库的运行状态和错误信息,从而更快速地定位问题并进行修复。

多版本支持:openGauss 6.0.0版本提供了企业版和轻量版两个安装版本供用户选择。企业版适用于大规模、高性能的业务场景,而轻量版则更加适合小规模、轻量级的应用。这种多版本的支持策略使得openGauss能够满足不同用户的需求。

三、安装准备

本章详细介绍openGauss极简安装的环境准备和配置,极简安装包括单节点安装和一主一备节点安装,请在安装之前仔细阅读本章的内容。如果已完成本章节的配置,请忽略。

1、获取安装包

openGauss开源社区上提供了安装包的获取方式。

本次试验环境如下:(根据实际软硬件情况,选择不同的安装包)

架构 :x86x_64

操作系统:Centos 7.6

软件包:openGauss_6.0.0-RC1 极简版

2、下载到服务器

[root@worker1 soft]# ls
openGauss-6.0.0-RC1-CentOS-64bit.tar.bz2
[root@worker1 soft]# 

c237461fa854fff129f1aabf72b0f8b0_20240517-f0bb6e79-6152-4252-bbd9-9f4c87ccc29b.png

3、系统环境配置

3.1 目前仅支持在防火墙关闭的状态下进行安装。

[root@worker1 soft]# sestatus
SELinux status:                 disabled
[root@worker1 soft]# 
[root@worker1 soft]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)Active: inactive (dead)Docs: man:firewalld(1)
[root@worker1 soft]# 

2b5fd09b005eeb8ad1652e745070917a_20240517-b3f5234f-3789-4e82-b4b9-d27f6aba5956.png

3.2 设置字符集参数

将各数据库节点的字符集设置为相同的字符集,可以在/etc/profile文件中添加“export LANG=XXX”(XXX为Unicode编码)。

en_US.UTF-8

[root@worker1 soft]# echo 'export LANG=en_US.UTF-8' >>/etc/profile
[root@worker1 soft]# 

c5a23e186b43f7adb38e64704f49b6dc_20240517-2b0deed6-e793-476d-a933-bec12975e653.png

3.3 关闭RemoveIPC

在各数据库节点上,关闭RemoveIPC。CentOS操作系统默认为关闭,可以跳过该步骤。、

RemoveIPC=no

4b27cc879aa858c0511e47cb7e01d3e3_20240517-cdc28759-16b7-45ed-9e06-72db57feab5c.png

3.4 关闭HISTORY记录

HISTSIZE=0

e3f6aded75db4407ebd9ecfd5d3554fd_20240517-d1d0a8b0-1e36-4a52-9400-c128595cad91.png

4、创建用户和组

4.1 创建用户组dbgroup。

[root@worker1 ~]# 
[root@worker1 ~]# groupadd dbgroup
[root@worker1 ~]# 

5bb4149d70950473f138de4b2d4bb1fa_20240517-9af53ca6-c6b8-46ed-84e8-9206c509655e.png

4.2 创建用户组dbgroup下的普通用户omm,并设置普通用户omm的密码。

[root@worker1 ~]# useradd -g dbgroup omm
[root@worker1 ~]# passwd omm
Changing password for user omm.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@worker1 ~]# 

66a05f207caa8f492367f4cfb28a64af_20240517-b4acbc3b-5364-40fd-9c77-1b92715a71be.png

四、单节点安装

前提条件

  • 已完成用户组和普通用户的创建。
  • 所有服务器操作系统和网络均正常运行。
  • 普通用户必须有数据库包解压路径、安装路径的读、写和执行操作权限,并且安装路径必须为空。
  • 普通用户对下载的openGauss压缩包有执行权限。
  • 安装前请检查指定的openGauss端口是否被占用,如果被占用请更改端口或者停止当前使用端口进程。

1、用户登录

使用普通用户登录到openGauss包安装的主机,解压openGauss压缩包到安装目录(假定安装目录为/opt/software/openGauss,请用实际值替换)。

[root@worker1 soft]# ls
openGauss-6.0.0-RC1-CentOS-64bit.tar.bz2
[root@worker1 soft]# tar -jxf openGauss-6.0.0-RC1-CentOS-64bit.tar.bz2 -C /opt/software/openGauss/
[root@worker1 soft]# 

3fb989cfbc09a714114083d170846e88_20240517-e73bbfab-39fe-4574-9491-4dadfe6d4a74.png

如果报错没有权限

[omm@worker1 soft]$ tar -jxf openGauss-6.0.0-RC1-CentOS-64bit.tar.bz2 -C /opt/software/openGauss/
tar: ./bin: Cannot mkdir: Permission denied
tar: ./bin: Cannot mkdir: Permission denied

938b8492bc17f5dbe8126a27db7bdd15_20240517-e1a3f22f-6cd8-4698-9cf3-16995109e88b.png

切换为root用户后添加权限就可以了

[root@worker1 opt]# chown omm:dbgroup /opt/software/openGauss/
[root@worker1 opt]# chmod 755 /opt/software/openGauss/

889dd17f0e304d83eac36a0a2c04c637_20240517-7f0d8543-9adf-4319-bffb-47c7e9ff2177.png

2、解压

假定解压包的路径为/opt/software/openGauss,进入解压后目录下的simpleInstall。

[root@worker1 soft]# cd /opt/software/openGauss/simpleInstall
[root@worker1 simpleInstall]# ls
finance.sql  install.sh  README.md  school.sql
[root@worker1 simpleInstall]# 

9f09b6d606be98c7c53f4c145d9654f8_20240517-20560cd7-d6ef-457e-9328-f40e6ef31ac2.png

3、脚本安装

执行install.sh脚本安装openGauss。

[root@worker1 simpleInstall]# sh install.sh  -w "openGauss666" &&source ~/.bashrc
[step 1]: check parameter
Error: can not install openGauss with root
[root@worker1 simpleInstall]# 

安装报错

[omm@worker1 simpleInstall]$ sh install.sh  -w "openGauss666" &&source ~/.bashrc
[step 1]: check parameter
[step 2]: check install env and os setting
On systemwide basis, the maximum number of SEMMNI is not correct. the current SEMMNI value is: 128. Please check it.
The required value should be greater than 321. You can modify it in file '/etc/sysctl.conf'.
[omm@worker1 simpleInstall]$ 

解决办法:

用root登录修改所需的值应大于321,然后执行sysctl -p

[root@worker1 ~]# 
[root@worker1 ~]# sysctl -w kernel.sem="250 85000 250 330" 
kernel.sem = 250 85000 250 330
[root@worker1 ~]# 

5cd1fb304817d30f971b9d56fe328caf_20240517-17459f2b-52c2-4077-b828-f4297929c96b.png

再次执行install.sh脚本安装openGauss。

[omm@worker1 simpleInstall]$ sh install.sh  -w "openGauss666" &&source ~/.bashrc[2024-05-17 16:39:10.010][7802][][gs_ctl]:  done
[2024-05-17 16:39:10.010][7802][][gs_ctl]: server started (/opt/software/openGauss/data/single_node)
import sql file
Would you like to create a demo database (yes/no)? 

4、完成安装

ecc664481cdcf76f3779fe39ef943963_20240517-0e420f23-e3c8-45c2-9fb6-fde00a8b1c77.png

5、检查安装进程

安装执行完成后,使用ps和gs_ctl查看进程是否正常。

[omm@worker1 simpleInstall]$ 
[omm@worker1 simpleInstall]$ ps ux | grep gaussdb
omm        7805  2.2  2.8 6267816 922936 ?      Ssl  16:39   0:04 /opt/software/openGauss/bin/gaussdb -D /opt/software/openGauss/data/single_node
omm        8180  0.0  0.0 110480   908 pts/0    S+   16:42   0:00 grep --color=auto gaussdb
[omm@worker1 simpleInstall]$ 

d508f1f93b50a9acafda2f0979c1d9af_20240517-a6867ed2-9b03-405e-9a07-b34b4211ea98.png

ps ux | grep gaussdb
gs_ctl query -D /opt/software/openGauss/data/single_node

5.1 执行ps命令,显示类似如下信息:

omm 20377 0.0 0.0 119880 1216 pts/0 S+ 15:37 0:00 grep --color=auto gaussdb

5.2 执行gs_ctl命令,显示类似如下信息:

 HA state:           local_role                     : Normalstatic_connections             : 0db_state                       : Normaldetail_information             : NormalSenders info:       
No information Receiver info:      
No information 
[omm@worker1 simpleInstall]$ 

729dbc835c12929b1eb840c3d9a8045d_20240517-2130bc10-3a3f-41bd-9cd0-1238b6264d4c.png

五、数据库的增删改查

1、连接本地连接数据库

gsql ((openGauss 6.0.0-RC1 build ed7f8e37) compiled at 2024-03-31 11:59:31 commit 0 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.openGauss=# 

4d13cb4cb28d3439573bdacae962bf33_20240517-29875966-b6a5-4a72-8e2c-d5a733e14b2d.png

登录端口可以查看 postgresql.conf文件

[omm@worker1 single_node]$ cat postgresql.conf |grep port
port = 5432                # (change requires restart)
#ssl_renegotiation_limit = 0        # amount of data between renegotiations, no longer supported# supported by the operating system:

33650eb673e39e22b0f692f0c5bd405e_20240517-28909fa4-8d0d-4c23-baa6-3060b72bb338.png

2、创建数据库

数据库安装完成后,默认生成名称为postgres的数据库。您需要自己创建一个新的数据库。

openGauss=# CREATE DATABASE database_openGauss;
CREATE DATABASE
openGauss=# 

40bfaf9f583acfd4b95c167fef7ed534_20240517-04e3a41d-f72b-4032-9af8-3b04ba38aa2f.png

3、查看数据库

3.1 使用“\l”用于查看已经存在的数据库。

\l

openGauss=# \lList of databasesName        | Owner | Encoding |   Collate   |    Ctype    | Access privileges 
--------------------+-------+----------+-------------+-------------+-------------------database_opengauss | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | finance            | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | postgres           | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | school             | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | template0          | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/omm           +|       |          |             |             | omm=CTc/ommtemplate1          | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/omm           +|       |          |             |             | omm=CTc/omm
(6 rows)openGauss=# 

9856027e1967a6094475a2b1ad33fd58_20240517-841718f9-e622-4183-a9ac-3d210aba2eea.png

3.2 使用 “\c + 数据库名” 进入已存在数据库。

openGauss=# 
openGauss=# \c database_opengauss
Non-SSL connection (SSL connection is recommended when requiring high-security)
You are now connected to database "database_opengauss" as user "omm".
database_opengauss=# 

6ef2a712f8ea1b3f3345b0b5b015de83_20240517-02321ce4-5ac0-4b48-b8a8-d4b2711696b6.png

4、修改数据库

ALTER DATABASE database_opengauss RENAME TO new_name666;

openGauss=# ALTER DATABASE database_opengauss RENAME TO new_name666;
ALTER DATABASE
openGauss=# \lList of databasesName     | Owner | Encoding |   Collate   |    Ctype    | Access privileges 
-------------+-------+----------+-------------+-------------+-------------------finance     | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | new_name666 | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | postgres    | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | school      | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | template0   | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/omm           +|       |          |             |             | omm=CTc/ommtemplate1   | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/omm           +|       |          |             |             | omm=CTc/omm
(6 rows)openGauss=# 

7b69ca6df9cc5af5222cb017fa0959d2_20240517-e6561c73-7395-4683-99a8-e2fc19720fb9.png

5、删除数据库

openGauss=# DROP DATABASE new_name666 ;
DROP DATABASE
openGauss=# \l      List of databasesName    | Owner | Encoding |   Collate   |    Ctype    | Access privileges 
-----------+-------+----------+-------------+-------------+-------------------finance   | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | postgres  | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | school    | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | template0 | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/omm           +|       |          |             |             | omm=CTc/ommtemplate1 | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/omm           +|       |          |             |             | omm=CTc/omm
(5 rows)openGauss=# 

总结

openGauss 6.0.0版本在安装和使用方面都带来了很大的改进和优化。一站式交互安装功能极大地简化了安装流程,降低了用户的学习成本;性能优化和中文日志支持功能则进一步提升了数据库的稳定性和易用性。通过实际测试,我认为openGauss 6.0.0版本是一款非常优秀的国产数据库产品,值得广大用户尝试和使用。

cke_44166.png

HDC 2024,6月21日-23日,东莞松山湖,期待与您相见!

更多详情请关注官网:

中文:https://developer.huawei.com/home/hdc

英文:https://developer.huawei.com/home/en/hdc

点击关注,第一时间了解华为云新鲜技术~

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hjln.cn/news/43044.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

【IDEA 必备插件之一】这样注入 Bean 才爽

今天我们来介绍一款免费的IDEA生产力插件,它叫Bean Assistant。我们可以在插件市场搜索Bean Assistant来安装它。前言 不知道你们在平时的工作场景中是否经常遇到以下的情况。在一个方法中,需要调用某个实例接口的方法。我们经常会先在该类里面先注入这个接口的实例 Bean,然后…

文件系统(六):一文看懂linux ext4文件系统工作原理

liwen01 2024.06.09 前言 Linux系统中的ext2、ext3、ext4 文件系统,它们都有很强的向后和向前兼容性,可以在数据不丢失的情况下进行文件系统的升级。目前ext4是一个相对较成熟、稳定且高效的文件系统,适用于绝大部分规模和需求的Linux环境。 ext4它突出的特点有:数据分段管…

【译】Visual Studio 17.10 发布了新版扩展管理器

从 Visual Studio 17.10 开始提供新的扩展管理器作为默认预览功能。我们已将基本功能简化为现代风格 UI,以帮助您发现新的扩展并管理已安装的扩展。我们将更新的扩展管理器带给所有用户!在过去的一年里,我们已经将更新后的扩展管理器作为可选的预览功能提供,并一直期待您的…

手机上玩 PC 游戏的开源项目「GitHub 热点速览」

上周国产 3A 大作《黑神话:悟空》开启预售,同时公布游戏将于北京时间 2024.8.20 正式上线。这是一款由「游戏科学」开发的西游题材单机动作角色扮演游戏,它采用「虚幻引擎5」制作。该引擎并不是完全开源的,但它提供了部分源代码的访问权限。具体来说,就是 **GitHub 账号必…

Python 数据类型

Python 数据类型 Python 的数据类型大致可以分为两大类:基本数据类型和容器数据类型。基本数据类型通常指的是单一、不可分割的数据对象,而容器数据类型则用于存储多个数据对象的集合。如下图所示:基本数据类型 整型(int) 整型数据用于表示整数。Python 中的整型变量没有固…

[转帖]探索fio参数如何选择以及全方位对比HDD和SSD性能

文章目录 1. 磁盘I/O性能指标1.1 性能指标1.2 I/O 观测1.2.1 磁盘I/O 观测1.2.2 进程I/O观测 2. Fio 性能测试2.1 环境准备2.2 测试维度选择2.3 测试2.3.1 optane ssd和nvme ssd性能测试2.3.2 aep性能测试(intel persistent memory) 真正测试之前 我们需要清楚 评判磁盘I/O性能…

3. 使用Mybatis完成CRUD

前置工作准备创建Maven项目 , 引入依赖(mybatis依赖 ,mysql 驱动依赖 ,junit依赖 ,logback 依赖) 将xml文件放到类的根路径下 提供com.north.mybatis.utils.SqlSessionUtil工具类 创建测试用例:com.north.mybatis.CarMapperTest‍ 补充知识:什么是CRUD C: Create增 R: Re…

[转帖]JDK/Java 17 GA,新增「Free Java License」

https://zhuanlan.zhihu.com/p/410556607 按照发布规划,JDK/Java 17 属于长期支持版本 (LTS),将会获得 8 年的技术支持,直至 2029 年 9 年。JDK/Java 17 总共包含 14 个 JEP,具体如下:Restore Always-Strict Floating-Point Semantics 恢复始终执行严格模式 (Always-Str…