openGauss数据库管理系统 v2.0.3

来源:www.sxycjn.com       编辑:admin
2022-09-08 09:20

openGauss数据库管理系统 v2.0.3功能介绍

openGauss是一款开源的关系型数据库管理软件,它具备多核高性能、全链路安全性、智能运维等企业级特质。 openGauss内核早期来源于开源数据库PostgreSQL,融合了华为在数据库范围多年的内核经验,在构造、事务、存储引擎、优化器及ARM构造上进行了适配与优化。作为一个开源数据库,期望与广泛的开发者一同构建一个多元化技术的开源数据库社区。


openGauss构造

高性能

openGauss突破了多核CPU的瓶颈,达成两路鲲鹏128核150万tpmC,内存优化表(MOT)引擎达350万tpmC。

数据分区

内部线程共享的重要数据结构进行数据分区,降低加锁访问冲突。譬如CLOG就使用分区优化,解决ClogControlLock锁瓶颈。

NUMA化内核数据结构

重要数据结构NUMA化分配,降低跨CPU访问。譬如全局PGPROC数组根据NUMA Node的数目分为多份,分别在对应NUMA Node上申请内存。解决ProcArrayLock锁瓶颈。

绑核优化

把互联网中断绑核和后台业务线程绑核区别开,防止运行线程在核间迁移导致的性能不稳定。

ARM指令优化

结合ARM平台的原子操作lse进行优化,达成重要互斥变量原子高效操作。

SQL BY PASS

通过SQL BY PASS优化SQL实行步骤,简化CPU实行开销。

高靠谱

正常业务负载状况下,RTO小于10秒,减少节点问题致使的业务不可用时间。

并行恢复

主机日志传输到备机时,备机日志落盘的同时,发送给重做恢复分发线程,分发线程依据日志种类和日志操作的数据页发给多个并行恢复线程进行日志重做,保证备机的重做速度跟上主机日志的产生速度。如此备机实时处于ready状况,从而达成瞬间问题切换。

MOT引擎(Beta发布)

内存优化表(MOT)存储引擎是一个专为多核大内存优化的存储引擎,具备极高的联机事务处置(OLTP)性能和资源借助率。MOT的数据和索引完全存储在内存中,通过NUMA感知实行,算法消除闩锁争用与查看JIT当地编译,提供低时延数据访问及高效事务实行。更多请参考MOT引擎文档。

安全

openGauss支持账号管理,账号认证,口令复杂度检查,账号锁定,权限管理和校验,传输加密,操作 审计等全方位的数据库安全能力,保护业务满足安全需要。

易运维

openGauss将人工智能算法集成到数据库中,降低数据库维护的负担。

SQL预测

openGauss依据采集的历史性能数据进行编码和基于深度学习的练习及预测,支持SQL实行时间预测。

SQL诊断器

openGauss支持SQL实行语句的诊断器,提前发现慢查看。

参数自动调整

openGauss通过机器学习技巧自动调整数据库参数,提升调参效率,减少正确调参本钱。


安装

创建配置文件

在安装openGauss之前,需要创建clusterconfig.xml配置文件。XML文件包括部署openGauss的服务器信息、安装路径、IP地址与端口号等。用于告知openGauss怎么样部署。用户需依据不同场配置对应的XML文件。
下面以一主一备的部署策略为例,说明怎么样创建XML配置文件。 以下value取值信息仅为示例,可自行替换。每行信息均有注解进行说明。
?xml version="1.0" encoding="UTF-8"?ROOT !-- openGauss整体信息 -- CLUSTER !-- 数据库名字 -- PARAM name="clusterName" value="dbCluster" / !-- 数据库节点名字 -- PARAM name="nodeNames" value="node1,node2" / !-- 节点IP,与nodeNames一一对应 -- PARAM name="backIp1s" value="192.168.0.11,192.168.0.12"/ !-- 数据库安装目录-- PARAM name="gaussdbAppPath" value="/opt/huawei/install/app" / !-- 日志目录-- PARAM name="gaussdbLogPath" value="/var/log/omm" / !-- 临时文件目录-- PARAM name="tmpMppdbPath" value="/opt/huawei/tmp"/ !--数据库工具目录-- PARAM name="gaussdbToolPath" value="/opt/huawei/install/om" / !--数据库core文件目录-- PARAM name="corePath" value="/opt/huawei/corefile"/ !-- openGauss种类,此处示例为单机种类,“single-inst”表示单机一主多备部署形态-- PARAM name="clusterType" value="single-inst"/ /CLUSTER !-- 每台服务器上的节点部署信息 -- DEVICELIST !-- node1上的节点部署信息 -- DEVICE sn="1000001" !-- node1的hostname -- PARAM name="name" value="node1"/ !-- node1所在的AZ及AZ优先级 -- PARAM name="azName" value="AZ1"/ PARAM name="azPriority" value="1"/ !-- 假如服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP -- PARAM name="backIp1" value="192.168.0.11"/ PARAM name="sshIp1" value="192.168.0.11"/ !--dbnode-- PARAM name="dataNum" value="1"/ !--DBnode端口号-- PARAM name="dataPortBase" value="26000"/ !--DBnode主节点上数据目录,及备机数据目录-- PARAM name="dataNode1" value="/opt/huawei/install/data/db1,node2,/opt/huawei/install/data/db1"/ !--DBnode节点上设定同步模式的节点数-- PARAM name="dataNode1_syncNum" value="0"/ /DEVICE !-- node2上的节点部署信息,其中“name”的值配置为主机名字(hostname) -- DEVICE sn="1000002" PARAM name="name" value="node2"/ PARAM name="azName" value="AZ1"/ PARAM name="azPriority" value="1"/ !-- 假如服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP -- PARAM name="backIp1" value="192.168.0.12"/ PARAM name="sshIp1" value="192.168.0.12"/ /DEVICE /DEVICELIST/ROOT

