自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 GaussDB集群管理层(CM)关键技术方案

接收并处理 CM Agent 上报的实例状态,下发仲裁指令保证各类故障和异常场景下集群的可用性对应 cm_server 二进制文件,常驻服务CM与各类组件的主备数据同步、倒换、重建等机制高度融合,提供告警、重启、倒换、隔离等手段,赋予数据库实例故障恢复及自愈的高可用(HA)能力,保证数据的可靠性和完整性,最终实现集群对外的业务连续性。DN 故障单点故障可自动恢复主 DN 故障时,仲裁备 DN 升主继续提供服务备 DN 故障时,主 DN 将日志和数据同步至从备,业务不受影响。2) 同等条件下,静态主优先。

2024-12-30 10:03:43 566 1

原创 GaussDB数据库中逻辑对象关系简析

总结GaussDB数据库的逻辑对象之间的关系,如下图所示:在逻辑层面,GaussDB数据库以不同的database进行逻辑上的区分,一个数据库实例中可以定义多个database,database内可以定义不同的schema、schema内又包含不同的数据库对象。在物理存储层面,表空间对应的是实际的数据存储目录,同一个database可以使用不同的表空间、同一个表空间又可以被不同的database使用。不过在实际使用过程中建议使用默认的表空间。

2024-12-30 10:03:06 516

原创 GaussDB OM运维管理关键技术方案

通过OM Adaptor和OM Agent 采用适配器模式设计,对管控面提供了统一的北向接口。华为云Console调用云管控服务,云管控服务根据用户输入的运维操作,如购买实例,进行相应的操作,如购买实例,云管控服务会创建虚拟机。用户登录华为云Console,访问GaussDB Kernel V5的管控页面,输入想要的运维操作(购买实例)。Adapter会调用OM Agent。OM Agent会调用OM来完成具体的运维操作。云管控服务调用Mgr Agent,Mgr Agent会调用内置插件Adapter。

2024-12-30 09:51:47 188

原创 智能优化揭秘——GaussDB数据库查询重写的自动挖掘与生成

但是有了WeTune以后,开发者只要按照形式化语言去描述重写规则,然后WeTune拿去做验证,证明该规则在约束下是等价的,就可以放心地将该重写规则添加到GaussDB中,节约验证时间,对GaussDB的开发等流程非常有帮助。查询改写是数据库SQL优化过程中非常重要的部分,在语义不变的情况下,它可以把一条普通的或者性能不好的SQL语句优化成一条性能更好的SQL语句,实现查询效率的提升。但是,改写规则非常多的时候,会导致改写和规则匹配的时间非常长,导致资源的极大浪费,也会影响用户体验。

2024-12-30 09:50:02 313

原创 为什么MySQL单表不能超过2000万行? (1)

它的叶子节点存储索引键以及对应的行指针(所在的页面编号及页内偏移),堆组织表叶子节点可以存更多的数据,分析可得在同样的数据量与业务并发量下,堆组织表会比索引组织表发生SMO概率低许多。在对叶子节点的修改操作中,InnoDB可以实现较好的1与1、1与2的并发,但是无法解决2的并发。如下图所示,在节点2分裂为节点2和4的过程中,只需要在最后一步将父节点1指向新节点4时,对父节点1加锁,其他操作均无需对父节点加锁,更无需对root节点加锁,因此,大大提升了SMO过程中写操作的并发度。

2024-12-30 09:48:50 692

原创 数据库技术解读之细粒度资源管控

基于此,考虑IO管控功能采用逻辑IO统计方式,对用户或者会话的读写IO进行管控限制,在工作线程和共享缓存之间增加了逻辑IO计数,对于行存表来说每6000(可通过io_control_unit GUC进行修改)行算做一次IO,当一秒产生的读写IO请求数超过资源池设置的阈值时,则将该IO请求加入到后台线程的一个等待队列里,后台线程将对等待队列里的这些IO请求进行监控,当其等待时间符合条件时,将这些IO请求从等待队列中唤醒。用户可以创建一个资源池并指定其可以使用的CPU、内存与IO的份额,并把资源池与用户绑定。

2024-12-30 09:48:36 701

原创 利用GaussDB的可观测性能力构建故障模型

