摘要:在数据库中用于维护数据库磁盘空间的工具是VACUUM,其重要的作用是删除那些已经标示为删除的数据并释放空间. vacuum的功能 回收空间 数据库总是不断地在执行删除,更新等操作.良好的空间管理非常重要,能够对性能带来大幅提高. 执行delete操作后,表中的记录只是被标示为删除状态,并没有释放空间,在以后的update或insert操作中该部分的空间是不能够被重用的. 在数据库中用于维护数据库磁盘空间的工具是VACUUM,其重要的作用是删除那些已经标示为删除的数据并释放空间.经过vacu…
摘要:本文主要介绍如何详细解读GaussDB(DWS)产生的分布式执行计划,从计划中发现性能调优点. 前言 执行计划(又称解释计划)是数据库执行SQL语句的具体步骤,例如通过索引还是全表扫描访问表中的数据,连接查询的实现方式和连接的顺序等.如果 SQL 语句性能不够理想,我们首先应该查看它的执行计划.本文主要介绍如何详细解读GaussDB(DWS)产生的分布式执行计划,从计划中发现性能调优点. 1.执行算子介绍 要读懂执行计划,首先要知道数据库执行算子的概念: 下面重点介绍下基于sharing…
摘要:本文主要是探讨OLAP关系型数据库框架的数据仓库平台如何设计双集群系统,即增强系统高可用的保障水准,然后讨论一下GaussDB(DWS)的容灾应该如何设计. 当前社会.企业运行当中,大数据分析.数据仓库平台已逐渐成为生产.生活的重要地位,不再是一个附属的可有可无的分析系统,外部监控要求.企业内部服务,涌现大批要求7*24小时在线的应用,逐步出现不同等级要求的双集群系统. 数据仓库主流数据库平台均已存在多重高可靠保障措施设计,如硬盘冗余的raid设计.数据表冗余.节点备用冗余.机柜备用数据交…
摘要:本文主要介绍如何进行正常的VACUUM FULL 维护,及时释放磁盘存储. 1.背景 目前根据某项目情况,其DWS的磁盘IO性能低.库内数据量大.对象多.数据膨胀严重.若毫无目的性的进行空间释放,一方面对IO压力很大,严重影响当前DWS任务运行,同时预计每次执行VACUUM FULL 时间已超过运行间隔,导致维护任务无法开展:若依据脏页率进行磁盘空间维护,每次脏页统计花费1天之多且有极高概率出现异常,频繁进行脏页统计也一定程度上影响DWS运行. 本文档主要介绍如何进行正常的VACUUM F…
摘要:表结构设计是数据库建模的一个关键环节,表定义好坏直接决定了集群的有效容量以及业务查询性能,本文从产品架构.功能实现以及业务特征的角度阐述在GaussDB(DWS)的中表定义时需要关注的一些关键因素. 前言 GaussDB(DWS)是企业级的大规模并行处理关系型数据库,采用Shared-nothing架构的MPP(Massive Parallel Processing)系统,支持PB级别数据量的处理,适用于详单查询.数据仓库.混合负载和大数据分析等场景.Shared-nothing架构天然支…
摘要:本文用来总结一些GaussDB(DWS)在实际应用过程中,可能出现的各种作业排队的情况,以及出现排队时,我们应该怎么去判断是否正常,调整一些参数,让资源分配与负载管理更符合当前的业务:或者在作业阻塞的时候,怎么去处理这些情况,让业务立刻恢复正常. 概述 数据库系统的负载管理和资源管理,在整个系统中起着很重要的作用,比如很多用户的业务压力过大时,有时会导致连接数量被占满,有时会导致某种计算资源被占满,有时会导致存储空间被占满,这些情况都会导致整个集群进入异常甚至不可用的状态:正在执行的作业互…
摘要:本文将系统介绍在GaussDB(DWS)系统中影响性能的坏味道SQL及SQL模式,帮助大家能够从原理层面尽快识别这些坏味道SQL,在调优过程中及时发现问题,进行整改. 数据库的应用中,充斥着坏味道的SQL,非常影响查询的性能.坏味道SQL,即由于开发者写的随意,导致执行性能较差,需要通过优化SQL语句进行调优的SQL.在GaussDB(DWS)分布式场景下,相对于单机环境,将出现更多的坏味道SQL语句.本文将系统介绍在GaussDB(DWS)系统中影响性能的坏味道SQL及SQL模式,帮助大…
摘要:GaussDB(DWS)是从Postgres演进过来的,像Postgres一样,如果表被视图引用的话,特定场景下,部分DDL操作是不能直接执行的. 背景说明 GaussDB(DWS)是从Postgres演进过来的,像Postgres一样,如果表被视图引用的话,特定场景下,部分DDL操作是不能直接执行的,比如修改被视图引用的字段的类型,删除表等,而新增字段是可以操作,主要原因是视图引用了表的字段,修改的话视图也需要变化.下面稍微演示一下这部分内容,被视图引用的表进行DDL操作会有什么表现.然…
摘要:GaussDB(DWS)的负载均衡通过LVS+keepAlived实现.对于这种方式,需要思考的问题是,CN的返回结果是否会经过LVS,然后再返回给前端应用?如果经过LVS,那么,LVS会不会成为单点瓶颈? 带着这两个问题,我们探究一下LVS+KeepAlived的实现原理. 我们知道GaussDB(DWS)为了保证业务的连续性和高可靠性,各个组件都进行了高可用设计. 下图是应用访问GaussDB(DWS)的业务流程架构图,对于业务应用或者用户来说,他们发生请求给CN,CN解析并生成执行计…
摘要:路径生成是表关联方式确定的主要阶段,本文介绍了几个影响路径生成的要素:cost_param, scan方式,join方式,stream方式,并从原理上分析如何干预路径的生成. 一.cost模型选择 顾名思义,cost_param是控制cost相关的一个参数.在了解cost_param之前,先回顾一下选择率的概念,GaussDB优化器中的选择率是指,当一个表有一个过滤或关联条件时,通过该条件能被选中的行数占总行数的比例,是介于0~1之间的一个实数.选择率在优化器中是一个重要的概念,主要应用于…