当前位置: 首页 > news >正文

如何快速部署一套智能化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充分运用智能化来优化运营效率以及提升用户体验方面的重要性。

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

相关文章:

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

一、openGauss介绍 openGauss是一款开源关系型数据库管理系统&#xff0c;采用木兰宽松许可证v2发行&#xff0c;允许用户自由地复制、使用、修改和分发软件。openGauss内核深度融合了华为在数据库领域多年的研发经验&#xff0c;结合企业级场景需求&#xff0c;持续构建竞争力…...

【设计模式】深入理解Python中的原型设计模式

深入理解Python中的原型设计模式 在软件开发中&#xff0c;有时需要创建对象的过程非常复杂或者代价较高&#xff0c;而在同一类对象的实例之间有很多重复的属性。为了避免重复构造对象&#xff0c;提升性能和效率&#xff0c;原型设计模式&#xff08;Prototype Pattern&…...

Django CORS配置方案

参考 https://pypi.org/project/django-cors-headers/ 在setting.py中设置 INSTALLED_APPS [......corsheaders, #添加此行 ]MIDDLEWARE[......corsheaders.middleware.CorsMiddleware, #添加此行django.middleware.common.CommonMiddleware,#django.middleware.csrf.CsrfVi…...

2024年开放式耳机哪个牌子好?推荐最好的顶级开放式耳机品牌

在当下&#xff0c;开放式耳机逐渐成为众多消费者的新宠。与传统入耳式耳机相比&#xff0c;开放式耳机展现出诸多独特之处。它可以呈现出更清晰的音质效果&#xff0c;让用户有更美妙的听觉体验。在佩戴感上&#xff0c;开放式耳机更为舒适&#xff0c;不会给耳朵带来压迫感。…...

零基础读懂Stable Diffusion!

前言 一文搞懂Stable Diffusion是什么&#xff0c;怎么训练和使用&#xff0c;语义信息影响生成图片的过程。>>[][加入极市CV技术交流群&#xff0c;走在计算机视觉的最前沿] 前几个月AIGC可谓是大热了一把&#xff0c;各种高质量的生成图片层出不穷&#xff0c;而其中…...

Hash Join 和 Index Join工作原理和性能差异

在数据库查询中&#xff0c;Hash Join 和 Index Join 是两种常见的表连接策略。了解它们的工作原理和性能差异有助于设计高效的数据库查询。我们可以使用 Java 模拟这两种不同的连接方式&#xff0c;并进行性能对比。 1. Hash Join 和 Index Join 的概念&#xff1a; Hash Joi…...

Apifox简介及使用

Apifox 是一款集 API文档管理、接口调试、接口自动化测试 和 Mock 功能于一体的全功能工具&#xff0c;旨在为开发者和测试人员提供一个高效的一站式解决方案。它融合了 Postman、Swagger、JMeter 等工具的优势&#xff0c;能够极大地提升团队协作和 API 开发的效率。 在实际开…...

十、IPD 实施细节(产品设计与开发管理)

产品设计与开发管理 产品设计与开发管理是IPD(集成产品开发)实施过程中的核心环节。它确保从概念设计到最终产品的实现能够按照预定的质量、成本、进度目标顺利完成,并与市场需求、技术发展及企业战略保持一致。IPD强调产品设计与开发管理过程中跨职能团队的协作、流程的系…...

MySQL-13.DQL-聚合函数

