随笔分类 - Greenplum
摘要:1、大表不做数据转换 假设a表是大表,b表是小表 a.id = cast(b.id as varchar) 2、distinct导致没用上索引 删除distinct 3、exists 查询语句,关联大表,但查询字段有不需要用到这个大表 解决:把join去掉,改为exist,这样可以把记录数降下来 s
阅读全文
摘要:1、设置自动更新时间戳方法 在使用finereport填报时,时间无法更新导致为空值,所以需要使用触发器,插入一条数据就插入时间。 (1)定义触发器函数 create or replace function track_forecast_date() returns trigger as $$ be
阅读全文
摘要:一、高可用性概述-Segment Mirror 二、故障检测和恢复概述 三、开启GP的Mirror GP系统的Mirror既可以在初始化时配置,也可以在现有系统重新配置; 启用Segment Mirror: 四、获知Segment何时失败 五、恢复失败的Segment 六、恢复失败的Master
阅读全文
摘要:一、关于GP的Master参数余本地化参数 二、设置配置参数
阅读全文
摘要:一、如何性能调优 1、设置性能预期 可以接受的查询时间,每分钟的查询数等等; 基准线(Benchmarks) 2、了解当前系统的基本的硬件性能 I/O:磁盘吞吐量,容量、CUP、内存、网络; 3、了解当前系统的负载 时间窗口是否满足当前应用? 跑批、查询、其他用户的访问等等; 资源竞争? 几个用户同
阅读全文
摘要:一、备份概念 1、备份恢复操作概述-关于并行备份(gp_dump) GP同时备份Master和所有活动的Segment实例; 备份消耗的时间与系统中实例的数量没有关系; 在Master主机上备份所有DDL文件和GP相关的数据字典表; 每个Segment备份各自的数据; 所有备份文件组成一个完整的备份
阅读全文
摘要:一、GP装载概述 1、关于外部表 注:外部表的数据源是在其他的主机,在GP主机中没有; 2、关于pgload 3、关于copy
阅读全文
摘要:一、分配ROLE(User)到资源队列 注:对主角色分配是没有用的; 1、变更资源队列 2、删除资源队列 注:如果有角色,需要先删除角色,之后才能删除资源队列; 3、查看排队语句和资源队列状态 4、查看资源队列统计信息 注: 在不熟悉系统资源队列的情况可以打开,熟悉后在关闭; 5、查看分配到资源队列
阅读全文
摘要:一、GP工作负载管理 3、内存使用量 4、优先级 5、资源队列评估的语句类型 注:默认都为评估off 6、开启工作·负载管理的步骤 7、配置工作负载管理 二、GP工作负载管理-配置工作负载管理 1、一般资源队列配置参数 2、与内存有关的参数 注:一般资源队列配置参数、与内存有关的参数、与查询优先级有
阅读全文
摘要:一、查询性能 代码: show gp_dynamic_partiton_pruning ; 二、查询分析 1、查询计划 注:获取磁盘页的数量越少,I/O和CPU消耗的越少; EXPLAIN这个不是最优的查询计划,因为他是评估的,并没有真正执行语句,如果表发生了巨大的变化,然而统计信息没有统计到,就会
阅读全文
摘要:一、在GP中使用函数 1、不变型函数 注:传递的值一样的,那么结果就是一样的 ; 2、稳定型函数 注:current_date返回当前的日期; 3、不稳定型函数 二、使用函数和运算符-常用内置函数和运算符 注:trim是去除两边的空格; lpad是填充; upper转换为大写;lower转换为小写;
阅读全文
摘要:一、系统数据字典 代码: select * from gp_pgdatabase;(查看数据字典) 二、SQL值表达式 值表达式包括查询条件中的各种命令; 值表达式的结果称为标量; 表达式语法允许从原始值通过算术、逻辑、聚合等操作得出结果值; 1、值表达式的类型
阅读全文
摘要:一、回收空间和分析 注:执行一条命令就可以看为一个事务,也可以开启事务执行几条命令,这样就是一个事务; 一个事务存在一个事务ID,一个数据库最多能装4百万个事务,如果超过了,它就会使用相同命令的事务ID,这样会导致逻辑混乱; 1、事务ID管理 在每一个数据库每2百万个事务的时候,对每张表执行VACU
阅读全文
摘要:一、关于GP的并发控制 1、关于GP的并发控制-锁模式 二、插入新纪录 三、更新记录 注:DK(分布键)不可以被UPDATE 四、删除记录 五、事务管理 事务允许将多个SQL语句放在一起作为一个整体操作,所有SQL一起成功或失败; 1、使用事务 代码: begin transaction; inse
阅读全文
摘要:一、创建和使用序列 序列常用于新增记录时自动生成唯一标识符; 补充: id自增可以用: drop table tb03 ;create table tb03( id serial, name varchar(255)) distributed by (id) ; insert into tb03 (
阅读全文
摘要:一、分区 概念(提高性能) 1、表分区 2、分区示意图 注:三个分区,九个子分区 3、数据分布&分区 4、全表扫描VS分区扫描 注:全表扫描:会对全部segment全部数据扫描; 分区扫描:会找到segment下的子分区,通过子分区就可以找到数据; 5、决定表的分区策略 6、创建分区表(优化) 注:
阅读全文
摘要:一、创建于管理模式 DB内组织对象的一种逻辑结构 1、创建模式 注:schema用来管理对象的一个内容 代码: psql -d testdw \dn(查看schema) create schema sc01; create schema sc02 authorization dylan;(不将sch
阅读全文
摘要:一、创建与管理数据库 1、一个GPDB系统可以有多个数据库 关于数据库模板 数据库基于模板创建 缺省数据库模板为template1 GP系统内部使用:template0和postgres 2、创建数据库 具备CREATEDB权限或者SUPERUSER身份 通过CREATE DATABASE命令创建:
阅读全文
摘要:1、什么是角色 Role的组成:用户(User)和组(Group) 跟OS的role没有关系 User通过Master登录和认证 Role是定义在GPDB系统级别的 初始化SUPERUSER ROLE:gpadmin 2、角色与权限安全的最佳实践 保护系统User gpadmin 为每个登录的Use
阅读全文
摘要:Greenplum是一个分布式数据库系统,因此其所有的业务数据都是物理存放在集群的所有Segment实例数据库上;在Greenplum数据库中所有表都是分布式的,所以每一张表都会被切片,每个Segment实例数据库都会存放相应的数据片段。 一、并行计算的基础 1、Hash分布 语法:CREATE T
阅读全文

浙公网安备 33010602011771号