openGauss详细介绍
概述
openGauss是华为推出的一款全面友好开放的企业级开源关系型数据库。
它采用客户端/服务器、单进程多线程架构,并提供面向多核架构的极致性能、全链路的业务、数据安全、基于AI的调优和高效运维的能力。
openGauss深度融合了华为在数据库领域多年的研发经验,结合企业级场景需求,持续构建竞争力特性。
基本功能与特性
支持标准SQL: openGauss支持SQL92/SQL99/SQL2003/SQL2011等标准。
开发接口: 提供ODBC和JDBC接口,支持多平台。
高性能: 面向多核架构的并发控制技术,结合鲲鹏硬件优化方案。
高可用: 支持主备同步、异步以及级联备机多种部署模式。
高安全: 提供全密态计算、访问控制、加密认证、数据库审计、动态数据脱敏等安全特性。
易运维: 基于AI的智能参数调优和索引推荐,慢SQL诊断,多维性能自监控视图等。
全开放: 采用木兰宽松许可证协议,允许对代码自由修改,使用,引用。
存储引擎与性能优化
混合存储引擎: 支持行存储、列存储和内存存储引擎。
Numa-Aware数据结构: 针对当前硬件多核numa的架构趋势,在内核关键结构上采用了Numa-Aware的数据结构。
Sql-bypass智能快速引擎技术: 针对特定场景提供更快的查询速度。
ustore存储引擎: 针对数据频繁更新的场景,提供ustore存储引擎。
应用场景
交易型应用: 适用于大并发、大数据量的交易型应用,如电商、金融等。
物联网数据: 适用于工业监控、智慧城市、智能家居、车联网等物联网场景。
高斯数据库安装配置
一、安装准备
1.1安装流程
openGauss支持单机部署和单机HA部署两种部署方式: 单机部署:可在一个主机部署多个数据库实例 单机HA部署:支持一台主机和最少一台备机,备机一共最多8台的配置方式。
流程:
1.2 硬件环境要求
|.项目 |.配置描述 | |内存|<.功能调试建议32GB以上。 性能测试和商业部署时,单实例部署建议128GB以上。 复杂的查询对内存的需求量比较高,在高并发场景下,可能出现内存不足。此时建议使用大内存的机器,或使用负载管理限制系统的并发。| |CPU|<.功能调试最小1×8核,2.0GHz。 性能测试和商业部署时,单实例部署建议1×16核,2.0GHz。 CPU超线程和非超线程两种模式都支持。 说明: 目前,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的配置方法在本手册中不做介绍。请参考硬件厂商的手册或互联网上的方法进行配置。|
1.3 软件环境要求
|.软件类型 |.配置描述 | |Linux操作系统|<.ARM: openEuler 20.03LTS(推荐采用此操作系统) 麒麟V10 Asianux 7.5 x86: openEuler 20.03LTS CentOS 7.6 Asianux 7.6 说明: 当前安装包只能在英文操作系统上安装使用。| |Linux文件系统|<. 剩余inode个数 > 15亿(推荐)| |工具|<.bzip2| |Python|openEuler:支持Python 3.7.X CentOS:支持Python 3.6.X 麒麟:支持Python 3.7.X Asianux:支持Python 3.6.X 说明: python需要通过–enable-shared方式编译。|
1.4 软件依赖包
|.所需软件 |.建议版本 | |libaio-devel|建议版本:0.3.109-13| |flex|要求版本:2.5.31 以上| |bison|建议版本:2.7-4| |ncurses-devel|建议版本:5.9-13.20130511| |glibc-devel|建议版本:2.17-111| |patch|建议版本:2.7.1-10| |redhat-lsb-core|建议版本:4.1| |readline-devel|建议版本:7.0-13| |libnsl(openEuler+x86环境中)|建议版本:2.28-36|
配置yum源
cd /etc/yum.repos.d/
mkdir bak
mv *.repo bak
mount /dev/cdrom /media/
vi centos.repo
[c7-media]
name=CentOS-$releasever – Media
baseurl=file:///media/
gpgcheck=0
enabled=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
yum -y install libaio-devel flex bison ncurses-devel glibc-devel patch redhat-lsb-core readline-devel python3
所需要环境: |操作系统|CentOS 7.6| |虚拟环境|Vmware 16.1.2| |数据库|openGauss 3.1.0|
1.5. 安装包下载
1.5.1 安装包下载-centos 7.6
下载地址3个 http://archive.kernel.org/centos-vault/7.6.1810/isos/x86_64/ http://linuxsoft.cern.ch/centos-vault/7.6.1810/isos/x86_64/ * 选择DVD版本就行 经过测试,下面这个源下载速度比较快 http://mirror.nsc.liu.se/centos-store/7.6.1810/isos/x86_64/
1.5.2 安装包下载-openEuler 20.03LTS
下载地址
https://repo.openeuler.org/openEuler-20.03-LTS-SP3/ISO/x86_64/ * 选择DVD版本就行
1.5.3 安装包下载-openGauss
下载地址 https://opengauss.org/zh/download.html 选择最新版本:3.1.0 企业版
1.6 操作系统设置
1.6.1 关闭操作系统防火墙和设置selinux
目前仅支持在防火墙关闭的状态下进行安装。
1、设置防火墙开机不自动启动 systemctl disable firewalld.service
2、关闭防火墙 systemctl stop firewalld.service
3、设置selinux vi /etc/selinux/config 修改为:SELINUX=disabled
4、在root用户下临时关闭selinux setenforce 0
h4. 1.6.2 设置操作系统字符集编码和时区
1、将各数据库节点的字符集设置为相同的字符集 设置字符集 LANG=en_US.UTF-8 echo "LANG=en_US.UTF-8" >> /etc/profile source /etc/profile echo $LANG
2、将各数据库节点的时区设置为相同时区 查询时区 timedatectl timedatectl list-timezones |grep Shanghai 设置时区 timedatectl set-timezone Asia/Shanghai ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 设置时间 date -s "2021-04-29 15:51:50"
1.6.3 关闭swap、设置网卡MTU值、关闭virbr0网卡
1、关闭SWAP操作 关闭swap交换内存是为了保障数据库的访问性能,避免把数据库的缓冲区内存淘汰到磁盘上。 如果服务器内存比较小,内存过载时,可打开swap交换内存保障正常运行。 关闭SWAP :swapoff -a 开启SWAP: swapon –a(不执行)
2、设置MTU的值 将各数据库节点的网卡MTU值设置为相同大小。MTU值推荐8192,要求不小于1500。 命令:ifconfig ens33 mtu 8192
3、关闭virbr0网卡(centos 7.6) ifconfig virbr0 down systemctl disable libvirtd.service
1.6.4 关闭RemoveIPC[Only for openEuler]
!http://10.1.32.31:3000/attachments/download/5927/1.png!
1.6.5 关闭history记录
为避免指令历史记录安全隐患,需关闭各主机的history指令。
!http://10.1.32.31:3000/attachments/download/5928/1.png!
1.6.6 设置root用户远程登录
!http://10.1.32.31:3000/attachments/download/5930/1.png!
1.6.7 配置Banner
!http://10.1.32.31:3000/attachments/download/5931/1.png!
1.6.8 用户和用户组
为了实现安装过程中安装帐户权限最小化,及安装后openGauss的系统运行安全性,安装脚本在安装过程中会自动按照用户指定内容创建安装用户,并将此用户作为后续运行和维护openGauss的管理员帐户。
1、用户组:dbgrp
初始化安装环境时,由-G参数所指定的安装用户所属的用户组。 该用户组如果不存在,则会自动创建,也可提前创建好用户组。 在执行gs_preinstall脚本时会检查权限。 gs_preinstall脚本会自动赋予此组中的用户对安装目录、数据目录的访问和执行权限。
2、用户:omm
初始化安装环境时,由-U参数所指定和自动创建的操作系统用户。 此用户具备数据库的最高操作权限,此用户初始密码由用户指定。 从安全性考虑,用户所属组是dbgrp
1.6.9 关闭透明大页
!http://10.1.32.31:3000/attachments/download/5932/1.png!
创建目录并解压安装包
1、创建安装目录 mkdir -p /opt/software/openGauss
2、解压下载的安装包 tar -zxvf openGauss-3.1.0-CentOS-64bit-all.tar.gz -C /soft/openGauss/
http://10.1.32.31:3000/attachments/download/5933/1.png
3、继续解压安装包 tar -zxvf openGauss-3.1.0-CentOS-64bit-om.tar.gz
http://10.1.32.31:3000/attachments/download/5935/1.png
4、修改目录权限 chmod -R 777 /opt/software/openGauss
1.7.1 配置文件
(1)创建XML配置文件
http://10.1.32.31:3000/attachments/download/5936/1.png
XML下载地址:
http://10.1.32.31:3000/attachments/download/5937/1.png
(2)创建XML配置文件
http://10.1.32.31:3000/attachments/download/5938/1.png
1.7.2 设置/etc/hosts
在hosts文件中添加如下内容 vi /etc/hosts 192.168.204.141 master01 192.168.204.16 master01
http://10.1.32.31:3000/attachments/download/5939/1.png
1.7.3 初始化安装环境
1、进入目录 cd /opt/software/openGauss/script 2、初始化安装环境 ./gs_preinstall -U omm -G dbgrp -X /opt/software/open.xml 3、检查系统环境 ./gs_checkos -i A -h master01 –detail
http://10.1.32.31:3000/attachments/download/5941/1.png! !http://10.1.32.31:3000/attachments/download/5942/2.png.
二、安装openGauss
2.1 开始安装openGauss数据库
1、切换用户 必须使用上面预安装指定的用户进行安装 su – omm 2、开始安装 使用XML配置文件 ./gs_install -X /opt/software/open.xml
注:需要输入密码,密码要求: 最少包含8个字符。 不能和用户名、当前密码(ALTER)、或当前密码反序相同。 至少包含大写字母(A-Z)、小写字母(a-z)、数字、非字母数字字符(限定为~!@#$%^&*()-_=+\|[{}];:,<.>/?)四类字符中的三类字符。
http://10.1.32.31:3000/attachments/download/5943/1.png
数据库的启停
启动数据库:
gs_om -t start
停止数据库:
gs_om -t stop
三、安装验证
1、切换用户 su – omm
2、查询状态 gs_om -t status
http://10.1.32.31:3000/attachments/download/5944/1.png
3、登录 gsql -d postgres -p 15400
http://10.1.32.31:3000/attachments/download/5945/2.png
四、卸载openGauss
4 卸载openGauss
(1)卸载openGauss包含如下过程
执行卸载 openGauss提供了卸载脚本帮助用户完整的卸载openGauss。 操作步骤 1、以操作系统用户omm登录数据库主节点。 2、使用gs_uninstall卸载openGauss。
http://10.1.32.31:3000/attachments/download/5946/1.png
(2)openGauss环境清理
一键式环境清理 在openGauss卸载完成后,如果不需要在环境上重新部署openGauss,可以运行脚本gs_postuninstall对openGauss服务器上环境信息做清理。openGauss环境清理是对环境准备脚本gs_preinstall所做设置的清理。 前提条件 openGauss卸载执行成功。 root用户互信可用。 只能使用root用户执行gs_postuninstall命令。 操作步骤 以root用户登录openGauss服务器。 查看root用户互信是否建立,如果root用户没有建立互信,需要手工建立root用户互信。
1、root用户 2、cd /opt/software/openGauss/script 3、./gs_postuninstall -U omm -X /opt/software/open.xml --delete-user --delete-group
http://10.1.32.31:3000/attachments/download/5947/1.png
五、windows安装高斯
5.1 安装虚拟机
由于高斯数据库只提供了linux版本,所以在win下使用时我们需要虚拟机。这里我使用的是Oracle VM VirtualBox
1、自行下载:
链接:https://www.virtualbox.org/
2、直接安装(参考附件):c6_virtualbox@361129824@.exe
5.2 安装高斯镜像
1、安装好虚拟后我们还要下载镜像文件,文件名为 openEuler_openGauss.ova
2、镜像文件导入及启动虚拟机
3、点击导入,将文件导入至虚拟机,并等待导入完成
http://10.1.32.31:3000/attachments/download/6016/1.png
http://10.1.32.31:3000/attachments/download/6017/2.png
5.3 启动虚拟机
1、导入完成后,点击 启动,启动虚拟机
http://10.1.32.31:3000/attachments/download/6018/3.png
2、输入用户名root 和 密码openGauss@123。登陆成功
http://10.1.32.31:3000/attachments/download/6019/4.png
可修改密码步骤如下:
http://10.1.32.31:3000/attachments/download/6021/6.png
3、输入ifconfig,查看两张网卡是否正常,如下图:
http://10.1.32.31:3000/attachments/download/6020/5.png