分布式数据库的运维工具开发起来比较麻烦,在前面的开发过程中我们也遇到了很多问题,比如DN节点的切换后,系统能否立即无缝跟踪到这个变化,如果复制组中存在硬件配置上的不同,可能会影响模型的评估,如何能够在每隔2-3分钟的评估中避开数据错误,这些都在不断的完善中。而故障模型的构建依赖于强大的可观测能力,以及将数据库状态指标化的能力,再辅以专家的经验才能完成。故障模型告警和诊断工具依然沿用D-SMART传统的模式,目前工具的开发还在持续进行中,不过基于运维知识图谱的通用分析工具已经是可用的了。

2024-12-30 09:46:24 624

原创 数据库技术解读之细粒度资源管控

基于此,考虑IO管控功能采用逻辑IO统计方式,对用户或者会话的读写IO进行管控限制,在工作线程和共享缓存之间增加了逻辑IO计数,对于行存表来说每6000(可通过io_control_unit GUC进行修改)行算做一次IO,当一秒产生的读写IO请求数超过资源池设置的阈值时,则将该IO请求加入到后台线程的一个等待队列里,后台线程将对等待队列里的这些IO请求进行监控,当其等待时间符合条件时,将这些IO请求从等待队列中唤醒。用户可以创建一个资源池并指定其可以使用的CPU、内存与IO的份额,并把资源池与用户绑定。

2024-12-30 09:45:50 535

原创 LLVM技术在GaussDB等数据库中的应用

万物互联的态势下,数据量的激增使得“如何提升数据处理性能”成为各家数据库共同面临的挑战。作为编译优化技术的代表,基于LLVM的CodeGen技术,能为每个查询生成定制的机器码替代原本的通用函数,减少实际查询时冗余的条件逻辑判断、虚函数调用并提高数据局域性,从而达到提升查询整体性能的目的,成为数据库性能优化的一项重要技术。LLVM能在分析类场景中给用户带来较大的收益,也能在特定的交易性场景中给用户带来一定的收益。接下来详细解读一下LLVM技术在GaussDB等数据库中的应用吧。

2024-12-30 09:45:11 880

原创 GaussDB数据库事务管理

并发控制与锁是数据库系统中重要的概念,用于管理多个事务对数据库同时进行读写的情况,以确保数据的一致性和事务的隔离性。在READ COMMITTED隔离级别下,事务只能读取已经提交的其他事务的数据,避免了脏读(读取到未提交的数据),但可能出现不可重复读和幻读的情况。保存点是事务中的一个标记,可以在事务执行的过程中创建。在事务中,通过ROLLBACK可以撤销当前事务的所有修改,而COMMIT则提交当前事务的所有修改。隔离性(Isolation):并发执行的事务之间相互隔离,一个事务的执行不受其他事务的影响。

2024-12-30 09:42:15 857

原创 GaussDB火焰图分析

CPU利用率是衡量系统负载和健康度的重要指标之一,系统在运行过程中时常发生CPU利用率高的情况。在分析性能问题时,可通过火焰图查看CPU耗时,了解瓶颈在哪里。

2024-12-30 09:41:06 559

原创 GaussDB的行存表与列存表的选择

行、列存储模型各有优劣,在实际应用中,我们需要根据具体的需求选择合适的存储方式,以实现高效的数据管理和分析。因此,行存表和列存表在硬盘上的存储方式也不同。对于行存表,每个记录都占用一个连续的空间块,而对于列存表,每个属性都有一个单独的空间块,所有属性值都存储在一个连续的空间块中。在基于列式存储的数据库中,数据是按照列数据为基础逻辑存储单元进行存储的,一列中的数据在存储介质中以连续存储形式存在。在基于行存储的数据库中,数据是按照行数据为基础逻辑存储单元进行存储的,一行中的数据在存储介质中以连续存储形式存在。

2024-12-30 09:40:33 523

原创 GaussDB的行存表与列存表的选择

行、列存储模型各有优劣,在实际应用中,我们需要根据具体的需求选择合适的存储方式,以实现高效的数据管理和分析。因此,行存表和列存表在硬盘上的存储方式也不同。对于行存表,每个记录都占用一个连续的空间块,而对于列存表,每个属性都有一个单独的空间块,所有属性值都存储在一个连续的空间块中。在基于列式存储的数据库中,数据是按照列数据为基础逻辑存储单元进行存储的,一列中的数据在存储介质中以连续存储形式存在。在基于行存储的数据库中,数据是按照行数据为基础逻辑存储单元进行存储的,一行中的数据在存储介质中以连续存储形式存在。

