- 博客(86)
- 收藏
- 关注
原创 GaussDB技术解读高性能——物理优化CBO
(2)行数估算,代价估算的基础,来源于基表统计信息的推算,估算基表baserel、Join中间结果集joinrel、Aggregation中结果集大小,为代价估算做准备。(4)路径搜索,依据若干算子的执行代价对最优路径进行路径搜索,通过求解路径最优算法(e.g. 动态规划、遗传算法)处理连接路径搜索过程,以最小搜索空间找到最优连接路径。(3)代价估算,根据关系的行数,推算出当前算子的执行代价,根据数据量估算不同算子执行代价,各算子代价之和即为计划总代价。GaussDB技术解读高性能——物理优化CBO。
2024-11-28 09:58:19 313
原创 GaussDB技术解读高性能——数据分区与分区剪枝
由于分区策略的实现完全由数据库内部实现,对用户是完全透明的,因此它几乎可以在实施分区表优化策略以后做平滑迁移,无需潜在耗费人力物力的应用程序更改:(1)改善查询性能,对分区对象的查询可以仅搜索自己关心的分区,提高检索效率(2)增强可用性,如果分区表的某个分区出现故障,表在其他分区的数据仍然可用。列表分区功能,即根据表的一列,将要插入表的记录中出现的键值分为若干个列表(这些列表在不同的分区里没有重叠),然后为每个列表创建一个分区,用来存储相应的数据。给定分区的所有子分区表示数据的逻辑子集。
2024-11-28 09:57:47 575
原创 GaussDB技术解读高性能——计划缓存计划技术
上图为对比走计划缓存、不走计划缓存的SQL执行过程,可以看到执行待计划缓存的查询语句可以规避掉大量的处理逻辑,在OLTP并发负载场景下提升效果镜像,首先,事务型负载单条查询执行时间本身就在毫秒级ms,查询解析、RBO/CBO优化等一些列过程也是毫秒级往往会超过查询本身的执行时间,另一方面,查询解析、RBO/CBO本身是消耗CPU计算资源的操作,这对事务型高并发、高吞吐的事务型复杂起来说非常明显的资源占用,如果能将这部分资源剩下、同时将查询解析的时延消减为0对整体性能是非常明显的提升。
2024-11-28 09:57:06 305
原创 GaussDB技术解读高性能——分布式执行框架
分布式执行流水线(Distribution Pipeline)在分布式执行过程中如果存在数据搬移,Stream算子的数据发送端、数据接收端有不同的线程完成,他们在时间分片上重叠以并行的方式执行,因此全局执行计划被网络通信算子Stream切分成多个计划片段,分别有不同的线程来完成执行,不同的线程之间采用PC生产者消费者进行交互通信,全局上达到并行执行的效果。例如下图的分布式执行计划,由于不同的表分布属性不同,因此通过分布式执行框架Stream节点进行数据串联并执行,最后在CN节点进行结果集汇总。
2024-11-28 09:56:31 332
原创 GaussDB技术解读高性能——分布式优化器
分布式数据库场景下表分布在各个节点上,数据的本地性Data Locality是分布式优化器中生成执行计划时重点考虑的因素,基于Share Nothing的分布式数据库中有一个很关键概念就是“移动数据不如移动计算”,之所以有数据本地性就是因为数据在网络中传输会有不小的I/O消耗,网络的overhead通常情况下会大于本地的计算,因此分布式数据库优化的一个重要的原则就是尽量减少这个网络I/O消耗就能够提升效率。GaussDB技术解读高性能——分布式优化器。
2024-11-28 09:55:42 164
原创 GaussDB高性能关键技术——查询重写RBO
使用谓词查询条件的可满足性Satisfiability (SAT)&可传递性Transitive Closure(TC)对查询进行化简,a.w.k SAT-TC,假设有t1,t2表,他们的定义分别为:T1(c1 int, c2 int);在数据库里RBO基于规则的优化一般指查询重写技术,按照一系列关系代数表达式的等价规则,对查询的关系代数表达式进行等价转换,从逻辑上减少执行的总量从而提高查询执行效率,例如,通过条件的推导得出非必要的表扫描、避免非必要的计算表示等。
2024-11-28 09:52:52 890
原创 GaussDB技术解读高性能——计划缓存计划技术
上图为对比走计划缓存、不走计划缓存的SQL执行过程,可以看到执行待计划缓存的查询语句可以规避掉大量的处理逻辑,在OLTP并发负载场景下提升效果镜像,首先,事务型负载单条查询执行时间本身就在毫秒级ms,查询解析、RBO/CBO优化等一些列过程也是毫秒级往往会超过查询本身的执行时间,另一方面,查询解析、RBO/CBO本身是消耗CPU计算资源的操作,这对事务型高并发、高吞吐的事务型复杂起来说非常明显的资源占用,如果能将这部分资源剩下、同时将查询解析的时延消减为0对整体性能是非常明显的提升。
2024-11-28 09:52:18 397
原创 GaussDB技术解读高性能——数据分区与分区剪枝
由于分区策略的实现完全由数据库内部实现,对用户是完全透明的,因此它几乎可以在实施分区表优化策略以后做平滑迁移,无需潜在耗费人力物力的应用程序更改:(1)改善查询性能,对分区对象的查询可以仅搜索自己关心的分区,提高检索效率(2)增强可用性,如果分区表的某个分区出现故障,表在其他分区的数据仍然可用。列表分区功能,即根据表的一列,将要插入表的记录中出现的键值分为若干个列表(这些列表在不同的分区里没有重叠),然后为每个列表创建一个分区,用来存储相应的数据。给定分区的所有子分区表示数据的逻辑子集。
2024-11-28 09:50:25 696
原创 GaussDB技术解读高性能——物理优化CBO
(2)行数估算,代价估算的基础,来源于基表统计信息的推算,估算基表baserel、Join中间结果集joinrel、Aggregation中结果集大小,为代价估算做准备。(4)路径搜索,依据若干算子的执行代价对最优路径进行路径搜索,通过求解路径最优算法(e.g. 动态规划、遗传算法)处理连接路径搜索过程,以最小搜索空间找到最优连接路径。(3)代价估算,根据关系的行数,推算出当前算子的执行代价,根据数据量估算不同算子执行代价,各算子代价之和即为计划总代价。GaussDB技术解读高性能——物理优化CBO。
2024-11-28 09:49:38 235
原创 GaussDB技术解读高性能——物理优化CBO
(2)行数估算,代价估算的基础,来源于基表统计信息的推算,估算基表baserel、Join中间结果集joinrel、Aggregation中结果集大小,为代价估算做准备。(4)路径搜索,依据若干算子的执行代价对最优路径进行路径搜索,通过求解路径最优算法(e.g. 动态规划、遗传算法)处理连接路径搜索过程,以最小搜索空间找到最优连接路径。(3)代价估算,根据关系的行数,推算出当前算子的执行代价,根据数据量估算不同算子执行代价,各算子代价之和即为计划总代价。GaussDB技术解读高性能——物理优化CBO。
2024-11-28 09:49:07 233
原创 GaussDB技术解读——高性能之查询处理流程
(5)分布式执行:实现数据库的高效通信(分布式数据库)对数据库的执行过程来说以上每个环节处理所花销的时间都是对最后查询执行时间的组成,因此每个环节执行效率都对性能会产生影响,决定查询端到端的性能。(1)查询解析:对用户输入查询进行编译,把查询从文本方式翻译成执行引擎可以识别的语句。(2)查询优化:对查询的进行基于规则的逻辑优化RBO和基于代价CBO的物理优化。查询处理流程查询在经典数据库实现中需要依次进行以下4个环节,(3)查询执行:将查询执行计划高效执行。(4)数据读取:实现对数据库的高效读取。
2024-11-28 09:47:45 191
原创 GaussDB技术解读——轻量全局事务管理GTM-lite
由此,一个好的模式应该是在尽可能少的协调的情况下,达到尽可能高的性能,这也是本章介绍的GTM-LITE模式GTM-LITE的主要目标就是在消除GTM瓶颈影响的同时,尽可能通过更少的信息交互,利用它来协调好事务的并发,从而保证事务一致性的同时提升性能。(1)本地事务id取代全局事务id。GTM,全称Global Transaction Manager,即全局事务管理器,负责全局事务号的分发,事务提交时间戳的分发以及全局事务运行状态的登记,作为事务管理中的重要模块,为支持事务一致性提供必要的保证。
2024-11-28 09:46:32 254
原创 GaussDB数据库技术解读——分布式执行
(2)Share-Disk共享磁盘(典型代表Oracle RAC),各个处理单元使用自己的私有 CPU和Memory,共享磁盘系统,可通过增加节点来提高并行处理的能力,扩展能力较好,类似于SMP(对称多处理)模式,这种架构需要通过一个狭窄的数据管道将所有I/O信息过滤到昂贵的共享磁盘子系统,当存储器接口达到饱和的时候,增加节点并不能获得更高的性能。(1)Share-Memory共享内存(典型代表SQL Server),多个处理进程共享同一片内存,处理进程之间通过内部通讯机制进行通讯,通常具有很高的效率;
2024-11-28 09:45:48 741
原创 GaussDB数据库技术解读——高性能关键技术
使用谓词查询条件的可满足性Satisfiability (SAT)&可传递性Transitive Closure(TC)对查询进行化简,a.w.k SAT-TC,假设有t1,t2表,他们的定义分别为:T1(c1 int, c2 int);在数据库里RBO基于规则的优化一般指查询重写技术,按照一系列关系代数表达式的等价规则,对查询的关系代数表达式进行等价转换,从逻辑上减少执行的总量从而提高查询执行效率,例如,通过条件的推导得出非必要的表扫描、避免非必要的计算表示等。
2024-11-28 09:44:12 404
原创 聊聊GaussDB新增的Ustore存储引擎
GaussDB新增的Ustore存储引擎,相比于Append Update(追加更新)行存储引擎,Ustore存储引擎可以提高数据页面内更新的HOT UPDATE的垃圾回收效率,有效减少多次更新元组后存储空间占用的问题。Ustore存储引擎结合Undo空间,可以实现更高效、更全面的闪回查询和回收站机制,能快速回退人为“误操”为GaussDB Kernel提供了更丰富的企业级功能。在频繁更新类的业务场景中,更新操作采用原地更新模式,可以获得更高、更平滑的性能表现。
2024-11-28 09:43:42 240
原创 GaussDB-什么是GaussDB 轻量化部署形态
云数据库GaussDB管理平台(TPOPS)不依赖华为云Stack云底座,与华为云Stack标准云部署形成场景互补,可获得与华为云Stack云上一致的用户体验。GaussDB是华为公司自主研发的新一代企业级分布式关系型数据库,基于Shared-Nothing架构,同时支持X86和ARM计算架构,提供高吞吐强一致性事务处理能力、金融级高可用能力、分布式高扩展能力、大数据高性能查询能力,应用于金融、电信、政府等行业关键核心系统。GaussDB 轻量化部署形态是基于华为云Stack标准全栈方案的轻量化。
2024-11-27 09:30:50 115
原创 GaussDB数据库SQL系列-层次递归查询
对于每个连接的行,它们的层级是父级的层级加1,并且它们的路径是父级的路径加上逗号和它们自己的行政区。在递归查询中,查询会反复地递归进入到一个子查询中,直到查询得到满足条件的结果或遍历完整个查询范围。参数:col为在路径中显示的列名,支持类型为CHAR/VARCHAR/NVARCHAR2/TEXT的列,参数separator为路径节点之间的分隔符。在一些复杂的查询场景中,递归查询能够更快地得到结果。同样的, 在使用GaussDB等数据库时,只要正确合理的应用递归查询,就可以更好地提高查询效率和应用性能。
2024-10-31 14:12:49 358
原创 GaussDB数据库SQL系列-数据去重
数据去重涉及到的面非常广,包括重复数据的发现、去重规则的定义、去重的方法与效率、去重的困难与挑战等等。但是,去重原则只有一个,那就是以业务为导向。例如优先将含有手机号的记录行进行补齐,需要补齐的字段有“是否有车、是否有房、婚姻状况”,其取值是来源为“车险”的对应记录。前置过滤:采用前置过滤的方式,先对数据集进行一些简单的筛选和处理,如去除空值、去除无效字符等,可以减少比较次数,从而提高去重效率。客户信息字段主要包含“姓名、性别、出生年月日、证件类型、证件号、来源、是否有车、是否有房、婚姻状态、手机号、……
2024-10-30 09:59:28 942
原创 GaussDB数据库的元数据及其管理简介
元数据管理从技术角度,元数据管理着企业的数据源系统、数据平台、数据仓库、数据模型、数据库、表、字段以及字段间的数据关系等技术元数据。数据库的元数据指的是关于数据库对象(如表、列、索引、视图、存储过程等)的信息,这些信息描述了这些对象的结构和属性。GaussDB数据库元数据的获取/采集主要是以系统表、视图、函数等方式获取,其元数据不止包含TABLES、VIEWS、COLUMNS、SOURCE、JOB,还包括USERS、COMMENTS等。主要字段:表的所有者、表的名称、列名、列的数据类型、列的字节长度等。
2024-10-30 09:58:11 579
原创 GaussDB之SQL Audit,面向应用开发的SQL审核工具
为了解决从源代码中无法获取全部SQL的问题,我们开发了基于流量抓取的SQL审核能力,它能极大提升对SQL获取的完整度。SQL解析的过程就是将SQL语句按照语法规则解析成语法树的过程,一般的解析过程分为词法解析和语法解析,然后生成语法树,大部分对SQL语句分析的工具都是直接遍历语法树实现的,SQL Audit工具没有直接解析语法树,而是增加了一个处理过程,将语法树解析成Java描述类,后面所有的审核规则都是基于这个语法描述类进行,这样大大提高对审核规则的开发效率,同时降低了开发难度。这一系列的问题都会产生。
2024-10-30 09:57:14 733
原创 GaussDB数据库SQL系列-SQL与ETL浅谈
当然了,现在好多企业都有专门的ETL工具,但其实后台都是通过类似“PYTHON + SQL”、“PERL + SQL”等方式实现的,其重点在于ETL过程中的SQL处理。内置的数据转换和处理功能:DataArts Studio提供了丰富的内置转换和处理组件,如数据清洗、数据格式转换、数据合并、数据计算等。ETL是数据集成的一部分,用于将分散的、不一致的数据整合到一起,然后通过统一的接口将数据传输到目标系统库进行分析和应用。在ETL过程中,加载是将转换后的数据加载到目标系统中,通常是数据仓库或数据集市。
2024-10-30 09:56:27 897
原创 GaussDB技术解读系列:运维自动驾驶探索
数据库的可观测能力对于数据库的运维十分重要,GaussDB全链路监控具备从硬件、OS、DB等分层监控,构建从采集、发送、展示、分析到巡检等全链路能力,并且打通了硬件到操作系统,到数据库整个监控链的通道。所谓全局快慢车道,就是定义两个资源池,一个是正常资源池,我们称为快车道,快车道提供大量的资源,正常业务在快车道运行,如果出现交通事故,这里的交通事故就是指异常的SQL业务,我们可以通过页面一键将异常SQL放到慢车道中,慢车道限制了对资源的使用,这样交通事故处理完了,快车道可以继续保持高速运行。
2024-10-30 09:55:53 722
原创 GaussDB数据库SQL系列-自定义函数
对于f1,它直接返回输入的整数值。总的来说,在GaussDB中,函数是一种强大且灵活的工具,它能帮助数据库管理和开发人员更有效地处理和操作数据,提高工作效率,并在数据查询、数据转换、数据过滤等场景中发挥出更大的作用。当调用这个函数时,你可以传入一个整数参数,它将返回一个结果集,其中包含一个记录,其result_1字段的值为输入的整数加1,result_2字段的值为输入的整数乘以10。这段代码是在创建一个名为’func_add_sql’的SQL函数,这个函数接受两个整数作为输入参数,并返回它们的和。
2024-10-30 09:55:22 644
原创 GaussDB数据库SQL系列-游标管理
在隐式游标的工作区中,所存放的数据是最新处理的一条SQL语句所包含的数据,与用户自定义的显式游标无关。第六步,关闭游标:当提取和处理完游标结果集合数据后,应及时关闭游标,以释放该游标所占用的系统资源,并使该游标的工作区变成无效,不能再使用FETCH语句获取其中数据。隐式游标:对于非查询语句,如修改、删除操作,则由系统自动地为这些操作设置游标并创建其工作区,这些由系统隐含创建的游标称为隐式游标,隐式游标的名称为SQL,这是由系统定义的。第三步,提取游标数据:检索结果集合中的数据行,放入指定的输出变量中。
2024-10-30 09:54:15 430
原创 GaussDB数据库SQL系列-定义重载函数
在GaussDB数据库中,函数重载是一个重要特性,允许我们在同一个数据库中定义多个同名函数,根据参数的不同来调用不同的函数。需要注意的是,在数据库中实现自定义重载函数并不是一件必须的事情,因为数据库系统通常已经提供了丰富的内置函数和操作符,能够满足大部分数据处理需求。函数重载是一种允许在同一个数据库中定义多个同名函数的特性。这些同名函数在参数类型、数量或顺序上有所不同,因此可以根据传入的参数的不同来调用不同的函数。使用函数重载,我们可以根据具体情况选择不同的函数来实现不同的功能,使代码更加简洁和可读。
2024-10-30 09:53:29 553
原创 GaussDB技术解读系列:性能调优
数据库性能优化充满复杂性和挑战性,既有主观的成分,也有复杂的一面。对于数据库系统的性能影响是多方面的,不管是硬件规格、操作系统配置、数据库系统的设计、应用和客户端的连接方式,都会对业务最终的性能表现产生很大的影响,所以数据库的性能表现本质上是整体计算机系统软硬件协调的结果。第一个是应用升级后引起了性能剧烈波动,我们先观察一下实例整体执行的时间,看看在哪一步消耗的比重最高,通过归一化视图观察单个SQL,看每一步的执行消耗,发现是在网络发送部分引起的,我们把应用侧进行替换,应用程序更新后这个问题就解决了。
2024-10-30 09:53:14 770
原创 GaussDB技术解读系列:数据库迁移创新实践
数据库的选型除了要看数据库本身的能力外,能否很平滑地从其他数据库迁移到GaussDB,也是很多企业考量的关键因素。SQL审核大家更为熟悉,很多大的企业都会进行探索和实践,但对于GaussDB来说,由于是纯自主创新的分布式数据库,很多企业的开发人员和DBA还不熟悉GaussDB的SQL语法,也没有制定较为完善的SQL编程规范,很多第三方SQL审核工具也没有针对GaussDB的审核能力,这种情况下,我们结合UGO成熟的SQL解析器,以及多个项目中的SQL调优实践,孵化出了GaussDB数据库的SQL审核能力。
2024-10-30 09:51:40 611
原创 GaussDB技术解读系列:高安全之密态等值
比如在使用的时候输入一个SQL语句,加密驱动会找到哪个字段需要加密,然后用一个密钥把它自动加密,这样加密完后整个流程都是密文的,整个数据库跑的数据、以及跑完之后的结果都是密文数据,不论什么时候把数据拿走,拿走的也都是密文的,因为在整个数据库里面没有任何解密的过程。而之前的传统方案,是强制在应用层加密,加密完成后存到数据库,用数据的时候,先把数据查询出来之后做解密再使用,数据库做不了任何事情,这种方案加密时间长,性能损耗大,密钥需要自管,所以上了全密态。在这种新形势下,数据库的安全也面临很大的威胁。
2024-10-30 09:50:30 786
原创 GaussDB SQL基础语法示例-循环语句
SQL是用于访问和处理数据库的标准计算机语言。GaussDB支持SQL标准(默认支持SQL2、SQL3和SQL4的主要特性)。本系列将以《云数据库GaussDB—SQL参考》为主线进行介绍。
2024-10-30 09:50:04 309
原创 GaussDB SQL基础语法示例-数组表达式
SQL是用于访问和处理数据库的标准计算机语言。GaussDB支持SQL标准(默认支持SQL2、SQL3和SQL4的主要特性)。本系列将以《云数据库GaussDB—SQL参考》在线文档为主线进行介绍。欢迎使用GaussDB数据库数组表达式。在本文中,我们将介绍GaussDB数据库中数组表达式的概念、语法和用法。GaussDB是一种高性能、高可扩展的分布式数据库,广泛应用于各种业务场景。数组表达式是GaussDB数据库中的一种强大功能,它允许用户在数据库查询中使用数组操作符和函数来处理数组类型的数据。
2024-10-30 09:44:12 413
原创 GaussDB SQL基础语法示例-常见的条件表达式
SQL是用于访问和处理数据库的标准计算机语言。GaussDB支持SQL标准(默认支持SQL2、SQL3和SQL4的主要特性)。本系列将以《云数据库GaussDB—SQL参考》为主线进行介绍。
2024-10-30 09:43:23 287
原创 GaussDB SQL基础语法示例-BOOLEAN表达式
SQL是用于访问和处理数据库的标准计算机语言。GaussDB支持的SQL标准(默认支持SQL2、SQL3和SQL4的主要特性)。本系列将以《云数据库GaussDB—SQL参考》为主线进行介绍。1、概念在GaussDB数据库中,BOOLEAN表达式是一种很常见的表达式类型,它用于比较两个条件,来确定其是否为真或假。BOOLEAN表达式可以用于条件判断或在循环语句中作为终止条件。其语法非常简单,只需要使用逻辑运算符对两个条件进行比较。
2024-10-30 09:42:16 578
原创 GaussDB数据库特性-物化视图简介
普通视图是虚拟表,应用的局限性较大,任何对视图的查询实际上都是转换为对SQL语句的查询,性能并没有实际上提高。物化视图在GaussDB数据库中有两种表现形式,分别是全量物化视图和增量物化视图。GaussDB数据库中增量物化视图概述:增量物化视图顾名思义就是可以对物化视图增量刷新,需要用户手动执行语句完成对物化视图在一段时间内的增量数据进行刷新。GaussDB数据库中全量物化视图的概述:全量物化视图仅支持对创建好的物化视图做全量更新,而不支持做增量更新。3)再次向物化视图中源表插入数据,并刷新全量物化视图。
2024-10-29 11:01:19 878
原创 对GaussDB数据库和数据管理的简单介绍
企业应充分利用GaussDB数据库对数据管理的更多功能和优势,加强数据管理实践,不断提升数据质量、数据安全,为企业的发展创造更大的价值。数据库是用于存储数据的系统,为数据提供了安全、可靠、可扩展和可管理的存储环境。数据质量涉及的范围也很广,贯穿业务的整个生命周期,从“数据产生->数据接入->数据存储->数据处理->数据输出->数据展示”,每个阶段都需要质量管理。从语法、语义、语用三个方面去定义和衡量数据质量,在数据产生、数据加工以及数据使用的全过程中均需要符合其制定的标准和规范。
2024-10-29 11:00:57 602
原创 GaussDB数据库SQL系列-LOCK TABLE
UPDATE,DELETE,INSERT命令会自动在目标表上请求这个锁(且所有被引用的其他表上还会自动加上的ACCESS SHARE锁)。同样,大多数GaussDB命令自动施加恰当的锁,以保证被引用的表在命令的执行过程中不会以一种不兼容的方式被删除或者修改。然而在某些操作的时候,会在某些系统表上请求它。在GaussDB中,锁是实现并发控制的关键机制之一,用于协调多个事务之间的数据访问,确保数据的一致性和完整性。在数据库中,事务是一组一起执行的SQL语句,要么全部成功,要么全部失败,这可以确保数据的一致性。
2024-10-29 10:58:56 820
原创 GaussDB技术解读系列:如何迁移到GaussDB_
上面解答了能不能迁移,怎么迁移的问题,那么迁移至GaussDB后能否平稳度过业务峰值的考验,技术上有了上面UGO和DRS的基础,我们能够在Oracle数据库上自动采集数据了。数据库一个非常繁忙的软件,每过一秒都有可能会有成千上万的数据发生变化,如何在数据高度变化的动态过程中将数据库迁走,比较容易想到的做法是将业务停机来确保数据迁移不丢失,但这对于一个核心业务来说是无法接受的,这样就提出了一个技术问题,有没有一种办法可以在业务运行过程中将数据库迁移到GaussDB,也就是业界常说的热迁移,或者说在线迁移。
2024-10-29 10:57:53 632
原创 GaussDB技术解读系列:HTAP方向的探索与发展
这个架构的问题是,它的数据新鲜度不够好,比如说先前在互联网应用方面,我们经常做一些个性化的用户推荐,在给用户推荐感兴趣的商品时,会在登录时对它进行一个用户画像,根据用户画像的结果推荐产品,这是一种实时分析的能力。它之所以成为关键的原因是因为增加了客户的易用性,提升了HTAP产品的商用价值。目前,GaussDB既有基于同Server的实时的HTAP,也有基于主备技术的准实时的HTAP,同时在透明路由的加持下,能够准确的把业务分流同步分到实时的HTAP上,达成在性能、资源隔离、数据新鲜度方面有一个均衡的结果。
2024-10-29 10:57:02 725
原创 GaussDB SQL基础语法示例-GOTO语句
SQL是用于访问和处理数据库的标准计算机语言。GaussDB支持SQL标准(默认支持SQL2、SQL3和SQL4的主要特性)。本系列将以《云数据库GaussDB—SQL参考》在线文档为主线进行介绍。GOTO 语句是直观基本的控制流语句,会导致控制流发生无条件更改。它用于分流至使用 SQL 过程中定义的标签的特定用户定义位置。使用 GOTO 语句通常被视为缺乏编程技巧,并且不推荐这样做。大量使用 GOTO 会导致代码可读性不好,特别是在过程变长时。
2024-10-29 10:56:36 369
原创 GaussDB SQL基础语法-变量&常量
SQL是用于访问和处理数据库的标准计算机语言。GaussDB支持SQL标准(默认支持SQL2、SQL3和SQL4的主要特性)。本系列将以《云数据库GaussDB—SQL参考》在线文档为主线进行介绍。数据库中的变量和常量是两种重要的数据使用类型。变量是可以变化和被修改的,而常量则是固定不变,不能被修改的。1、变量定义在GaussDB中,变量是用于存储可变值的数据类型。变量通常在程序中定义,并在执行期间可以更改其值。其中,variable_name 是变量的名称,data_type 是变量的数据类型。
2024-10-29 10:50:48 788
原创 如何设计好分布式数据库,这个策略很重要(GaussDB)
GaussDB是分布式架构,数据分布在各个DN上,设计好的数据分布策略是分布式数据库设计中最关键的环节。本文结合电子商城场景讲述了支持的数据分布策略、分布键的选择以及关联过程,还讲述了应该规避的问题。理解了以上这些内容后,相信你可以结合自己的业务场景,设计出最佳的数据分布策略。。
2024-10-29 10:48:52 930
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人