自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(116)
  • 收藏
  • 关注

原创 【我和openGauss的故事】kettle连接openGauss 5.0.0 数据库

Kettle最早是一个开源的ETL工具,全称为KDE Extraction, Transportation, Transformation and Loading Environment。在2006年,Pentaho公司收购了Kettle项目,原Kettle项目发起人Matt Casters加入了Pentaho团队,成为Pentaho套件数据集成架构师 [1];

2023-08-14 11:32:38 213

原创 【我和openGauss的故事】体验openGauss 5.0极简版一主一备部署,延时回放和主备切换功能

openGauss支持通过配置GUC参数recovery_min_apply_delay设定延时时间,使某个备机延时一段时间回放来自主机的事务日志。参数取值范围:整型,0~INT_MAX,单位为毫秒。参数默认值:0(不增加延迟)延时回放功能的限制:recovery_min_apply_delay参数主节点设置无效,必须设置在需要延迟的备节点上。延迟时间是根据主服务器上事务提交的时间戳与备机上的当前时间来计算,因此需要保证主备系统时钟一致。主备切换之后,原主节点若需延迟,需要再手动配置此参数。

2023-08-12 22:45:00 278

原创 【我和openGauss的故事】体验openGauss 5.0极简版一主一备部署,延时回放和主备切换功能

openGauss支持通过配置GUC参数recovery_min_apply_delay设定延时时间,使某个备机延时一段时间回放来自主机的事务日志。参数取值范围:整型,0~INT_MAX,单位为毫秒。参数默认值:0(不增加延迟)延时回放功能的限制:recovery_min_apply_delay参数主节点设置无效,必须设置在需要延迟的备节点上。延迟时间是根据主服务器上事务提交的时间戳与备机上的当前时间来计算,因此需要保证主备系统时钟一致。主备切换之后,原主节点若需延迟,需要再手动配置此参数。

2023-08-12 18:43:22 259

原创 【我和openGauss的故事】kettle连接openGauss 5.0.0 数据库

Kettle最早是一个开源的ETL工具,全称为KDE Extraction, Transportation, Transformation and Loading Environment。在2006年,Pentaho公司收购了Kettle项目,原Kettle项目发起人Matt Casters加入了Pentaho团队,成为Pentaho套件数据集成架构师 [1];

2023-08-12 18:39:50 141

原创 【我和openGauss的故事】在Kylin桌面版操作系统中配置openGauss的ODBC数据源

ODBC连接成功,就可以使用ODBC提供的函数来执行SQL查询和操作。ODBC提供了一组标准的接口函数,可以执行各种数据库操作,如执行SQL查询、插入、更新和删除数据等。通过这些函数,可以在openGauss数据库中进行各种数据操作,满足应用程序需求。通过使用ODBC接口,可以在openGauss中实现高效的数据访问和跨平台连接。ODBC为开发人员提供了标准化的接口,并提供了一套丰富的函数来执行数据库操作。

2023-08-12 18:26:06 107

原创 【我和openGauss的故事】构建openGauss开发编译提交一体化环境

大数据模型发表于四川。

2023-08-12 18:15:07 44

原创 【我和openGauss的故事】原生openGauss与Oracle数据库函数兼容性对比验证测试

尚雷发表于四川收录于合集#第六届openGauss技术文章征集初审合格文章62个近期研究了原生openGauss和Oracle数据库兼容性,特整理测试了Oracle常用函数和openGauss数据库的对比测试。

2023-08-10 21:34:08 414

原创 【我和openGauss的故事】一文帮你理解openGauss的高可用方案

发表于四川。

2023-08-10 20:30:06 155

原创 OpenGauss与NVM

define TOTAL_BUFFER_NUM (SEGMENT_BUFFER_NUM + NORMAL_SHARED_BUFFER_NUM + NVM_BUFFER_NUM)#define NVM_BUFFER_NUM (g_instance.attr.attr_storage.NNvmBuffers):对应nvm_buffers。引入持久内存PM,形成buffer pool的三层DRAM-PM-DISK架构的设计,利用成本相对较低的PM对shared_buffers进行扩容,可减少淘汰流程的触发。

2023-08-10 15:20:20 49

原创 BenchmarkSQL 5.0 压测 openGauss 5.0.0 案例分享

BenchmarkSQL 5.0 压测 openGauss 5.0.0 案例分享尚雷 openGauss 2023-08-07 18:00 发表于中国香港一、前言本次BenchmarkSQL 压测openGauss仅作为学习使用压测工具测试tpcc为目的,并不代表数据库性能如本次压测所得数据。实际生产性能压测,还需结合服务器软硬件配置、数据库性能参数调优、BenchmarkSQL 配置文件参数相结合,是一个复杂的过程。1.1 BenchmarkSQL 工具介绍BenchmarkSQL 是

