循序渐进丨免密登录 openGauss / MogDB 的几种方式
在日常使用中,我们有时候会希望不输入密码即可登录数据库。本文总结一下免密登录 openGauss MogDB 的几种方式。1初始用户本地免密登录这一种是最常见的,也是免配置默认就能做到的,即用初始化并启动 openGauss / MogDB 的操作系统用户直接登录:gsqlgsql ((MogDB 3.1.1.100 build 501a8955) compiled at 2023-0
循序渐进丨MogDB 数据库查询重写规则lazyagg详解
问题概述在 MogDB 和 openGauss 中,参数rewrite_rule用于控制查询重写,本文介绍查询重写规则lazyagg。在未设置rewrite_rule=lazyagg的情况下,子查询中有GROUP BY会先进行GROUP BY;lazyagg表示延迟聚合运算,目的是消除子查询中的聚合运算,先关联再GROUP BY;当子查询中有GROUP BY,子查询中的表很大,子查询与外面的表(比
循序渐进丨MogDB 数据库带级联从库的集群切换后如何保持原有架构?
生产数据库运行过程中可能会涉及到升级或者打补丁,导致各节点的角色有计划的发生改变。如果集群内角色发生改变,是否还能保持原有架构继续对外提供服务呢?我们来做一下测试。采用2+2模式模拟同城两机房部署4节点 MogDB 数据库集群,即主机房是primary节点和1个备库,同城节点是1个备库和1个级联从库。测试的目标是:无论我们怎么切换主库,希望在集群节点都正常运行的情况下始终保持这个2+2的架构。接下
循序渐进丨MogDB Ustore存储引擎剖析
背景MogDB 数据库支持不同的存储引擎,其中行存引擎有Astore和Ustore,目前大部分客户场景使用的是Astore,也就是 Append Update(追加更新)模式。Astore对于业务中的增、删以及HOT Update(即同一页面内更新)有很好的性能表现,但对于跨数据页面的非HOT UPDATE场景,存在历史数据回收不够高效的问题。造成这一问题的主要原因是Astore中将新旧版本元组集
循序渐进丨MogDB 数据库对 Oracle DBLink兼容性增强
本特性自 MogDB 5.0.0版本开始引入,支持 Oracle DBLink语法,可以使用@符号访问 Oracle 数据库中的表。示 例01 环境准备MogDB 环境已安装 MogDB 数据库。已安装oracle_fdw插件,具体安装方法参见oracle_fdw安装文档https://docs.mogdb.io/zh/mogdb/v5.0/1-oracle_fdw(复制链接
循序渐进丨openGauss / MogDB 数据库列存表vacuum DELTAMERGE过程申请的锁
之前测试 openGauss 列存表vacuum DELTAMERGE的时候,发现pg_delta表会在做完vacuum DELTAMERGE后,使用新的物理文件,pg_delta表的relfilenode会发生变化,相当于表重建了。同时为了测试vacuum DELTAMERGE过程申请了什么锁,通过走读源码可以发现,vacuum DELTAMERGE过程申请了AccessExclusiveLoc
精进不休丨MogDB 数据库预读特性进一步提升20%+查询性能
7月底发布的 MogDB 5.0.8版本引入了几个新特性,其中预读特性将全表扫描能力再度提升了至少20%以上(最大提升达到52%)。什么是 MogDB 预读特性数据库中的数据是按照一个个页面进行组织管理的,CPU以页面为单位对数据进行处理,这就使得CPU处理和I/O之间形成了串行交替执行的现象。在该处理模型中,由于一个页面的I/O时延明显大于CPU处理一个页面的时间,导致CPU处理过程会被I/O操
循序渐进丨JDBC调用 MogDB 数据库存储过程返回ref_cursor的方法和注意事项
MogDB 数据库在处理存储过程的时候,有时候需要返回结果集,类型为ref_cursor,但有时候可能会报错,而大部分应用程序都是使用Java JDBC。我们根据这几年的数据库国产化改造经验,通过本文给大家分享一下JDBC调用 MogDB 存储过程返回ref_cursor的方法和注意事项。01创建测试用存储过程该存储过程有两个OUT参数,其中一个返回结果集(sys_refcursor),返回的行数
循序渐进丨MogDB 数据库特性之动态数据脱敏机制
数据脱敏是行之有效的数据库隐私保护方案之一,可以在一定程度上限制非授权用户对隐私数据的窥探。动态数据脱敏机制是一种通过定制化脱敏策略来实现对隐私数据保护的技术,可以在保留原始数据的前提下有效地解决非授权用户对敏感信息访问的问题。当管理员指定待脱敏对象和定制数据脱敏策略后,用户所查询的数据库资源如果关联到对应的脱敏策略时,则会根据用户身份和脱敏策略进行数据脱敏,从而限制非授权用户对隐私数据的访问。事
循序渐进丨MogDB 数据库新特性之SQL PATCH绑定执行计划
1SQL PATCH熟悉 Oracle 的DBA都知道,生产系统出现性能问题时,往往是SQL走错了执行计划,紧急情况下,无法及时修改应用代码,DBA可以采用多种方式针对于某类SQL进行执行计划绑定,比如SQL Profile、SPM、SQL Plan Base等等。MogDB 数据库5.0版本引入了SQL PATCH的特性,SQL PATCH能够在避免直接修改用户业务语句的前提下对查询执行的方式做
循序渐进丨MogDB 数据库的三种函数稳定性关键字
一、Oracle 中类似的函数稳定性关键字(DETERMINISTIC)在 Oracle 里,function有着一个DETERMINISTIC参数,它表示一个函数在输入不变的情况下输出是否确定,只要输入的参数一样,返回的结果一定是一样的,以保证函数对于任何输入总是完全相同的方式处理参数。Oracle 的内置函数UPPER、TRUNC等都是DETERMINISTIC函数。具体例子如下:----带D
循序渐进丨MogDB 数据库如何实现自增主键
概述自增主键是我们在设计数据库表结构时经常使用的主键生成策略,主键的生成可以完全依赖数据库,无需人为干预,在新增数据的时候,我们只需要将主键的值设置为default,数据库就会为我们自动生成一个主键值。MySQL 主键自增使用AUTO_INCREMENT关键字,PostgreSQL 自增使用SERIAL关键字或者序列。而 MogDB openGauss 里兼容两种语法。AUTO_INC
循序渐进丨MogDB 数据库查看当前/历史执行计划
一、概述SQL执行计划是一个节点树,显示 MogDB 执行一条SQL语句时执行的详细步骤。每一个步骤为一个数据库运算符。执行计划对于我们进行SQL调优可以说是必不可少的关键信息。以下总结的是关于如何查看 MogDB 数据库当前、历史执行SQL的执行计划以及定位执行缓慢算子的方法。首先介绍 MogDB 与SQL密切相关的两个特性:ASP和全量SQL&慢查询。二、ASP01特性简介ASP
循序渐进丨MogDB 数据库BTREE索引压缩特性详解
背景索引是一种用于加速数据查询的技术,在数据库中,索引通常基于表中的一列或多列的值创建,在索引中记录原始数据的存储位置,查询时通过索引能够快速定位数据。使用索引也有代价,索引本身需要占用存储空间。同时,对表进行插入、更新或删除操作时,为了保证索引和数据的一致性,索引也需要更新,这会带来一定的性能开销。因此,在使用数据库时,需要权衡索引带来的查询性能提升和索引本身的开销。BTREE索引具有稳定的查询
循序渐进丨MogDB 数据库行级压缩特性详解
背景随着大数据、云计算、物联网等技术的飞速发展,用户场景产生的数据量持续增长,花费在数据存储上的成本也越来越高⇧。如果能在数据持久化保存到存储介质之前对其进行压缩,一方面可以减少存盘的数据量,降低存储成本,另一方面可以减少数据库系统对存储介质的访问次数和数据量,能够在一定程度上提升数据库的性能。数据压缩是在保证数据完整性和安全性的基础上,使用一定的压缩算法对数据进行编码处理,以达到减少存储空间的一
循序渐进丨MogDB 数据库的Hash join实现
Join有三种实现算法:Nested Loop、Merge Join、Hash join。他们各有优缺点:Nested Loop通常性能不好,但适用于任何类型的join;Merge Join对预排序的数据性能非常好;Hash join对⼤数据量通常性能最好,但是只能处理等值条件,⽽不能处理像c1 > c2这样的join条件,Hash join是处理分析性查询的重要算⼦。Hash join是⼀
循序渐进丨基于 MogDB 制定一套数据库规范
在实际工作场景中,为了确保团队内以及团队之间可以快速顺利地进行工作交接,在最小的成本下理解已经存在的数据库对象,需要制定一些数据库规范,并应关注以下特点:规范需要持续维护,不断改善来适应自身业务的发展。标准的规范可以减少出错的概率,保证程序安全稳定运行。可以快速定位问题原因并有效解决。标准的规范可以提升开发效率,也可自动化管理。本文就基于 MogDB 制定一套数据库规范,算是使用数据库时应该注意
DTC 2024深度聚焦丨云和恩墨:在数字化浪潮中,追求数据库技术的精彩演绎
扬帆起航,共筑技术梦想随着2001年互联网黄金时代的席卷而来,技术论坛和社区成为了众多科技追梦者的智慧绿洲。在这其中,有一群对数据库技术充满热忱的青年才俊,他们因论坛而结缘,怀揣着相同的理想,醉心于攻克各类数据库技术难关,废寝忘食地追求数据库问题的最优解。尽管他们的背景各异、专业领域不同,却都倾注了深厚的热爱与独到见解于数据库技术之中。他们通过论坛分享自己的经验,讨论各种难题,相互学习、共同进步,
循序渐进丨MogDB Ustore存储引擎剖析
背景MogDB 数据库支持不同的存储引擎,其中行存引擎有Astore和Ustore,目前大部分客户场景使用的是Astore,也就是 Append Update(追加更新)模式。Astore对于业务中的增、删以及HOT Update(即同一页面内更新)有很好的性能表现,但对于跨数据页面的非HOT UPDATE场景,存在历史数据回收不够高效的问题。造成这一问题的主要原因是Astore中将新旧版本元组集
循序渐进丨MogDB 对 Oracle DBLink兼容性增强
本特性自 MogDB 5.0.0版本开始引入,支持 Oracle DBLink语法,可以使用@符号访问 Oracle 数据库中的表。示 例01 环境准备MogDB 环境已安装 MogDB 数据库。已安装oracle_fdw插件,具体安装方法参见oracle_fdw安装文档https://docs.mogdb.io/zh/mogdb/v5.0/1-oracle_fdw(复制链接