热门排行
简介
openGauss是一款开源的关系型数据库管理系统,它具有多核高性能、全链路安全性、智能运维等企业级特性,openGauss内核早期源自开源数据库PostgreSQL,融合了华为在数据库领域多年的内核经验,在架构、事务、存储引擎、优化器及ARM架构上进行了适配与优化。作为一个开源数据库,期望与广泛的开发者共同构建一个多元化技术的开源数据库社区。欢迎需要此款工具的朋友前来下载使用。
软件特色
高性能
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将AI算法集成到数据库中,减少数据库维护的负担。
SQL预测
openGauss根据收集的历史性能数据进行编码和基于深度学习的训练及预测,支持SQL执行时间预测。
SQL诊断器
openGauss支持SQL执行语句的诊断器,提前发现慢查询。
参数自动调整
openGauss通过机器学习方法自动调整数据库参数,提高调参效率,降低正确调参成本。
安装openGauss:执行安装及示例
执行前置脚本准备好openGauss安装环境之后,按照启动安装过程部署openGauss。
前提条件
已成功执行前置脚本gs_preinstall。即完成了准备安装用户及环境。
所有服务器操作系统和网络均正常运行。
用户需确保各个主机上的locale保持一致。详细请参见配置区域和字符集。
操作步骤
1.检查安装包和openGauss配置文件在规划路径下是否已存在,如果没有,重新执行预安装,确保预安装成功,再执行以下步骤。
2.登录到openGauss的主机,并切换到omm用户。
su - omm
说明:
- omm指的是前置脚本gs_preinstall中-U参数指定的用户。
- 安装脚本gs_install必须以前置脚本中指定的omm执行,否则,脚本执行会报错。
3.使用gs_install安装openGauss。若为环境变量分离的模式安装的集群需要source环境变量分离文件ENVFILE。
gs_install -X /opt/software/openGauss/script/clusterconfig.xml
/opt/software/openGauss/script/clusterconfig.xml为openGauss配置文件的路径。在执行过程中,用户需根据提示输入数据库的密码,密码具有一定的复杂度,为保证用户正常使用该数据库,请记住输入的数据库密码。
设置的密码要符合复杂度要求:
·最少包含8个字符;
·不能和用户名和当前密码(ALTER)相同,或和当前密码反序;
·至少包含大写字母(A-Z),小写字母(a-z),数字,非字母数字字符(限定为~!@#$%^&*()-_=+\|[{}];:,<.>/?)四类字符中的三类字符。
安装过程中会生成ssl证书,证书存放路径为{gaussdbAppPath}/share/sslcert/om,其中{gaussdbAppPath}为集群openGauss配置文件中指定的程序安装目录。
日志文件路径下会生成两个日志文件:“gs_install-YYYY-MMDD_HHMMSS.log”和“gs_local-YYYY-MM-DD_HHMMSS.log”。
说明:
执行gs_install脚本时,如果输入参数–autostart=no, 则工具脚本在配置(config)步骤完成后退出,不会自动启动openGauss,需要用户通过执行gs_om -t start命令手动启动。
4.安装执行成功之后,需要手动删除主机root用户的互信,即删除openGauss数据库各节点上的互信文件。
rm –rf ~/.ssh
安装生成的目录
安装后的目录及各目录下的文件说明请参见表1。
表 1 安装生成的目录
序号 项目目录说明 目录 子目录 说明
openGauss安装目录
/opt/opengauss/app
bin 存放数据库二进制文件的目录。
etc cgroup工具配置文件。
include 存放数据库运行所需要的头文件。
lib 存放数据库的库文件的目录。
share 存放数据库运行所需要的公共文件,如配置文件模板。
openGauss数据目录
/opt/gaussdb/data
data_dnxxx DBnode实例的数据目录,其中主实例的目录名为“data_dnxxx”,备实例的为data_dnSxxx。xxx代表DBnode编号。
openGauss日志目录
/opt/opengauss/gaussdb_log/用户名
bin 二进制程序的日志目录。
gs_profile 数据库内核性能日志目录。
om OM的日志目录。例如:部分local脚本产生的日志,增删数据库节点接口的日志,gs_om接口的日志,前置接口的日志,节点替换接口的日志等。
pg_audit 数据库审计日志目录。
pg_log 数据库节点实例的运行日志目录。
openGauss系统工具目录
/opt/opengauss/tool
script 用于openGauss用户进行openGauss管理的脚本文件。
lib bin目录下的二进制文件依赖的库文件。
示例
执行安装:
omm@plat1:~> gs_install -X /opt/software/openGauss/script/clusterconfig.xml
Parsing the configuration file.
Check preinstall on every node.
Successfully checked preinstall on every node.
Creating the backup directory.
Successfully created the backup directory.
begin deploy..
Installing the cluster.
begin prepare Install Cluster..
Checking the installation environment on all nodes.
begin install Cluster..
Installing applications on all nodes.
Successfully installed APP.
begin init Instance..
encrypt ciper and rand files for database.
Please enter password for database:
Please repeat for database:
begin to create CA cert files
The sslcert will be generated in /opt/gaussdb/cluster/app/share/sslcert/om
Cluster installation is completed.
Configuring.
Deleting instances from all nodes.
Successfully deleted instances from all nodes.
Checking node configuration on all nodes.
Initializing instances on all nodes.
Updating instance configuration on all nodes.
Check consistence of memCheck and coresCheck on DN nodes.
Successful check consistence of memCheck and coresCheck on all nodes.
Configuring pg_hba on all nodes.
Configuration is completed.
Successfully started cluster.
Successfully installed application.
错误排查
如果安装失败请根据openGauss日志目录下的“gs_install-YYYY-MM-DD_HHMMSS.log”和“gs_local-YYYY-MM-DD_HHMMSS.log”中的日志信息排查错误。