如何快速部署一套智能化openGauss测试环境

一、openGauss介绍

openGauss是一款开源关系型数据库管理系统,采用木兰宽松许可证v2发行,允许用户*地复制、使用、修改和分发软件。openGauss内核深度融合了华为在数据库领域多年的研发经验,结合企业级场景需求,持续构建竞争力特性。旨在为企业级应用提供高性能、高可靠性、高安全性的数据库解决方案。

二、openGauss部署流程

2.1、软硬件环境要求

介绍openGauss的软硬件环境要求。建议部署openGauss的各服务器具有等价的软硬件配置。

  • 表 1 硬件环境要求

    介绍openGauss的软硬件环境要求。建议部署openGauss的各服务器具有等价的软硬件配置。
    -表1 列出了openGauss服务器应具备的最低硬件要求。在实际产品中,硬件配置的规划需考虑数据规模及所期望的数据库响应速度。请根据实际情况进行规划。

题目 配置描述
内存 功能调试建议32GB以上。性能测试和商业部署时,单实例部署建议128GB以上。复杂的查询对内存的需求量比较高,在高并发场景下,可能出现内存不足。此时建议使用大内存的机器,或使用负载管理限制系统的并发。
CPU 功能调试最小1×8核,2.0GHz。性能测试和商业部署时,建议1×16核,2.0GHz。CPU超线程和非超线程两种模式都支持。说明:个人开发者最低配置2核4G,推荐配置4核8G。目前,openGauss仅支持ARM服务器和基于x86_64通用PC服务器的CPU。
硬盘 用于安装openGauss的硬盘需最少满足如下要求:至少1GB用于安装openGauss的应用程序。每个主机需大约300MB用于元数据存储。预留70%以上的磁盘剩余空间用于数据存储。建议系统盘配置为RAID1,数据盘配置为RAID5,且规划4组RAID5数据盘用于安装openGauss。有关RAID的配置方法在本手册中不做介绍。请参考硬件厂家的手册或互联网上的方法进行配置,其中Disk Cache Policy一项需要设置为Disabled,否则机器异常掉电后有数据丢失的风险。openGauss支持使用SSD盘作为数据库的主存储设备,支持SAS接口和NVME协议的SSD盘,以RAID的方式部署使用。
网络要求 300兆以上以太网。建议网卡设置为双网卡冗余bond。有关网卡冗余bond的配置方法在本手册中不做介绍。请参考硬件厂商的手册或互联网上的方法进行配置。
  • 表 2 软件环境要求

软件类型 配置描述
Linux操作系统 ARM:openEuler 20.03LTS(推荐采用此操作系统)openEuler 22.03LTS 麒麟V10 Asianux 7.5 x86:openEuler 20.03LTS openEuler 22.03LTS entOS 7.6 Asianux 7.6 。说明:1、当前安装包只能在英文操作系统上安装使用;2、OM工具已经支持对基于openEuler/Centos等商业操作系统的安装使用,具体配置信息可以查看OM中的osid.conf文件。
Linux文件系统 剩余inode个数 > 15亿(推荐)
工具 bzip2
Python 支持Python3.6+
  • 表 3 软件依赖要求

所需软件 建议版本
libaio-devel 建议版本:0.3.109-13
readline-devel 建议版本:7.0-13
libnsl(openEuler+x86环境中) 建议版本:2.28-36
  • openGauss的软件依赖要求如表3 所示。
    建议使用上述操作系统安装光盘或者源中,下列依赖软件的默认安装包,若不存在下列软件,可参看软件对应的建议版本。

2.2、环境规划
类型 名称
主机名称 Node1
主机IP 192.168.1.101
操作系统版本 CentOS 7.9
openGauss版本 openGauss_6.0.0-RC1 极简版
部署方式 单机模式
2.3、检查环境
  • 操作系统版本:

[root@Node1 ~]#[root@Node1 ~]# cat /etc/redhat-releaseCentOS Linux release 7.9.2009 (Core)[root@Node1 ~]#
  • CPU核数:

    [root@Node1 ~]# cat /proc/cpuinfo | grep "physical id" | uniq | wc -l [root@Node1 ~]#

  • 内存大小:

    [root@Node1 ~]# free -h              total        used        free      shared  buff/cache   availableMem:           7.6G        1.8G        3.6G        304M        2.3G        5.3GSwap:          4.0G          0B        4.0G[root@Node1 ~]#