2023-08-10 15:19:26 1178

原创 【我和openGauss的故事】搭建基于 openGauss 的 Java 开发环境:我的经验分享

这些强大的工具都是openGauss强大功能的体现,可以帮助DBA或者开发人员更好的管理和维护openGauss数据库。它不仅降低了我们的使用成本,也使我们的业务得到质的提升。兼容性强openGauss实现了完整的容灾功能,支持同城和异地双机房的部署,以及多种故障快速Failover机制,确保核心业务数据的可用性。最近我们团队在新的项目中选择了开源数据库 openGauss 取代原来的 MySQL,经过一段时间的开发和使用,对于 openGauss 这个新一代开源数据库的优势有了更加深入的了解和认识。

2023-08-10 10:05:05 307

原创 【我与openGauss的故事系列】openGauss 5.0.0全密态数据库应用小试

其重点在于,openGauss对数据的加密是在客户端进行的,如下图所示,才能保证在传输,计算和存储过程中都是密文,及时被破坏者截获或者盗取,也只能看到的是加密数据,避免了数据泄露。CEK的创建要依赖于CMK,因此要先创建CMK,再创建CEK。需要说明的是,全密态数据库的使用有相当多的约束条件,且相对于以前的版本,openGauss 5.0.0版本的约束有变化,本文不再赘述,可以参考官网说明。当没有打开密态开关时,查询到的是密文,和创建秘钥的用户不打卡密态开关的效果相同,也不再进行附图说明。

2023-08-10 09:56:11 119

原创 【我和openGauss的故事】SpringBoot连接openGauss项目实战

平时做项目用的都是MySQL较多,今天尝试了一下将openGauss作为数据库进行项目的数据存储,总的体验效果感觉还不错,包括存储速度以及连接简易性等,如果已经在电脑中配置好了openGauss环境,完全可以考虑将openGauss作为项目数据库来使用。

2023-08-09 21:46:34 646 2

原创 【我和openGauss的故事】openGauss容灾集群搭建过程代码学习记录

ziyoo0830发表于四川。

2023-08-09 21:05:19 111

原创 【我和openGauss的故事】openGauss集群故障节点替换操作

ziyoo0830发表于中国香港。

2023-08-09 15:15:43 233 2

原创 【我和openGauss的故事】openGauss 5.0.0企业版两节点CM高可用实践

2.同时支持动态配置CM集群故障切换策略和数据库集群脑裂故障恢复策略,从而能够尽可能确保集群数据的完整性和一致性。1.支持业务配置VIP连接数据库,当主机故障,发生主备切换时,业务连接可自动重连到新的主机(毫秒级别);1.通过引入第三方网关IP,有效解决CM集群两节点部署模式下自仲裁问题,支持CMS和DN;2.当数据库出现双主时,通过VIP连接数据库可确保连接唯一的主机,降低双主丢数据的风险。-- cmServerlevel目前只支持1 -->-- cms主及所有备的hostname -->

2023-08-09 14:54:13 269

原创 【我和openGauss的故事】openEuler20.03上编译安装opengauss-5.0.0

从以上编译过程可以看到,openGauss的编译还是比较简单的。也可以编译出tar包,部署到线上测试环境,使用gdb工具进行调试。

2023-08-09 14:53:18 92

原创 【我和openGauss的故事】在vm中安装openEuler及使用yum安装openGauss

随着互联网时代对数据库的新要求,以PostgreSQL为基础的开源数据库openGauss应运而生。openGauss在保持PostgreSQL接口兼容的前提下,对其查询优化器、高可用特性等进行了全面优化,实现了超高性能。同时,openGauss作为社区项目,新增功能持续丰富。优点是查询性能高、可靠性好、扩展性强,已经应用于多家大型企业的核心业务系统。但由于发展时间不长,生态建设还需进一步完善,对比成熟商业数据库,可视化和自动化管理还有差距。

2023-08-09 14:42:41 75

原创 openGauss内核荣获中国首个国际CC EAL4+级别认证

要取得CC EAL4+认证, 首先要完成安全目标 (ST) 描述,包括对产品整体架构和产品安全功能的概述、对潜在安全威胁的评估以及自我评估测试,并通过ARC、FSP、TDS、ALC等系列文档对整个产品的架构、接口、功能和研发流程进行精细化描述,其次需由有许可的独立实验室完成产品安全功能测试及验证,并评估其是否符合通用安全标准。该标准设置了EAL1~EAL7的不同评估等级,等级越高,评估要求的证据越多,评估越严格,意味着被评估的功能越安全。

