摘要:本文主要介绍如何详细解读GaussDB(DWS)产生的分布式执行计划,从计划中发现性能调优点. 前言 执行计划(又称解释计划)是数据库执行SQL语句的具体步骤,例如通过索引还是全表扫描访问表中的数据,连接查询的实现方式和连接的顺序等.如果 SQL 语句性能不够理想,我们首先应该查看它的执行计划.本文主要介绍如何详细解读GaussDB(DWS)产生的分布式执行计划,从计划中发现性能调优点. 1.执行算子介绍 要读懂执行计划,首先要知道数据库执行算子的概念: 下面重点介绍下基于sharing…
摘要:本文将系统介绍在GaussDB(DWS)系统中影响性能的坏味道SQL及SQL模式,帮助大家能够从原理层面尽快识别这些坏味道SQL,在调优过程中及时发现问题,进行整改. 数据库的应用中,充斥着坏味道的SQL,非常影响查询的性能.坏味道SQL,即由于开发者写的随意,导致执行性能较差,需要通过优化SQL语句进行调优的SQL.在GaussDB(DWS)分布式场景下,相对于单机环境,将出现更多的坏味道SQL语句.本文将系统介绍在GaussDB(DWS)系统中影响性能的坏味道SQL及SQL模式,帮助大…
摘要:在当前GaussDB(DWS)的能力中主要支持两种过程化SQL语言,即基于PostgreSQL的PL/pgSQL以及基于Oracle的PL/SQL.本篇文章我们通过匿名块,函数,存储过程向大家介绍一下GaussDB(DWS)对于过程化SQL语言的基本能力. 本文分享自华为云社区<GaussDB(DWS) SQL进阶之PLSQL(一)-匿名块.函数和存储过程>,原文作者:xxxsql123 . 前言 GaussDB(DWS)中的PLSQL语言,是一种可载入的过程语言,其创建的函数可以被用在…
摘要:本文主要讲解数仓运维中遇到单SQL磁盘空间管控问题的解析和方案. 本文分享自华为云社区<GaussDB(DWS)运维 -- 单SQL磁盘空间管控>,作者: 譡里个檔. [问题描述] 执行部分SQL语句时出现如下报错信息(具体数值可能因为配置有差异),本文针对根因和场景触发场景,确定触发此类问题的根因 The space used on DN (209715224 kB) has exceeded the sql use space limit (209715200 kB) [问题根因]…
摘要:本文就针对因USING子句的书写方式可能导致MERGE INTO语句的执行不下推的场景,对USING子句的SQL语句进行改写一遍,整个SQL语句可以下推. 本文分享自华为云社区<GaussDB(DWS)运维 -- values子句做MERGE数据源导致SQL执行不下推的改写方案>,作者: 譡里个檔. 现网做实时接入的时候,有的时候会使用MERGE INTO语句实现类似UPSERT的功能.这种场景下MERGE INTO语句的USING部分的数据位VALUES子句,为了后续的SQL语句中描述…
摘要:GaussDB(DWS)是从Postgres演进过来的,像Postgres一样,如果表被视图引用的话,特定场景下,部分DDL操作是不能直接执行的. 背景说明 GaussDB(DWS)是从Postgres演进过来的,像Postgres一样,如果表被视图引用的话,特定场景下,部分DDL操作是不能直接执行的,比如修改被视图引用的字段的类型,删除表等,而新增字段是可以操作,主要原因是视图引用了表的字段,修改的话视图也需要变化.下面稍微演示一下这部分内容,被视图引用的表进行DDL操作会有什么表现.然…
摘要:表结构设计是数据库建模的一个关键环节,表定义好坏直接决定了集群的有效容量以及业务查询性能,本文从产品架构.功能实现以及业务特征的角度阐述在GaussDB(DWS)的中表定义时需要关注的一些关键因素. 前言 GaussDB(DWS)是企业级的大规模并行处理关系型数据库,采用Shared-nothing架构的MPP(Massive Parallel Processing)系统,支持PB级别数据量的处理,适用于详单查询.数据仓库.混合负载和大数据分析等场景.Shared-nothing架构天然支…
摘要:本文主要是探讨OLAP关系型数据库框架的数据仓库平台如何设计双集群系统,即增强系统高可用的保障水准,然后讨论一下GaussDB(DWS)的容灾应该如何设计. 当前社会.企业运行当中,大数据分析.数据仓库平台已逐渐成为生产.生活的重要地位,不再是一个附属的可有可无的分析系统,外部监控要求.企业内部服务,涌现大批要求7*24小时在线的应用,逐步出现不同等级要求的双集群系统. 数据仓库主流数据库平台均已存在多重高可靠保障措施设计,如硬盘冗余的raid设计.数据表冗余.节点备用冗余.机柜备用数据交…
摘要:本文用来总结一些GaussDB(DWS)在实际应用过程中,可能出现的各种作业排队的情况,以及出现排队时,我们应该怎么去判断是否正常,调整一些参数,让资源分配与负载管理更符合当前的业务:或者在作业阻塞的时候,怎么去处理这些情况,让业务立刻恢复正常. 概述 数据库系统的负载管理和资源管理,在整个系统中起着很重要的作用,比如很多用户的业务压力过大时,有时会导致连接数量被占满,有时会导致某种计算资源被占满,有时会导致存储空间被占满,这些情况都会导致整个集群进入异常甚至不可用的状态:正在执行的作业互…
摘要:本文将详细介绍GaussDB(DWS)中共享消息队列的实现. 本文分享自华为云社区<GaussDB(DWS)CBB组件之共享消息队列介绍>,作者:疯狂朔朔. 1)共享消息队列是什么? 在前文中,我们讲解了SysCache的实现原理,GaussDB(DWS)通过SysCache缓存表元数据,以加速查询,然而在并发查询过程中,不可避免地会出现需要同步元数据的情况,举个简单例子,假设存在以下语句执行流程: Create table abc(会话1) Select * from abc(会话1)…