2.4、安装依赖
yum install bzip2 libaio-devel readline-devel wget

2.5、检查Python版本

[root@Node1 ~]# python --versionPython 2.7.5[root@Node1 ~]#[root@Node1 ~]# python3 --version-bash: python3: command not found[root@Node1 ~]#
  • 说明:本例未安装Python3,需安装Python3.


图片

代码如下:

yum install python3

2.6、关闭SELINUX

[root@Node1 ~]# sed -i  "s/SELINUX=enforcing/SELINUX=disabled/"  /etc/selinux/config[root@Node1 ~]#
2.7、关闭RemoveIPC
  • 说明:在各数据库节点上,关闭RemoveIPC。CentOS操作系统默认为关闭,可以跳过该步骤。

  1. [root@Node1 ~]#

  2. [root@Node1 ~]# cat>>/etc/systemd/logind.conf<<EOF

  3. > RemoveIPC=no

  4. > EOF

  5. [root@Node1 ~]#

  6. [root@Node1 ~]#

  7. [root@Node1 ~]# cat>>/usr/lib/systemd/system/systemd-logind.service<<EOF

  8. > RemoveIPC=no

  9. > EOF

  10. [root@Node1 ~]#

2.8、修改内核
  1. sysctl -w kernel.sem="250 85000 250 330"

2.9、关闭防火墙
[root@Node1 ~]#

[root@Node1 ~]# systemctl disable firewalld.service

viceRemoved symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.

Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

[root@Node1 ~]# systemctl stop firewalld.service

[root@Node1 ~]#



systemctl disable firewalld
2. 10、检查服务器主机时间
  1. [root@Node1 ~]# date

  2. Tue Aug 20 14:57:50 CST 2024

  3. [root@Node1 ~]#

  • 说明:如果当前时间与本地时间不一致,需修改。

2.11、关闭HISTORY记录
  1. [root@Node1 ~]# sed -i “s/HISTSIZE=1000/HISTSIZE=0/” /etc/profile

  2. [root@Node1 ~]#

2.12、修改字符集

查看本地字符集:

[root@Node1 ~]# locale

LANG=en_US.UTF-8

LC_CTYPE="en_US.UTF-8"

LC_NUMERIC="en_US.UTF-8"

LC_TIME="en_US.UTF-8"

LC_COLLATE="en_US.UTF-8"

LC_MONETARY="en_US.UTF-8"

LC_MESSAGES="en_US.UTF-8"

LC_PAPER="en_US.UTF-8"

LC_NAME="en_US.UTF-8"

LC_ADDRESS="en_US.UTF-8"

LC_TELEPHONE="en_US.UTF-8"

LC_MEASUREMENT="en_US.UTF-8"

LC_IDENTIFICATION="en_US.UTF-8"

LC_ALL=
  • 修改字符集:

[root@Node1 ~]#

[root@Node1 ~]# cat>> /etc/profile<<EOF

> export LANG=en_US.UTF08

> EOF

[root@Node1 ~]#
  • 查看字符集:

[root@Node1 ~]#

[root@Node1 ~]# cat /etc/profile

# /etc/profile

unset i

unset -f pathmunge

export LANG=en_US.UTF-8

[root@Node1 ~]#
2.13、以上设置完毕,重启主机。

三、openGauss部署流程

3.1、新建管理用户
groupadd gauss -g 4000

useradd gauss -g 4000 -u 4000

echo "gauss"|passwd --stdin gauss
3.2、创建安装目录
  • 目录规划:

名称 用途
openGauss 数据库安装的主目录
install 安装包上传目录

代码如下:

mkdir /openGauss /install

chmod 755 -R /openGauss /install

chown -R gauss:gauss /openGauss /install
3.3、配置sudo,使用root账户
sed -i.bak '100agauss ALL=(ALL) NOPASSWD:ALL' /etc/sudoers
3.4、安装包下载

官网地址:https://opengauss.org/zh/download/

  • 说明:

    1、根据操作系统,下载对应安装包;
    2、下载方式:在线下载,离线下载;
    3、切换gauss用户;
    4、本案例下载极简版部署。

