如何快速部署一套智能化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
主机IP192.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.serviceviceRemoved 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 ~]# localeLANG=en_US.UTF-8LC_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/profileunset iunset -f pathmungeexport LANG=en_US.UTF-8[root@Node1 ~]#
2.13、以上设置完毕,重启主机。

三、openGauss部署流程

3.1、新建管理用户
groupadd gauss -g 4000useradd gauss -g 4000 -u 4000echo "gauss"|passwd --stdin gauss
3.2、创建安装目录
  • 目录规划:

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

代码如下:

mkdir /openGauss /installchmod 755 -R /openGauss /installchown -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.bz2Resolving opengauss.obs.cn-south-1.myhuaweicloud.com (opengauss.obs.cn-s outh-1.myhuaweicloud.com)... 122.9.127.163, 122.9.127.162Connecting 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 OKLength: 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.2s2024-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 settinginstall.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 datanodeThe 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 ... okcreating subdirectories ... in ordinary occasionokcreating configuration files ... okselecting default max_connections ... 100selecting default shared_buffers ... 1024MBBegin 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 directory2024-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 1821352okinitializing pg_authid ... oksetting password ... okinitializing dependencies ... okloading PL/pgSQL server-side language ... okcreating system views ... okcreating performance views ... okloading system objects' descriptions ... okcreating collations ... okcreating conversions ... okcreating dictionaries ... oksetting privileges on built-in objects ... okinitialize global configure for bucketmap length ... okcreating information schema ... okloading foreign-data wrapper for distfs access ... okloading foreign-data wrapper for log access ... okloading hstore extension ... okloading foreign-data wrapper for MOT access ... okloading security plugin ... okupdate system tables ... okcreating snapshots catalog ... okvacuuming database template1 ... okcopying template1 to template0 ... okcopying template1 to postgres ... okfreezing database template0 ... okfreezing database template1 ... okfreezing database postgres ... okWARNING: enabling "trust" authentication for local connectionsYou 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_nodeorgs_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: Node10 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: dbCluster0 LOG: [Alarm Module]Invalid data in AlarmItem file! Read alarm English name failed! line: 570 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 directory2024-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: Node12024-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: dbCluster2024-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: 572024-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 sockets2024-08-22 13:45:25.627 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [BACKEND] WARNING: could not create any HA TCP/IP sockets2024-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 MB2024-08-22 13:45:25.630 [unknown] [unknown] localhost 140182952991360 0[0:0#0] 0 [BACKEND] LOG: reserved memory for WAL buffers is: 128 MB2024-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 MB2024-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 Mbytes2024-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: 5122024-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" success2024-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 = 14The core dump path is an invalid directory2024-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/A2024-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/A2024-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/A2024-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 fileWould you like to create a demo database (yes/no)? yesLoad 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_nodebash: 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_nodegs_ctl: server is running (PID: 2070)/openGauss/bin/gaussdb "-D" "/openGauss/data/single_node"[gauss@Node1 ~]$
3.8、登录主备数据库
[gauss@Node1 simpleInstall]$ gsql -dpostgres -Ugauss -rgsql ((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.conflisten_addresses = '*'password_encryption_type = 1vi $GAUSSHOME/data/single_node/pg_hba.confhost 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_nodebash: 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充分运用智能化来优化运营效率以及提升用户体验方面的重要性。

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于SpringBoot+Vue+uniapp微信小程序的婚庆摄影小程序的详细设计和实现(源码+lw+部署文档+讲解等)

项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念&#xff0c;提供了一套默认的配置&#xff0c;让开发者可以更专注于业务逻辑而不是配置文件。Spring Boot 通过自动化配置和约…

在docker的容器内如何查看Ubuntu系统版本

文章目录 写在前面一、问题描述二、解决方法参考链接 写在前面 自己的测试环境&#xff1a; docker 一、问题描述 由于 lsb_release -a 只能查看自己电脑&#xff08;宿主机&#xff09;的系统版本&#xff0c;如果在docker的容器内又应该如何查看Ubuntu系统版本呢&#xff…

机器学习—学习率的选择

如果你选择适当的学习率&#xff0c;你的学习算法将运行得更好&#xff0c;如果太小&#xff0c;它会跑得很慢&#xff0c;如果太大&#xff0c;它甚至可能不会收敛&#xff0c;那么如何为模型选择一个好的学习率呢&#xff1f; 如果绘制多次迭代的成本&#xff0c;注意到成本…

深度学习笔记20_数据增强

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 一、我的环境 1.语言环境&#xff1a;Python 3.9 2.编译器&#xff1a;Pycharm 3.深度学习环境&#xff1a;TensorFlow 2.10.0 二、GPU设置…

LLM实践--支线:拯救Continue Pretrain的数据

背景 首先介绍下什么是Continue Pretrain&#xff08;CP&#xff09;。CP 和 Pretrain、SFT一样指的是 LLM 训练的一个阶段&#xff0c;在前大模型时代还被称作Post Pretrain。CP 是在Pretrain和SFT之间的训练阶段&#xff0c;目的是为模型注入领域知识&#xff0c;这个领域是…

mqtt客户端订阅一直重复连接?

文章 前言错误场景问题分析解决方案后言 前言 ✨✨ 他们是天生勇敢的开发者&#xff0c;我们创造bug&#xff0c;传播bug&#xff0c;毫不留情地消灭bug&#xff0c;在这个过程中我们创造了很多bug以供娱乐。 前端bug这里是博主总结的一些前端的bug以及解决方案&#xff0c;感兴…

解决使用MobaXterm不能向Ubuntu上传下载文件的问题

如上图所示 解决方案 新建连接&#xff0c;使用root账户建立ssh会话&#xff0c;就是建立会话的时候&#xff0c;用户名使用root。ubuntu系统默认不允许远程root账户建立连接&#xff0c;表现就是你新建ssh会话&#xff0c;在第一步输入root密码的时候&#xff0c;密码正确会报…

一文探索RareShop:首个面向消费者的RWA NFT商品发售平台

作者&#xff1a;Weilin&#xff0c;PANews 本轮牛市中&#xff0c;加密消费级应用正成为一种热门趋势&#xff0c;比如pump.fun和Polymarket等产品已成为C端用户的明星。加密货币正日益渗透到日常消费者的产品、服务和行为中。这意味着加密货币的使用不再局限于投机交易或去中…

appium启动hbuild打包的apk异常解决

目录 一、错误信息 二、问题解决 2.1 通过以下命令获取安装包名称&#xff1a; 2.2 这个launcher状态下的安装包名称和active&#xff0c;替换原先的安装包名称 一、错误信息 通过adb shell dumpsys activity | findstr "mResume" 命令获取的安装包信息&#xff…

从零开始学习OMNeT++系列第三弹——新建一个使用INET框架的工程

上一篇学习了如何新建一个omnet的工程&#xff0c;这篇来学习下INET框架以及如何使用INET框架来新建一个工程。 INET框架是什么 INET框架是一个开源模型库&#xff0c;用于OMNeT仿真环境。它为研究者和学生在使用通信网络时提供协议、代理和其他模型。当设计和验证新协议或探…

深入理解计算机系统--计算机系统漫游

对于一段最基础代码的文件hello.c&#xff0c;解释程序的运行 #include <stdio.h>int main() {printf ( "Hello, world\n") ;return 0; }1.1、信息就是位上下文 源程序是由值 0 和 1 组成的位&#xff08;比特&#xff09;序列&#xff0c;8 个位被组织成一组…

安防监控摄像头图传模组,1公里WiFi无线传输方案,监控新科技

在数字化浪潮汹涌的今天&#xff0c;安防监控领域也迎来了技术革新的春风。今天&#xff0c;我们就来聊聊这一领域的产品——摄像头图传模组&#xff0c;以及它如何借助飞睿智能1公里WiFi无线传输技术&#xff0c;为安防监控带来未有的便利与高效。 一、安防监控的新篇章 随着…

mysql--基本查询

目录 搞定mysql--CURD操作&#xff0c;细节比较多&#xff0c;不难&#xff0c;贵在多多练 1、Create--创建 &#xff08;1&#xff09;单行插入 / 全列插入 &#xff08;2&#xff09;插入否则替换 &#xff08;3&#xff09;替换 2、Retuieve--select 1&#xff09;全…

FreeRTOS - 软件定时器

在学习FreeRTOS过程中&#xff0c;结合韦东山-FreeRTOS手册和视频、野火-FreeRTOS内核实现与应用开发、及网上查找的其他资源&#xff0c;整理了该篇文章。如有内容理解不正确之处&#xff0c;欢迎大家指出&#xff0c;共同进步。 1. 软件定时器 软件定时器也可以完成两类事情…

JDK-23与JavaFX的安装

一、JDK-23的安装 1.下载 JDK-23 官网直接下载&#xff0c;页面下如图&#xff1a; 2.安装 JDK-23 2.1、解压下载的文件 找到下载的 ZIP 文件&#xff0c;右键点击并选择“解压到指定文件夹”&#xff0c;将其解压缩到您希望的目录&#xff0c;例如 C:\Program Files\Java\…

多进程思维导图

1> 思维导图 2> 使用父子进程完成两个文件的拷贝&#xff0c;父进程拷贝前一半&#xff0c;子进程拷贝后一半&#xff0c;两个进程同时进行&#xff08;君子作业&#xff09; #include <myhead.h> typedef struct sockaddr_in addr_in_t; typedef struct sockaddr…

毕业设计选题:基于django+vue的个人博客系统设计与开发

开发语言&#xff1a;Python框架&#xff1a;djangoPython版本&#xff1a;python3.7.7数据库&#xff1a;mysql 5.7数据库工具&#xff1a;Navicat11开发软件&#xff1a;PyCharm 系统展示 管理员登录 管理员功能界面 博主管理 博客文章管理 博文排行管理 博文打赏管理 博文…

Spring 的依赖注入的最常见方式

在 Spring 中&#xff0c;依赖注入的方式有多种选择。下面我们来逐一分析它们的特点、适用场景和注意事项&#xff1a; 1. 构造函数注入 构造函数注入要求在对象创建时提供所有依赖。这种方式确保依赖在对象创建后不可变&#xff0c;特别适合必须强制存在的依赖。所有依赖在对…

JavaWeb 22.Node.js_简介和安装

有时候&#xff0c;后退原来是向前 —— 24.10.7 一、什么是Node.js Node.js 是一个于 Chrome V8 的 JavaScript 运行时环境&#xff0c;可以使 JavaScript 运行在服务器端。使用 Node.js&#xff0c;可以方便地开发服务器端应用程序&#xff0c;如 Web 应用、API、后端服务&a…

Python 工具库每日推荐 【FastAPI】

文章目录 引言Web 框架的重要性今日推荐:FastAPI Web 框架主要功能:使用场景:安装与配置快速上手示例代码代码解释实际应用案例案例:构建一个简单的博客 API案例分析高级特性依赖注入系统后台任务扩展阅读与资源优缺点分析优点:缺点:总结【 已更新完 TypeScript 设计模式…