初始化安装环境

创建完openGauss配置文件后,在实行安装前,为了后续能以最小权限进行安装及openGauss管理操作,保证系统安全性,需要运行安装前置脚本gs_preinstall筹备好安装用户及环境。
安装前置脚本gs_preinstall可以帮助用户自动完成如下的安装环境筹备工作:
1、自动设置Linux内核参数以达到提升服务器负载能力的目的。这类参数直接影响数据库系统的运行状况,请仅在确认必要时调整。
2、自动将openGauss配置文件、安装包拷贝到openGauss主机的相同目录下。
3、openGauss安装用户、用户组没有时,自动创建安装用户与用户组。
4、读取openGauss配置文件中的目录信息并创建,将目录权限授与安装用户。


需要注意的地方
用户需要检查上层目录权限,保证安装用户对安装包和配置文件目录读写实行的权限。
xml文件中各主机的名字与IP映射配置正确。
只能用root用户实行gs_preinstall命令。


操作步骤

1.以root用户登录待安装openGauss的任意主机,并按规划创建存放安装包的目录。

mkdir -p /opt/software/openGausschmod 755 -R /opt/software说明:
不主张把安装包的存放目录规划到openGauss用户的家目录或其子目录下,可能致使权限问题。
openGauss用户须具备/opt/software/openGauss目录的读写权限。
2.将安装包“openGauss-x.x.x-openEULER-64bit.tar.gz”和配置文件“clusterconfig.xml”都上传至上一步所创建的目录中。
3.在安装包所在的目录下,解压安装包openGauss-x.x.x-openEULER-64bit.tar.gz。安装包解压后,在/opt/software/openGauss目录下自动生成script目录。在script目录下生成gs_preinstall等OM工具脚本。

cd /opt/software/openGausstar -zxvf openGauss-x.x.x-openEULER-64bit.tar.gz4.进入工具脚本目录。

cd /opt/software/openGauss/script5.若是openEuler的操作系统,实行如下命令打开performance.sh文件,用#注解sysctl -w vm.min_free_kbytes=112640 /dev/null,键入“ESC”键进入指令模式,实行:wq保存并退出修改。

vi /etc/profile.d/performance.sh6.为确保openssl版本正确,实行预安装前请加载安装包中lib库。实行命令如下,其中*{packagePath}*为用户安装包放置的路径,本示例中为/opt/software/openGauss。

export LD_LIBRARY_PATH={packagePath}/script/gspylib/clib:$LD_LIBRARY_PATH7.为确保成功安装,检查 hostname 与 /etc/hostname 是不是一致。预安装过程中,会对hostname进行检查。
8.用gs_preinstall筹备好安装环境。若为共用环境需加入–sep-env-file=ENVFILE参数离别环境变量,防止与其他用户相互影响,ENVFILE为用户自行指定的环境变量离别文件的路径。 实行如下命令,即使用交互模式实行前置,并在实行过程中自动创建root用户互信和openGauss用户互信:

./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/clusterconfig.xmlomm为数据库管理员用户(即运行openGauss的操作系统用户),dbgrp为运行openGauss的操作系统用户的组名,/opt/software/ openGauss/clusterconfig.xml为openGauss的配置文件路径。实行过程中需要依据提示选择打造互信,并输入root或openGauss用户的密码。