2023-08-09 14:40:39 145

原创 openGauss数据库源码解析系列文章—安全管理源码解析(五)

SQL经过优化器得到计划树,此时审计模块的pgaudit_ExecutorEnd函数和pgaudit_ProcessUtility函数分别进行DML和DDL语句的分析,如果和已设置审计策略相匹配,则会调用审计日志接口,生成对应的审计日志。该函数通过调用pgaudit_delete_file函数来将审计日志文件中,startime与endtime之间的审计记录标记为AUDIT_TUPLE_DEAD,达到删除审计日志的效果,而不实际删除审计记录的物理数据。最后调用审计日志文件读写接口,将审计日志写入文件中。

2023-08-08 16:00:33 100

原创 openGauss数据库源码解析系列文章—安全管理源码解析(六)

在用户进行数据查询时,数据动态脱敏特性使用openGauss的HOOK机制,将查询编译生成的查询树钩取出来与脱敏策略进行匹配,最后将查询树按照脱敏策略内容改写成不包含敏感数据的“脱敏”查询树返还给解析层继续执行,最终实现屏蔽敏感数据的能力。在对一个访问数据库资源的查询树进行脱敏之前,需要准备一份待匹配的脱敏策略集合,其依据就是用户登录信息,check_masking_policy_filter函数的任务就是将用户信息与所有的脱敏策略进行匹配,筛选出可能被查询触发的脱敏策略。最终筛选如下脱敏策略。

2023-08-08 16:00:20 193

原创 【我和openGauss的故事】openGauss 5.0.0企业版x86单机安装

命令:./gs_preinstall -U opengauss -G dbgrp -X /opt/software/openGauss/dj.xml。3.设置时区和时间 将各数据库节点的时区设置为相同时区,可以将/usr/share/zoneinfo/目录下的时区文件拷贝为/etc/localtime文件。为了实现安装过程中安装帐户权限最小化,及安装后openGauss的系统运行安全性,安装脚本在安装过程中会自动按照用户指定内容创建安装用户,并将此用户作为后续运行和维护openGauss的管理员帐户。

2023-08-08 15:56:09 103

原创 【无标题】

霸王龙的日常发表于四川: openGauss官方社区推出的可视化的运维工具.

2023-08-08 15:55:49 69

原创 MTK 2.9.2 迁移Oracle 11g 至 openGauss 5.0.0操作指南

MTK全称(Database Migration Toolkit),可进行Oracle/DB2/MySQL/openGauss/SqlServer/Informix等数据库异构迁移,支持Oracle/MySQL/DB2->openGauss的存储过程,函数,触发器,包迁移。MTK支持多种数据类型,并可在迁移时对性能进行调整,还支持结构和数据的分离。本次采用恩墨公司MTK迁移工具,进行Oracle 11g到openGauss 5.0数据迁移测试。

2023-08-07 10:52:10 246 1

原创 倒计时2天 | 第六届openGauss技术文章征集活动最新初审合格名单(截至8.3)

截至8月3日,我们收到了众多用户的投稿,作品涵盖安装搭建、特性解读、性能测试等主题,通过对文章的原创性、完整性、逻辑结构等维度进行审核,共评选出 50篇 初审合格作品,以下为作品展示,具体作品将陆续发布在openGauss微信公众号。~本次我们设置了投稿奖、优秀奖和推广奖,为大家准备了华为平板、手环以及耳机等多项大礼。欢迎各位爱技术、爱思考、爱总结的伙伴,投稿畅谈openGauss!7月5日-8月15日,openGauss社区联合Gauss松鼠会、墨天轮社区共同举办。

2023-08-07 10:43:31 13

原创 【我和openGauss的故事】为集群增加VIP

lqkitten发表于四川openGauss发布以来,原生支持一主多备,RTO<10S,高可用性能大大增强。自openGauss3.0开始,更新了集群管理套件CM,易用性也得到了提高。但对于客户端来说,数据库端的切换,需要手工完成。openGauss增加VIP后,客户端的连接就如连接ORACLE RAC的scan VIP一样,对于服务端的切换无感知。要使用VIP,可以在安装前规划,在配置文件中指定,也可以对已安装的集群进行手工增加。下面就测试手工增加方法。

2023-08-07 10:42:50 219 1

原创 【我和openGauss的故事】使用Ora2Pg迁移oracle数据到openGauss