图片

  • 代码如下:

[gauss@Node1 root]$ cd /install/

[gauss@Node1 install]$

[gauss@Node1 install]$ wget https://opengauss.obs.cn-south-1.myhuaweiclo ud.com/6.0.0-RC1/x86/openGauss-6.0.0-RC1-CentOS-64bit.tar.bz2

--2024-08-22 13:50:00-- https://opengauss.obs.cn-south-1.myhuaweicloud. com/6.0.0-RC1/x86/openGauss-6.0.0-RC1-CentOS-64bit.tar.bz2

Resolving opengauss.obs.cn-south-1.myhuaweicloud.com (opengauss.obs.cn-s outh-1.myhuaweicloud.com)... 122.9.127.163, 122.9.127.162

Connecting to opengauss.obs.cn-south-1.myhuaweicloud.com (opengauss.obs. cn-south-1.myhuaweicloud.com)|122.9.127.163|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 104672194 (100M) [application/x-bzip2]

Saving to: ‘openGauss-6.0.0-RC1-CentOS-64bit.tar.bz2’



100%[==============================>] 104,672,194 8.51MB/s in 9.2s



2024-08-22 13:50:10 (10.9 MB/s) - ‘openGauss-6.0.0-RC1-CentOS-64bit.tar. bz2’ saved [104672194/104672194]



[gauss@Node1 install]$
3.5、解压安装包
[gauss@Node1 install]$

[gauss@Node1 install]$ tar -jxf openGauss-6.0.0-RC1-CentOS-64bit.tar.bz2 -C /openGauss/

[gauss@Node1 install]$
3.6、切换目录进行部署
[gauss@Node1 install]$

[gauss@Node1 install]$ cd /openGauss/

[gauss@Node1 openGauss]$ cd simpleInstall/

[gauss@Node1 simpleInstall]$

[gauss@Node1 simpleInstall]$ sh install.sh -w "openGauss@123" &&source ~/.bashrc

[step 1]: check parameter

[step 2]: check install env and os setting

install.sh: line 91: netstat: command not found

[step 3]: change_gausshome_owner

[step 4]: set environment variables

/home/gauss/.bashrc: line 16: ulimit: open files: cannot modify limit: Operation not permitted

[step 6]: init datanode

The files belonging to this database system will be owned by user "gauss".

This user must also own the server process.

The database cluster will be initialized with locale "en_US.UTF-8".

The default database encoding has accordingly been set to "UTF8".

The default text search configuration will be set to "english".

creating directory /openGauss/data/single_node ... ok

creating subdirectories ... in ordinary occasionok

creating configuration files ... ok

selecting default max_connections ... 100

selecting default shared_buffers ... 1024MB

Begin init undo subsystem meta.

[INIT UNDO] Init undo subsystem meta successfully.

creating template1 database in /openGauss/data/single_node/base/1 ... The core dump path is an invalid directory