实行安装

实行前置脚本筹备好openGauss安装环境之后,根据启动安装过程部署openGauss。

首要条件条件

已成功实行前置脚本gs_preinstall。
所有服务器操作系统和互联网均正常运行。
用户需确保每个主机上的locale维持一致。


操作步骤

1.(可选)检查安装包和openGauss配置文件在规划路径下是不是已存在,假如没,重新实行预安装,确保预安装成功,再实行以下步骤。
2.登录到openGauss的主机,并切换到omm用户。
su - omm说明
omm为gs_preinstall脚本中-U参数指定的用户。
以上述omm用户实行gs_install脚本。不然会报实行错误。
3.用gs_install安装openGauss。若为环境变量离别的模式安装的集群需要source环境变量离别文件ENVFILE。
gs_install -X /opt/software/openGauss/clusterconfig.xml/opt/software/openGauss/script/clusterconfig.xml为openGauss配置文件的路径。在实行过程中,用户需依据提示输入数据库的密码,密码具备肯定的复杂度,为保证用户正常用该数据库,请记住输入的数据库密码。
密码复杂度需要:
长度至少8个字符。
不可以和用户名、目前密码(ALTER)、目前密码的倒序相同。
以下至少包括三类:大写字母(A~Z)、小写字母(a~z)、数字(0~9)、其他字符(仅限~!@#$%^*-_=+|[{}];:,./?)。
4.安装实行成功之后,需要手工删除主机root用户的互信,即删除openGauss数据库各节点上的互信文件。
rm -rf ~/.ssh

卸载openGauss

卸载openGauss的过程包含卸载openGauss和清理openGauss服务器环境。

实行卸载

openGauss提供了卸载脚本,帮助用户卸载openGauss。

操作步骤

1.以操作系统用户omm登录数据库主节点。
2.用gs_uninstall卸载openGauss。
gs_uninstall --delete-data或者在openGauss中每一个节点实行当地卸载。
gs_uninstall --delete-data -L

一键式环境清理

在openGauss卸载完成后,假如无需在环境上重新部署openGauss,可以运行脚本gs_postuninstall对openGauss服务器上环境信息做清理。openGauss环境清理是对环境筹备脚本gs_preinstall所做设置的清理。 首要条件条件:
openGauss卸载实行成功。
root用户互信可用。
只能用root用户实行gs_postuninstall命令。

操作步骤

1.以root用户登录openGauss服务器。
2.查询互信是不是建成功,可以互相实行ssh 主机名。输入exit退出。
plat1:~ # ssh plat2 Last login: Tue Jan 5 10:28:18 2016 from plat1 plat2:~ # exit logout Connection to plat2 closed. plat1:~ #3.进入script路径下。
cd /opt/software/openGauss/script4.用gs_postuninstall进行清理。若为环境变量离别的模式安装的集群需要source环境变量离别文件ENVFILE。
./gs_postuninstall -U omm -X /opt/software/openGauss/clusterconfig.xml --delete-user --delete-group或者在openGauss中每一个节点实行当地后置清理。
./gs_postuninstall -U omm -X /opt/software/openGauss/clusterconfig.xml --delete-user --delete-group -Lomm为运行openGauss的操作系统用户名,/opt/software/openGauss/clusterconfig.xml为openGauss配置文件路径。
若为环境变量离别的模式安装的集群需删除之前source的环境变量离别的env参数unset MPPDB_ENV_SEPARATE_PATH
5.删除各openGauss数据库节点root用户互信。

编译

概述

编译openGauss需要openGauss-server和binarylibs两个组件。
1、openGauss-server:openGauss的主要代码。可以从开源社区获得。
2、binarylibs:openGauss依靠的第三方开源软件,你可以直接编译openGauss-third_party代码获得,也可以从开源社区下载已经编译好的并上传的一个副本。
在编译openGauss之前,请检查操作系统和软件依靠需要。
openGauss可以通过一键式shell工具build.sh进行编译,也可以通过命令进行编译。安装包由build.sh生成。

操作系统和软件依靠需要

openGauss支持以下操作系统:
CentOS 7.6(x86构造)
openEuler-20.03-LTS(aarch64构造)

openGauss数据库管理系统 v2.0.3下载地址

openGauss数据库管理系统 v2.0.3

广告位810*200
相关阅读
openGauss数据库管理系统 v3.0.1

openGauss数据库管理系统 v3.0.1

openGauss是一款开源的关系型数据库管理软件,它具备多核高性能、全链路安全性、智能运维等...

2022-09-07