参赛文章展示-第二届openGauss技术文章征集活动
文章平均质量分 86
第二届openGauss技术文章征集活动,评选出的优秀openGauss参赛文章展示。
Gauss松鼠会
深耕数据库10余年,致力于GaussDB、openGauss等数据库技术的学习、探索与传播。
展开
-
【参赛作品31】openGauss和PostgreSQL的源码目录结构对比
openGauss和PostgreSQL的源码目录结构对比作者:YAN左使目录**openGauss和PostgreSQL的源码目录结构对比****1. GaussDB为什么选择PG?****2. 源代码目录结构对比****2.1 数据库管理系统的架构和主要组件****2.2 src目录结构对比****2.3 从backend到common和gausskernel的变化****(1) gausskernel内核整体目录结构对比****(2) 公共组件common目录结构对比****(3) optimiz转载 2021-07-10 23:10:37 · 3393 阅读 · 29 评论 -
【参赛作品30】opengauss gs_basebackup实践
本文作者:邹阳 详细参考 https://gitee.com/opengauss/docs 中的备份与恢复篇https://gitee.com/opengauss/docs/blob/master/content/zh/docs/Administratorguide/%E5%A4%87%E4%BB%BD%E4%B8%8E%E6%81%A2%E5%A4%8D.md以下文字摘至官方文档。openGauss部署成功后,在数据库的运行过程中,往往会遇到各种问题及异常状态。openGauss提供了g原创 2021-07-10 16:24:52 · 1717 阅读 · 9 评论 -
【参赛作品29】基于openGauss数据库设计人力资源管理系统实验
本文作者: 瓜西西 本文主要面向openGauss数据库初学者,帮助初学者完成一些简单的数据库管理以及GUI,设计一个简单的人力资源管理系统。本文只包含部分代码,读者需要结合自己的数据库弹性公网、数据库用户及其密码等自身信息做出相应的修改。一、实验环境使用程序:putty.exe;IntelliJ IDEA 2021.1.1;apache-tomcat-9.0.46服务器名称:ecs-d8b3弹性公网:121.36.79.196端口号:26000表空间名:human_resource_原创 2021-07-10 14:55:41 · 6557 阅读 · 10 评论 -
【参赛作品28】openGauss的 Helm Chart包编写探索
本文作者:华军 Helm 是 Kubernetes 的包管理器,包管理器类似于我们在 Ubuntu 中使用的apt、Centos中使用的yum一样,能快速查找、下载和安装软件包,本篇文章探索编写openGauss的 Helm Chart的包,方便openGauss的在Kubernetes的快速部署.1.环境清单#检查k8s运行环境[root@n-k8s-m ~]# kubectl get nodeNAME原创 2021-07-10 11:09:27 · 2424 阅读 · 8 评论 -
【参赛作品27】openGauss索引查询和索引规则实验
本文作者:滋味 建立索引是提高数据库访问速度的重要手段之一。本文将对openGauss2.0.0的4个主要索引方式进行实验,验证建立索引前后查询性能的差异和部分索引规则。实验环境软件:openGauss2.0.0, openEuler20.03, VirtualBox6.1.16,虚拟机配置2处理器,4G内存硬件:CPU: Intel i5-8265UopenGauss索引介绍根据openGa原创 2021-07-10 10:55:25 · 3040 阅读 · 4 评论 -
【参赛作品26】OpenGauss索引详解
本文作者:吴松 本文主要介绍OpenGauss中常见的索引结构,索引相关元数据,并结合代码重点讲解B-tree索引使用过程中的重要流程,希望对大家理解OpenGauss中的索引有所帮助。索引方法B-Tree索引 B-tree索引适合比较查询和范围查询,当查询条件使用(>,=,<,>=,<=原创 2021-07-10 10:25:55 · 2659 阅读 · 4 评论 -
【参赛作品25】openGauss在kubernetes集群环境上的部署
本文作者:华军 openGauss是一款开源关系型数据库管理系统 , 深度融合华为在数据库领域多年的经验,结合企业级场景需求,持续构建竞争力特性;kubernetes也是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署,规划,更新,维护的一种机制, 本篇文章将介绍openGauss在kubernetes原创 2021-07-10 10:07:36 · 1837 阅读 · 25 评论 -
【参赛作品24】openGauss快速安装方法(docker)
本文作者:DSLS openGauss快速安装方法(docker)放开安全组(可选)云服务器需要开放端口以供外部连接。设置如下:开放22端口,用于远程SSH的连接。开放8887端口,用于数据库的连接。如果你闲麻烦,大可开放所有端口。8887端口不是固定的,可以任意设置,但不要和已占用的端口冲突。。如果是本地的虚拟机,则不需要上述设置。顺便一提,如果你想让同一局域网的其他设备(比如你舍友的电脑)连接到你的数据库,请把Windows防火墙关闭。登录服务器使用SSH远程登录到服务器之后原创 2021-07-10 09:58:54 · 2598 阅读 · 4 评论 -
【参赛作品23】openGauss内存管理初探
本文作者:李士福 上周,有小伙伴在openGauss技术交流群里问在编码开发过程中如何进行内存分配,使用时感觉和PostgreSQL使用方式有些不同。的确如这位同学所想,openGauss的内存管理尽管继承了PostgreSQL的内存管理机制,但进行了多方面的扩展和改造,目的是适配多线程架构,更好的满足企业化应用诉求。openGauss内存管理主要做了如下的功能:引入jemalloc开源库,替换glibc的内原创 2021-07-10 09:51:26 · 1833 阅读 · 8 评论 -
【参赛作品22】openGuass实验心得之gs_dump逻辑备份与恢复
本文作者: Mia 2021年4月份开始接触openGuass并做openGuass的有关实验,今天记下gs_dump逻辑备份的实验经历,以免未来忘记。(部分内容可能有疏漏,望包容和指出)注:实验的设计思路参考于华为openGauss的指导手册。1,数据库逻辑备份介绍 数据库逻辑备份指将数据库原创 2021-07-10 09:36:14 · 2278 阅读 · 7 评论 -
【参赛作品21】MogDB/openGauss 生态工具-MTK(Migration ToolKit) 数据库迁移
一、准备环境1. 源库创建(Oracle)创建Oracle 11.2.0.4ocker pull registry.cn-hangzhou.aliyuncs.com/lhrbest/oracle_11g_ee_lhr_11.2.0.4:1.0docker run -itd --name oracle -h oracle --privileged=true -p 1521:1521 -p 222:22 -p 1158:1158 lhrbest/oracle_11g_ee_lhr_11.2.0.4.原创 2021-07-08 10:22:45 · 1572 阅读 · 4 评论 -
【参赛作品20】【openGauss】Virtualbox+openEuler部属openGauss数据库
Virtualbox+openEuler部属openGauss数据库指导手册 前 言简介内容描述前置条件实验环境说明单机安装概览 openGauss数据库安装1.1 实验介绍关于本实验实验目的 1.2 虚拟机VirtualBox下载及安装1.3 openEuler-20.03-LTS镜像文件下载1.4 VirtualBox下安装openEuler-20.03-LTS操作系统1.5 操作系统环境准备1.6 安装openGauss数据库 数据库使用1.7 前提条件1.8 操作步骤 ..转载 2021-07-08 10:03:16 · 1531 阅读 · 9 评论 -
【参赛作品17】openGauss实验心得之gs_basebackup物理备份与恢复
2021年4月份开始接触openGauss并做openGauss的有关实验,今天记下gs_basebackup物理备份的实验经历:-D,以免未来忘记。(部分内容可能有疏漏,望包容和指出)注:实验的设计思路参考于华为openGauss的指导手册。1.数据库物理备份介绍数据库物理备份指的是对数据库一些关键文件如日志、配置文件、关键数据等进行备份在数据库遭到破坏时能从备份处进行恢复。同时gs_basebackup备份的是数据库的二进制文件,因此在恢复是可以直接拷贝替换原有的文件或者直接在备份的库启动数据库。原创 2021-07-08 09:50:36 · 2397 阅读 · 2 评论 -
【参赛作品19】【openGauss】gsql客户端工具(二)gsql客户端工具之Data Studio客户端工具
Data Studio客户端工具 写在前面1.3 Data Studio客户端工具1.3.1 准备连接环境1.3.2 确定26000端口是否放开1.3.3 软件包下载及安装1.3.4 Data Studio用户界面1.3.5 获取工具使用手册 写在前面 因为博主并没有购买使用华为云的openGauss及openEurler。使用的是再VirtualBox上的镜像搭建起来的openGauss。因此对于1.3.2在华为云上配置安全策略,开放端口的操作等可以忽略。直接跳转到1.3.3..转载 2021-07-08 09:40:06 · 2394 阅读 · 8 评论 -
【参赛作品18】【openGauss】gsql客户端工具(一)实验介绍&&gsql客户端工具
gsql客户端工具 前 言简介内容描述前置条件 客户端工具1.1 实验介绍1.1.1 关于本实验1.1.2 实验目的 1.2 gsql客户端工具1.2.1 gsql连接数据库1.2.1.1 确认连接信息1.2.1.2 本地连接数据库 1.2.2 gsql获取帮助1.2.2.2 连接数据库时,可以使用如下命令获取帮助信息1.2.2.3 连接到数据库后,可以使用如下命令获取帮助信息 1.2.3 gsql命令使用1.2.3.1 前提条件1.2.3.2 执行一条字符串命令1.2.3转载 2021-07-08 09:31:09 · 2153 阅读 · 10 评论 -
【参赛作品16】opengauss实践总结学习心得
Opengauss实践总结实验一 在ECS上安装部署openGauss数据库一、实验内容1、实验内容:本实验主要内容为弹性云服务器(openEuler)上安装部署openGauss数据库,并进行简单的数据库相关操作。2、实验概览:实验概览图二、实验过程1.进入华为官网,购买弹性云服务器ECS(openEuler ARM 操作系统)。购买时需自定义购买进行基础配置、网路配置、高级配置等。2.修改操作系统配置。使用SSH工具(比如:PuTTY等)从本地电脑通过配置弹性云...原创 2021-07-08 09:28:21 · 2800 阅读 · 6 评论 -
【参赛作品15】openGauss数据库维护管理
openGauss数据库维护管理 openGauss数据库维护管理 1 操作系统参数检查1.1 实验介绍1.1.1 关于本实验gs_checkos工具用来帮助检查操作系统、控制参数、磁盘配置等内容,并对系统控制参数、I/O配置、网络配置和THP服务等信息进行配置。本实验主要是通过gs_checkos工具来检查操作系统参数设置是否合理。先进行场景设置,然后根据检查结果进行参数调整。1.1.2 实验目的掌握gs_checkos工具的基本使用;1.2 场景设置及操作步骤步骤 1用R原创 2021-07-07 12:43:12 · 2275 阅读 · 3 评论 -
【参赛作品14】Windows安装华为openGauss数据库——openGauss基于x86架构openEuler虚拟机的编译以及JDBC的连接
1、Hype-V虚拟机安装openEuler虚拟机平台有很多,像vmware、Hype-V、VirtualBox等等,考虑到与wsl2的兼容,这里选用Hype-V来安装x86架构的openEuler开启 hype-v虚拟机下载x86架构openEuler镜像打开openEuler官网,我们这里打算使用openEuler-20.03-LTS长期支持版依次打开openEuler-20.03-LTS-ISO-x86-64,选择openEuler-20.03-LTS-x86_64-dvd.iso)进原创 2021-07-07 12:16:14 · 10154 阅读 · 18 评论 -
【参赛作品13】openGauss 备份恢复gs_probackup
openGauss 备份恢复之gs_probackup机器数量:2 台硬件环境:x86 虚拟机的内存4GB软件环境:CentOS7.6 x64数据库版本:opengauss2.0.0,数据库软件是通过编译安装节点:node1 192.168.126.129节点:node2 192.168.126.1301.1. 背景信息gs_probackup是一个用于管理openGauss数据库备份和恢复的工具。它对openGauss实例进行定期备份,以便在数据库出现故障时能够恢复服务器。可用于备份单原创 2021-07-07 10:44:04 · 2603 阅读 · 10 评论 -
【参赛作品12】基于华为云鲲鹏弹性云服务器部署openGauss数据库-实验
实验目标与基本要求指导用户基于华为云鲲鹏云服务器,部署openGauss单机数据库。通过本实验,您能够:1.使用openGauss的om工具成功安装openGauss单机数据库。2.登录到openGauss数据库进行简单的增删改查操作。实验步骤:1.购买鲲鹏云主机购买弹性云服务器ECS选型时候,CPU架构需要选择鲲鹏计算。操作系统选择openEuler – openEuler 20.03 64bit with ARM(40GB)2,登录云主机,下载openGauss镜像并解压[root@原创 2021-07-06 16:46:58 · 2372 阅读 · 4 评论 -
【参赛作品11】过程化SQL以及openGauss存储过程、函数、触发器
一、 过程化SQL基本的SQL是高度非过程化的语言。嵌入式SQL将SQL语句嵌入程序设计语言,借助高级语言的控制功能实现过程化。过程化SQL是对SQL的扩展,使其增加了过程化语句功能。简单来说,从标准SQL语句到嵌入式SQL再到过程化SQL,就是使SQL功能不断增强的过程。标准SQL语句相当于是可以操纵数据库的一些“武器”,嵌入式SQL相当于给程序设计语言(如java,C语言等)装备了这些“武器”,而过程化SQL相当于给这些“武器”予以血肉,通过自身带有的流程控制语句操纵数据库。过程化SQL程序的基本原创 2021-07-02 19:51:10 · 5344 阅读 · 31 评论 -
【参赛作品10】openGauss之indexadvisor测试与总结
测试种类:单query索引推荐、虚拟索引推荐(由于数据限制没有进行workload测试)测试的表数据量如下:在test数据库下的aka_name、customer表。aka_name为60多万条数据(取自imdb数据集数据中一个表的数据)、customer为4条数据(自己创建的)。2.单query索引推荐:gs_index_advise 用于针对单挑查询语句生成推荐索引(1)where语句只有一个属性的情况(2)where语句有多个属性的情况① 两个属性,范围查找.只推荐了id,没有推荐原创 2021-07-02 17:23:57 · 1682 阅读 · 5 评论 -
【参赛作品9】openGauss在docker上的安装,连接以及java连接
一、openguass的安装如何快速简洁地安装openguass安装opengauss的方式在我已知范围内有两种,一种是在虚拟机上安装centos(其实我感觉是个linux就行,但是我也没试过)然后在使用openguass的镜像进行手动安装。第二种是直接在docker上拉取镜像即可。从上面的描述中,第一种方法看上去很复杂实际上也很复杂,所以我都是使用第二种方法的。你要问这两种安装方式有什么不同吗?在我使用的范围内我感觉是没有什么不同的,主要是安装简单和方便那我们来看看怎么安装吧docker下载原创 2021-07-02 17:20:57 · 3840 阅读 · 6 评论 -
【参赛作品7】PostgreSQL/openGauss数据库易犯的十大错误
总结十点PostgreSQL/openGauss数据库中容易犯的错误。1.同时设置日志行前缀和csvlog格式比较常见大家同时配置下面这两个参数log_line_prefix = '%m %u %d %p'log_destination='csvlog'%m是带毫秒的时间戳%u是用户名%d是数据库名%p是进程ID然后当我们配置为csvlog日志时,日志行的内容项是固定的,所以当我们需要配置日志前缀,精简日志行的内容项时,log_destination不能配置为csvlog。下面是正确原创 2021-07-01 14:27:32 · 1898 阅读 · 3 评论 -
【参赛作品8】opengauss 2.0.0 升到2.0.1
opengauss 2.0.0 升到2.0.1操作系统是openeuler 20.03 LTS sp1,4c4g,opengauss 2.0 是用贾军锋老师的一键安装脚本安装的。[omm@openeuler ~]$ gs_om -Vgs_om (openGauss OM 2.0.0 build 7ef5c80a) compiled at 2021-03-31 21:16:05 commit 0 last mr将2.0.1的包放在原安装目录/soft/openGauss下lsbin openGa转载 2021-07-01 14:30:47 · 1464 阅读 · 4 评论 -
【参赛作品6】openGauss逻辑解码
逻辑复制由两部分组成:逻辑解码和数据复制。逻辑解码会输出以事务为单位组织的逻辑日志。业务或数据库中间件将会对逻辑日志进行解析并最终实现数据复制。openGauss当前只提供逻辑解码功能,因此文只对逻辑解码进行简单说明和测试。逻辑解码为逻辑复制提供事务解码的基础能力,openGauss使用SQL函数接口进行逻辑解码。此方法调用方便,不需使用工具,对接外部工具接口也比较清晰,不需要额外适配。由于逻辑日志是以事务为单位的,在事务提交后才能输出,且逻辑解码是由用户驱动的;因此为了防止事务开始时的xlog被系统原创 2021-07-01 14:14:07 · 1893 阅读 · 5 评论 -
【参赛作品5】初窥 openGauss 之索引推荐(Index-advisor)
TPC-H 是一个面向分析型业务(AP)的基准测试,它由一系列热点查询组成,这些热点查询都是高度复杂的,因此执行时间往往都比较长。在本次实验测试中,将手动向数据库加载TPC-H数据,并保存在名为 tpch 的数据库中。默认TPC-H数据库的表缺少索引,数据库的参数并没有做任何优化,因此执行效率会比较差。本实验内容比较浅显,使用openGauss的索引推荐(Index-advisor)功能,对数据库进行性能优化,同时也让大家对Index-advisor功能有一个初步的了解。环境信息OS: Cent原创 2021-07-01 14:12:00 · 1821 阅读 · 4 评论 -
【参赛作品4】初窥openGauss 之参数自调优(X-Tuner)
TPC-H 是一个面向分析型业务(AP)的基准测试,它由一系列热点查询组成,这些热点查询都是高度复杂的,因此执行时间往往都比较长。 在本次实验测试中,将手动向数据库加载TPC-H数据,并保存在名为 tpch 的数据库中。默认TPC-H数据库的表缺少索引,数据库的参数并没有做任何优化,因此执行效率会比较差。 本实验比较浅显,使用openGauss的参数自调优(X-Tuner:gs_xtuner)功能,对数据库进行参数优化,以提升数据库运行性能,让大家对X-Tuner参数自调优有一个初步的了解。环境信原创 2021-07-01 14:09:46 · 2159 阅读 · 3 评论 -
【参赛作品3】浅聊openGauss体系架构
2020年7月openGauss刚刚开源,我便开始对openGauss数据库的学习。根据以往学习数据库的经验,最先想了解的是openGauss数据库的架构,希望对即将使用的数据库各个模块有所了解。但鉴于时间有限,仅有的资料图是源码doc目录内的“openGauss逻辑结构图”,便针对该图做了简单介绍,并形成文档《浅聊openGauss逻辑架构》,感兴趣的小伙伴可以参考。虽然已发表关于openGauss逻辑架构介绍的文章供大家参考,但总感觉缺少点什么(想念学习Oracle时的那张体系架构图)。今年初准备培训原创 2021-07-01 11:38:48 · 3288 阅读 · 4 评论 -
【参赛作品2】openguass NUMA适配之线程绑核
一、前期准备关闭防火墙,selinuxsystemctl disable firewalld.service systemctl stop firewalld.service setenforce=0 sed -i '/^SELINUX=/c'SELINUX=disabled /etc/selinux/config 安装依赖包yum install libaio-devel -y 创建相关目录,用户,组groupadd dbgrp -g 2000 useradd omm原创 2021-06-30 14:38:05 · 2324 阅读 · 4 评论 -
【参赛作品1】MogDB/openGauss 手动部署\(非OM工具\)单机,主备,主备级联架构
一、前期准备关闭防火墙,selinuxsystemctl disable firewalld.service systemctl stop firewalld.service setenforce=0 sed -i '/^SELINUX=/c'SELINUX=disabled /etc/selinux/config 安装依赖包yum install libaio-devel -y 创建相关目录,用户,组groupadd dbgrp -g 2000 useradd omm原创 2021-06-30 14:28:59 · 1461 阅读 · 5 评论