本博客介绍了使用Ora2Pg迁移oracle数据到openGauss1、下载及安装Ora2Pg1.1、下载说明:Perl DBD: http://search.CPAN.org #只需在搜索输入框中输入模块的全名(例如:DBD::Oracle、DBD::Pg)​在Windows下,应该安装Strawberry Perl(http://strawberryperl.com)和操作系统对应的Oracle客户机。

2023-08-07 10:33:36 121

原创 【我和openGauss的故事】带有out参数的存储过程及自定义函数的重载测试

对于openGauss 一、以下两条不会由于重载选项的差异发生行为改变1.使用ORACLE风格语法的procedure和function,创建规则和ORACLE一致,同名对象直接覆盖 2.使用PG风格的FUNCTION,支持入参不一致的重载创建;对于入参一致,仅出参有差异的,会直接覆盖(如果return类型变化,创建会报错)二、重载选项会控制package中的procedure能否创建仅出参不一致的重载,关闭选项时,重载规则为仅入参不匹配;开启选项时,重载规则为任意参数不匹配。

2023-08-07 10:33:04 183

原创 【我和openGauss的故事】 openGauss 5.0.0 事务相关语法

秋秋发表于四川众所周知, openGauss 是一款开源关系型数据库管理系统,采用木兰宽松许可证v2发行,是 PostgreSQL 9.2.4 版本的硬分叉,经历 HUAWEI 多年的孵化,并已历经了两个 LTS 版本。现在的 openGauss 5.0.0 正是第三个 LTS 版本,发行于 3 月 31 日,版本生命周期为三年。openGauss 5.0.0 是流行的开源关系型数据库管理系统,它支持事务处理,下面我们来看看。

2023-08-07 10:24:57 63

原创 openGauss内核分析(二.一):简单查询的执行

通常可以把SQL引擎分成SQL解析和查询优化两个主要的模块,SQL引擎对输入的SQL语言进行词法分析、语法分析、语义分析,从而生成逻辑执行计划,逻辑执行计划经过代数优化和代价优化之后,产生物理执行计划。,包括主线程,辅助线程及业务处理线程的启动过程,这一期主要分析简单查询语句在业务处理线程Postgres上的执行流程,并介绍如何利用gdb梳理代码逻辑。pg_analyze_and_rewrite():根据语法分析树生成基于Query数据结构的逻辑查询树,并进行重写等操作。

2023-08-05 14:36:53 36

原创 openGauss内核分析(二.二):简单查询的执行

以调试select语句为例,gdb attach 进程号,在exec_simple_query打上断点,执行select语句即可开始调试。info threads查看所有线程,t 线程号切换线程,bt可以查看线程调用栈。也可以使用linux工具gstack 打印函数调用栈。调试需要用到符号信息,configure使用如下命令。gdb attach 进程号,这里进程号为17012。

2023-08-04 17:35:26 49

原创 openGauss赋能企业核心场景应用 | 华为全联接大会2022专题回顾

该版本将在集团、科技、物流等业务系统广泛应用,也将服务更多的外部行业客户,同时我们也进一步加强与openGauss社区的共建和创新,共建底层的内核能力,打造统一的上层生态,推动新硬件的应用创新,促进社区的繁荣发展。openGauss生态蓬勃发展,实现关键行业全覆盖。经过2年多的发展,openGauss凝聚产业力量,发展进入快车道,目前有超过185家企业加入社区、社区贡献者达到4000+,累计商用达到2.3万套,超过100万人下载使用openGauss,openGauss成为中国最具创新力的开源数据库社区。

2023-08-04 17:17:14 60

原创 openGauss —— 智能优化器之基数估计

具体来说,图模型中的每个节点都是一列数据,节点之间的边表示节点之间的相关关系。而对于更多列的联合分布,为了避免指数级别的空间复杂度增长,openGauss采用了条件独立性假设,比如三列数据X,Y,Z分布相关,但是一旦将Y取值固定,X和Y的分布便称为独立,这时的联合概率计算可以被抽象为P(X,Y,Z)=P(X|Y)P(Y|Z)P(Z)。当前数据库为了高效估计多列复合查询条件的基数,广泛采用了基于独立性假设的多列数据分布刻画的技术,比如假设X,Y,Z列的联合分布为P(X,Y,Z)=P(X)P(Y)P(Z)。

2023-08-04 14:24:21 28

原创 数据库迁移系列】从MySQL到openGauss的数据库对象迁移实践

基于开源三方件mysql-binlog-connector-java解析mysql的binlog, 并根据mysql主备进行复制的原理,对可并行的事务在openGauss端采用多线程进行并行回放,以实现MySQL到openGauss的在线迁移。通过支持表级并行迁移,提升MySQL全量迁移性能,基于sysbench测试模型,在Kunpeng-920 2p服务器上,10张表(单表容量三百万以上)使用10并发迁移,可达到大于300M/s的迁移性能。工具链:MySQL增量迁移支持十五级并行消费,提升增量迁移性能。