一.DQL-分组查询 二.聚合函数 -- DQL:分组查询 -- 聚合函数 -- 1.统计该企业员工数量 count select count(id) from tb_emp; select count(job) from tb_emp;select count(A) from tb_emp; select count(*) from tb_emp;-- 2.统计该企业最早入职的员工 min select min(entr…...

为什么跟别人学习如何证明定理要远比使用定理更有意义

目录 背景 为什么跟别人学习 什么是高人&#xff0c;如何判断 高人定义 如何判断一个人的能力&#xff1f; 如何考量一个人的成就&#xff1f; 只知道使用定理的局限性 1. 缺乏灵活性和适应性 2. 无法创新或拓展新方法 3. 容易误用或误解定理 4. 难以推理和分析复杂问…...

Qt在Win,Mac和Linux的开机自启设置

Windows Windows 使用注册表来管理开机自启的应用程序。 void runWithSystem(const QString& name, const QString& path, bool autoRun) {QSetting reg("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", QSetting::NativeForma…...

spring boot热部署

使用热部署解决了每次都需要重新启动的问题&#xff0c;但不过热部署的在对于改动比较小时速度可能快一些&#xff0c;改动大的话尽量停止 1.使用热部署之前需要在pom.xml文件中导入依赖 <dependency><groupId>org.springframework.boot</groupId><artifa…...

网关与蓝牙网关有什么不同之处?

尽管蓝牙网关也属于网关的一种&#xff0c;但在实际应用和功能特性上&#xff0c;它们之间存在着显著的差异。接下来&#xff0c;我们将深入探讨蓝牙网关的独特之处&#xff0c;并与传统网关进行对比分析。 一、网关与蓝牙网关的共同之处 一对多配对能力&#xff1a;无论是网关…...

JAVA计算双十一多产品实付款优惠券的省钱方案

为了计算双十一期间多产品使用优惠券后的实付款省钱方案&#xff0c;我们需要一个更复杂的逻辑来处理优惠券的应用和叠加规则。以下是一个简化的Java示例&#xff0c;用于展示如何计算多种优惠券应用于多个产品后的实付款金额&#xff0c;并找出最省钱的方案。 首先&#xff0…...

零售行业的数字化营销转型之路

一方面&#xff0c;市场竞争激烈&#xff0c;电商平台、新兴品牌和跨界对手带来巨大压力。另一方面&#xff0c;消费者需求变化迅速&#xff0c;更加追求个性化、多元化和便捷化的购物体验&#xff0c;同时传统零售企业还面临着高成本压力&#xff0c;如租金、人力和库存等。 然…...

js的for in 和 for of的详解

for...in 和 for...of 是 JavaScript 中的两种循环结构&#xff0c;它们用于不同的场景&#xff0c;适用于不同的数据类型。下面将详细介绍它们的用法、区别以及适用场景。 1. for...in 循环 for...in 用于遍历对象的可枚举属性&#xff08;包括继承的属性&#xff09;。 语…...

前端工具函数库

流行的前端工具函数库 lodashlodash-es&#xff1a;用lodash-es代替lodashes-toolkit&#xff1a;https://www.npmjs.com/package/es-toolkitradash&#xff1a;https://github.com/sodiray/radash 补充信息&#xff1a; antd-mobile 已不再依赖 lodash&#xff0c; 淘汰 lo…...

Java程序设计:Spring boot(4)——Freemarker Thymeleaf视图技术集成

1 Freemarker 视图集成 SpringBoot 内部⽀持 Freemarker 视图技术的集成&#xff0c;并提供了⾃动化配置类 FreeMarkerAuto Configuration&#xff0c;借助⾃动化配置可以很⽅便的集成 Freemarker基础到 SpringBoot 环境中。这⾥借助⼊⻔项⽬引⼊ Freemarker 环境配置。 Start…...

JavaScript 第19章:Web Storage

在JavaScript中&#xff0c;Web存储&#xff08;Web Storage&#xff09;提供了一种在用户浏览器中持久化数据的方式。这里我们会探讨localStorage、sessionStorage以及IndexedDB&#xff0c;并提供一些简单的示例代码来展示它们的用法。 localStorage localStorage允许你在用…...

[山河2024] week2

官方WP出得很快。对照官的写下私的。大概出入不大&#xff0c;毕竟第2周。后边的才难。 Crypto E&R RSA因子分解题&#xff0c;把q的2进制反转后与p异或。关于异或的题很多&#xff0c;这个还真是头一回见&#xff0c;不过爆破方法还是一样的。 r_q int(bin(q)[2:][::…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享

平时用 iPhone 的时候&#xff0c;难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵&#xff0c;或者买了二手 iPhone 却被原来的 iCloud 账号锁住&#xff0c;这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库&#xff0c;例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体&#xff0c;比如 SnowballFight、Huggy the Do…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

MySQL 8.0 事务全面讲解

以下是一个结合两次回答的 MySQL 8.0 事务全面讲解&#xff0c;涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容&#xff0c;并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念&#xff08;ACID&#xff09; 事务是…...

Golang——7、包与接口详解

包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...

Visual Studio Code 扩展

Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后&#xff0c;命令 changeCase.commands 可预览转换效果 EmmyLua…...