2024-12-30 09:39:38 886

原创 GaussDB WDR报告分析

CPU使用率高。

2024-12-30 09:39:17 1031

原创 GaussDB OLTP 云数据库配套工具DAS

数据管理服务(Data Admin Service,简称DAS),是一种提供数据库可视化操作的工具,包括基础SQL操作、高级数据库管理、智能化运维等功能,旨在帮助用户易用、安全、智能的进行数据库管理(连上网络、打开浏览器,即可随时随地、方便快捷的使用DAS),大幅提高工作效率,让数据管理变得既简单又安全。面向开发人员,最好用的数据库客户端,无需安装本地客户端,所见即所得的可视化提作体验,提供数据和表结构的同步、在线编辑,SQL输入的智能提示等丰富的数据库开发功能。数据操作:快速、自动化的填充表的测试数据;

2024-12-30 09:27:13 384

原创 GaussDB SQL基础语法示例-循环语句

SQL是用于访问和处理数据库的标准计算机语言。GaussDB支持SQL标准(默认支持SQL2、SQL3和SQL4的主要特性)。本系列将以《云数据库GaussDB—SQL参考》为主线进行介绍。

2024-12-27 15:07:54 430

原创 GaussDB SQL基础语法示例-数组表达式

SQL是用于访问和处理数据库的标准计算机语言。GaussDB支持SQL标准(默认支持SQL2、SQL3和SQL4的主要特性)。本系列将以《云数据库GaussDB—SQL参考》在线文档为主线进行介绍。欢迎使用GaussDB数据库数组表达式。在本文中,我们将介绍GaussDB数据库中数组表达式的概念、语法和用法。GaussDB是一种高性能、高可扩展的分布式数据库,广泛应用于各种业务场景。数组表达式是GaussDB数据库中的一种强大功能,它允许用户在数据库查询中使用数组操作符和函数来处理数组类型的数据。

2024-12-27 15:07:07 592

原创 GaussDB SQL基础语法示例-常见的条件表达式

SQL是用于访问和处理数据库的标准计算机语言。GaussDB支持SQL标准(默认支持SQL2、SQL3和SQL4的主要特性)。本系列将以《云数据库GaussDB—SQL参考》为主线进行介绍。

2024-12-27 15:06:23 870

原创 GaussDB SQL基础语法示例-循环语句

SQL是用于访问和处理数据库的标准计算机语言。GaussDB支持SQL标准(默认支持SQL2、SQL3和SQL4的主要特性)。本系列将以《云数据库GaussDB—SQL参考》为主线进行介绍。

2024-12-27 15:00:04 350

原创 GaussDB SQL基础语法示例-循环语句

SQL是用于访问和处理数据库的标准计算机语言。GaussDB支持SQL标准(默认支持SQL2、SQL3和SQL4的主要特性)。本系列将以《云数据库GaussDB—SQL参考》为主线进行介绍。

2024-12-27 10:56:16 427

原创 GaussDB SQL基础语法示例-常见的条件表达式

SQL是用于访问和处理数据库的标准计算机语言。GaussDB支持SQL标准(默认支持SQL2、SQL3和SQL4的主要特性)。本系列将以《云数据库GaussDB—SQL参考》为主线进行介绍。

2024-12-27 10:54:20 375

原创 GaussDB SQL基础语法示例-BOOLEAN表达式

SQL是用于访问和处理数据库的标准计算机语言。GaussDB支持的SQL标准(默认支持SQL2、SQL3和SQL4的主要特性)。本系列将以《云数据库GaussDB—SQL参考》为主线进行介绍。1、概念在GaussDB数据库中,BOOLEAN表达式是一种很常见的表达式类型,它用于比较两个条件,来确定其是否为真或假。BOOLEAN表达式可以用于条件判断或在循环语句中作为终止条件。其语法非常简单,只需要使用逻辑运算符对两个条件进行比较。

2024-12-27 10:48:45 627

空空如也

空空如也

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

TA关注的人

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