2024-08-22 13:45:08.379 [unknown] [unknown] localhost 140231013186176 0[0:0#0] [BACKEND] WARNING: macAddr is 12/688892526, sysidentifier is 796943/2859364144, randomNum is 1821352

ok

initializing pg_authid ... ok

setting password ... ok

initializing dependencies ... ok

loading PL/pgSQL server-side language ... ok

creating system views ... ok

creating performance views ... ok

loading system objects' descriptions ... ok

creating collations ... ok

creating conversions ... ok

creating dictionaries ... ok

setting privileges on built-in objects ... ok

initialize global configure for bucketmap length ... ok

creating information schema ... ok

loading foreign-data wrapper for distfs access ... ok

loading foreign-data wrapper for log access ... ok

loading hstore extension ... ok

loading foreign-data wrapper for MOT access ... ok

loading security plugin ... ok

update system tables ... ok

creating snapshots catalog ... ok

vacuuming database template1 ... ok

copying template1 to template0 ... ok

copying template1 to postgres ... ok

freezing database template0 ... ok

freezing database template1 ... ok

freezing database postgres ... ok

WARNING: enabling "trust" authentication for local connections

You can change this by editing pg_hba.conf or using the option -A, or

--auth-local and --auth-host, the next time you run gs_initdb.

Success. You can now start the database server of single node using:

gaussdb -D /openGauss/data/single_node --single_node

or

gs_ctl start -D /openGauss/data/single_node -Z single_node -l logfile

[step 7]: start datanode

[2024-08-22 13:45:25.533][17277][][gs_ctl]: gs_ctl started,datadir is /openGauss/data/single_node

[2024-08-22 13:45:25.559][17277][][gs_ctl]: waiting for server to start...

.0 LOG: [Alarm Module]can not read GAUSS_WARNING_TYPE env.

0 LOG: [Alarm Module]Host Name: Node1

0 LOG: [Alarm Module]Host IP: Node1. Copy hostname directly in case of taking 10s to use 'gethostbyname' when /etc/hosts does not contain <HOST IP>

0 LOG: [Alarm Module]Cluster Name: dbCluster

0 LOG: [Alarm Module]Invalid data in AlarmItem file! Read alarm English name failed! line: 57

0 WARNING: failed to open feature control file, please check whether it exists: FileName=gaussdb.version, Errno=2, Errmessage=No such file or directory.

0 WARNING: failed to parse feature control file: gaussdb.version.

0 WARNING: Failed to load the product control file, so gaussdb cannot distinguish product version.

The core dump path is an invalid directory

2024-08-22 13:45:25.617 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [BACKEND] LOG: when starting as multi_standby mode, we couldn't support data replicaton.

2024-08-22 13:45:25.617 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [BACKEND] LOG: base_page_saved_interval is 400, ori is 400.

gaussdb.state does not exist, and skipt setting since it is optional.2024-08-22 13:45:25.623 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [BACKEND] LOG: [Alarm Module]can not read GAUSS_WARNING_TYPE env.

2024-08-22 13:45:25.623 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [BACKEND] LOG: [Alarm Module]Host Name: Node1

2024-08-22 13:45:25.623 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [BACKEND] LOG: [Alarm Module]Host IP: Node1. Copy hostname directly in case of taking 10s to use 'gethostbyname' when /etc/hosts does not contain <HOST IP>

2024-08-22 13:45:25.623 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [BACKEND] LOG: [Alarm Module]Cluster Name: dbCluster

2024-08-22 13:45:25.623 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [BACKEND] LOG: [Alarm Module]Invalid data in AlarmItem file! Read alarm English name failed! line: 57

2024-08-22 13:45:25.625 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [BACKEND] LOG: loaded library "security_plugin"

2024-08-22 13:45:25.627 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [BACKEND] WARNING: could not create any HA TCP/IP sockets

2024-08-22 13:45:25.627 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [BACKEND] WARNING: could not create any HA TCP/IP sockets

2024-08-22 13:45:25.629 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [BACKEND] LOG: InitNuma numaNodeNum: 1 numa_distribute_mode: none inheritThreadPool: 0.

2024-08-22 13:45:25.630 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [BACKEND] LOG: reserved memory for backend threads is: 220 MB

2024-08-22 13:45:25.630 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [BACKEND] LOG: reserved memory for WAL buffers is: 128 MB

2024-08-22 13:45:25.630 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [BACKEND] LOG: Set max backend reserve memory is: 348 MB, max dynamic memory is: 8141 MB

2024-08-22 13:45:25.630 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [BACKEND] LOG: shared memory 3286 Mbytes, memory context 8489 Mbytes, max process memory 12288 Mbytes

2024-08-22 13:45:25.658 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [CACHE] LOG: set data cache size(402653184)

2024-08-22 13:45:25.679 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [SEGMENT_PAGE] LOG: Segment-page constants: DF_MAP_SIZE: 8156, DF_MAP_BIT_CNT: 65248, DF_MAP_GROUP_EXTENTS: 4175872, IPBLOCK_SIZE: 8168, EXTENTS_PER_IPBLOCK: 1021, IPBLOCK_GROUP_SIZE: 4090, BMT_HEADER_LEVEL0_TOTAL_PAGES: 8323072, BktMapEntryNumberPerBlock: 2038, BktMapBlockNumber: 25, BktBitMaxMapCnt: 512

2024-08-22 13:45:25.691 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [BACKEND] LOG: gaussdb: fsync file "/openGauss/data/single_node/gaussdb.state.temp" success

2024-08-22 13:45:25.691 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [BACKEND] LOG: create gaussdb state file success: db state(STARTING_STATE), server mode(Normal), connection index(1)

2024-08-22 13:45:25.714 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [BACKEND] LOG: max_safe_fds = 976, usable_fds = 1000, already_open = 14

The core dump path is an invalid directory

2024-08-22 13:45:25.715 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [BACKEND] LOG: user configure file is not found, it will be created.

2024-08-22 13:45:25.718 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [BACKEND] LOG: the configure file /openGauss/etc/gscgroup_gauss.cfg doesn't exist or the size of configure file has changed. Please create it by root user!

2024-08-22 13:45:25.718 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [BACKEND] LOG: Failed to parse cgroup config file.

2024-08-22 13:45:25.811 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [EXECUTOR] WARNING: Failed to obtain environment value $GAUSSLOG!

2024-08-22 13:45:25.811 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [EXECUTOR] DETAIL: N/A

2024-08-22 13:45:25.811 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [EXECUTOR] CAUSE: Incorrect environment value.

2024-08-22 13:45:25.811 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [EXECUTOR] ACTION: Please refer to backend log for more details.

2024-08-22 13:45:25.829 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [EXECUTOR] WARNING: Failed to obtain environment value $GAUSSLOG!

2024-08-22 13:45:25.829 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [EXECUTOR] DETAIL: N/A

2024-08-22 13:45:25.829 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [EXECUTOR] CAUSE: Incorrect environment value.

2024-08-22 13:45:25.829 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [EXECUTOR] ACTION: Please refer to backend log for more details.

2024-08-22 13:45:25.896 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [EXECUTOR] WARNING: Failed to obtain environment value $GAUSSLOG!

2024-08-22 13:45:25.896 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [EXECUTOR] DETAIL: N/A

2024-08-22 13:45:25.897 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [EXECUTOR] CAUSE: Incorrect environment value.

2024-08-22 13:45:25.897 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [EXECUTOR] ACTION: Please refer to backend log for more details.

[2024-08-22 13:45:29.830][3269][][gs_ctl]: done

[2024-08-22 13:45:29.830][3269][][gs_ctl]: server started (/openGauss/data/single_node)

import sql file

Would you like to create a demo database (yes/no)? yes

Load demoDB [school,finance] success.

[complete successfully]: You can start or stop the database server using:

gs_ctl start|stop|restart -D $GAUSSHOME/data/single_node -Z single_node

bash: ulimit: open files: cannot modify limit: Operation not permitted

[gauss@Node1 simpleInstall]$
3.7、检查主备服务运行情况
[gauss@Node1 ~]$ gs_ctl status -D $GAUSSHOME/data/single_node -Z single_node

[2024-08-22 14:51:09.100][2145][][gs_ctl]: gs_ctl status,datadir is /openGauss/data/single_node

gs_ctl: server is running (PID: 2070)

/openGauss/bin/gaussdb "-D" "/openGauss/data/single_node"

[gauss@Node1 ~]$
3.8、登录主备数据库
[gauss@Node1 simpleInstall]$ gsql -dpostgres -Ugauss -r

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=#

openGauss=#

openGauss=# \q

[gauss@Node1 ~]$
3.9、使用Navicat premium测试连接

前提:

  • 1、修改postgresql.conf

编辑文件:vi $GAUSSHOME/data/single_node/postgresql.conf
取消注释:#listen_addresses = ‘localhost’
改为:listen_addresses = ‘*’
取消注释:#password_encryption_type = 2
改为:password_encryption_type = 1

  • 2、修改pg_hba.conf

操作:修改$GAUSSHOME/data/single_node/pg_hba.conf
在IPV4增加
host all all 0.0.0.0/0 sha256

  • 3、修改内容如下:
vi $GAUSSHOME/data/single_node/postgresql.conf



listen_addresses = '*'

password_encryption_type = 1

vi $GAUSSHOME/data/single_node/pg_hba.conf

host all all 0.0.0.0/0 sha256
  • 4、以上配置信息修改完成后,即可使用Navicat工具登录openGauss数据库。

图片

四、部署问题

4.1、缺少依赖
  • 报错截图如下

图片

  • 原因:未安装bzip2依赖包。

  • 安装bzip2依赖包方案如下图:

图片

4.2、修改内核参数
  • 报错截图如下:

图片

  • 原因:未修改内核参数。

  • 未修改内核参数方案如下图:

图片

4.3、bash: gs_ctl: command not found
  • 说明:在安装openGauss的时候,脚本会在.bashrc文件中自动添加
    ulimit -n 1000000
    在注释掉该配置后,切换用户就正常了。

  • 错误代码如下:

[gauss@Node1 simpleInstall]$

[gauss@Node1 simpleInstall]$ gs_ctl restart -D $GAUSSHOME/data/single_node -Z single_node

bash: gs_ctl: command not found

[gauss@Node1 simpleInstall]$

[gauss@Node1 simpleInstall]$
  • 修改如下:

vi /home/gauss/.bashrc

图片

  • 使修改生效:

    source /home/gauss/.bashrc

五、智能化初体验

5.1、数据库自治运维平台——DBMind
DBMind作为openGauss数据库的一部分,为openGauss数据库提供了自动驾驶能力,是一款领先的开源数据库自治运维平台。通过DBMind, 您可以很容易地发现数据库的问题,同时可以实现秒级的数据库问题根因分析。
5.2、DBMind的特点
  • 架构先进
    DBMind采用了先进的插件化的架构形式,支持海量插件扩展;
  • 支持多种模式
    具备命令行交互式运行、服务式运行;
  • 面向云原生进行设计
    面向云原生进行设计,支持Prometheus,并提供多种丰富的exporter插件;
  • 提供丰富的对接模式
    可以很容易地与现有管理系统进行对接,支持RESTful API、Python SDK、命令行、Prometheus协议等模式;
  • 端到端的全流程自治运维
    支持端到端全流程的数据库自治运维能力,包括慢SQL根因分析、workload索引推荐、多指标关联挖掘、故障自修复、异常检测与根因分析等功能;
5.3、DBMind首页

图片

5.4、DBMind主服务节点信息

图片

5.5、DBMind报警信息

图片

5.6、DBMind智能调优、风险分析

图片

5.7、DBMind参数设置

图片

5.8、DBMind官网地址

部署手册:

https://docs-opengauss.osinfra.cn/zh/docs/latest/docs/AIFeatureGuide/DBMind%E9%83%A8%E7%BD%B2.html

安装包下载地址:

https://opengauss.obs.cn-south-1.myhuaweicloud.com/6.0.0-RC1/dbmind/arm/dbmind-installer-aarch64-python3.11.sh.tar.gz

六、总结

openGauss数据库正在积极集成智能化技术,以提升数据库的性能和运维效率。以下是openGauss智能化的一些关键特点:

  • 自调优:
    openGauss利用机器学习算法对数据库的性能参数进行自动调优,如缓存大小、连接数、查询优化等,以维持最佳性能状态。
  • 自诊断:
    通过实时监控和诊断数据库的运行状态,发现潜在的性能瓶颈和故障风险,为运维人员提供预警和故障排查依据。
  • 自安全:
    集成AI技术实现智能防火墙、入侵检测、数据泄露防护等安全功能,提高数据库的安全防护能力。
  • 自运维:
    实现自动化备份、恢复、扩容等功能,降低运维成本,提高运维效率。
  • 自愈:
    通过自我修复和恢复技术,提高数据库的可用性和稳定性,确保业务的连续性。

 

本文作者:沈阳

简介:目前从事于医疗信息化系统的维护。非常荣幸能在此与各位老师分享我在学习openGauss数据库时的一些见解和经验。

由于近几年的去“O”浪潮,要求我们必须要与时俱进,持续学习国产数据库。openGauss数据库学习,让我认识到要想学好国产数据库,必须学好openGauss数据库。openGauss数据库的学习,不仅深化了我对国产数据库技术的理解。还让我学习到openGauss充分运用智能化来优化运营效率以及提升用户体验方面的重要性。

本人积极参加社区活动、线下交流会、通过公众号等形式分享学习成果,让更多的人了解国产数据库的使用方法,为国产数据库社区贡献自己的力量,为信创国产化增砖添瓦。

上一篇:STM32中断嵌套-二、代码


下一篇:Mysql(八) --- 视图-4. 修改数据