2023-08-04 10:22:44 295

原创 openGauss —— 智能优化器之基数估计

具体来说,图模型中的每个节点都是一列数据,节点之间的边表示节点之间的相关关系。而对于更多列的联合分布,为了避免指数级别的空间复杂度增长,openGauss采用了条件独立性假设,比如三列数据X,Y,Z分布相关,但是一旦将Y取值固定,X和Y的分布便称为独立,这时的联合概率计算可以被抽象为P(X,Y,Z)=P(X|Y)P(Y|Z)P(Z)。当前数据库为了高效估计多列复合查询条件的基数,广泛采用了基于独立性假设的多列数据分布刻画的技术,比如假设X,Y,Z列的联合分布为P(X,Y,Z)=P(X)P(Y)P(Z)。

2023-08-04 10:21:36 40

原创 金奖方案 | 一专多能、傲视寰宇,南大通用GBase8c数据库牛在哪里?

GBase 8c具备高性能、高可用、弹性伸缩、高安全性等特性,可以部署在物理机、虚拟机、容器、私有云和公有云,为关键行业核心系统、互联网业务系统和政企业务系统提供安全、稳定、可靠的数据存储和管理服务。当前openGauss3.0构建的多模多态原生分布式GBase 8c实现了高性能、高可用、弹性伸缩、高安全性等特性,可以部署在物理机、虚拟机、容器、私有云和公有云,为关键行业核心系统、互联网业务系统和政企业务系统提供安全、稳定、可靠的数据存储和管理服务。主要面向OLAP场景设计,例如数据统计报表,分析系统;

2023-08-04 10:18:20 23

原创 openGauss的SQL引擎在3.1.0版本中做了哪些优化?

目前分区表的统计信息,代价模型使用的是普通表的机制,由于分区表和普通表结构上的不同,所以不能完全依赖普通表的机制去处理分区表的代价问题。对于分区存在剪枝的场景,分区表页面统计时就不能单纯的统计所有分区的页面。查询执行能力对数据库来说至关重要,这直接决定了查询语句生成的执行计划以何种方式进行执行,如果哪个执行算子的执行表现不好,将会对数据库的整体性能产生极大的影响。为此,openGauss数据库在3.1.0版本中,进一步优化了当前的部分执行算子,并希望通过优化执行算子的实现,来提高数据库的整体表现。

2023-08-04 10:04:32 25

原创 openGauss内核分析(四):查询重写(二)

left join和inner join的结果是一样的,这是因为查询条件中包含WHERE t2.c2 >100这个条件,t2表所有不匹配元组均被过滤掉(包括空值),因此可以进行查询转换left-outer join -> inner join,能够有效减小t1和t2关联产生的结果集,达到性能提升的目的。当某行在另一表中没有匹配行,则另一表中的列返回空值,相当于取两个表并集。左连接 left outer join:返回左表中的所有行,如果左表中行在右表中没有匹配行,则结果中右表中的列返回空值。

2023-08-04 10:04:13 30

原创 openGauss企业级开源数据库荣获2022年度中国计算机学会(CCF)科技进步奖特等奖

截至目前,openGauss已在技术、生态、商业和社区治理等稳健推进,快速成长,185家企业和机构加入社区,4000多名开发者参与社区贡献,社区版本下载量超100万次。中国计算机学会(CCF)是中国计算机及相关领域的权威机构,为促进计算机科学与技术的创新和进步,CCF 设立中国计算机学会奖(CCF 奖),旨在鼓励在计算机科学、技术或工程领域具有重要发现、发明、原始创新,在相关领域有一定国际影响的优秀成果,因其专业性和公信力,已成为国内最为权威的衡量企业、高校技术创新水平的科技奖项。

2023-08-01 19:53:55 43

原创 openGauss的高效数据压缩算法

(二)压缩存储块管理,单个页面压缩后的压缩块以chunk为粒度进行存储,然后将存储结果和页面的映射关系进行管理,因此相对于压缩页面需要在内存和磁盘之间加一层映射关系管理,记录页面压缩块与chunk存储单元之前的关系,我们称之为压缩页面地址管理(pca),对应的将记录压缩块chunk的页面称为压缩页面数据管理(pcd)。缺点是在Linux上打洞单位是4K,且page大小为32K和64K时候不支持压缩,最大是16K的page支持这种压缩,因此,压缩比最大能到4:1,这个也达到压缩极限。

2023-08-01 19:53:12 31

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除