热门
阿里云认证体系人才圈
1
回答
是指回收时锁表,表无法读写,回收物理空间,建议在维护窗口进行。
以上内容摘自《阿里云认证的解析与实战-数据仓库ACP认证》电子书,点击https://developer.aliyun.com/ebook/download/7807 可下载完整版
是指回收时不锁表,但只标记删除空间可被再利用,不释放物理空间。
回收操作可以通过vacuum 和vacuum full:
ü vacuum:回收时不锁表,但只标记删除空间可被再利用,不释放物理空间。
ü vacuum full:回收时锁表,表无法读写,回收物理空间,建议在维护窗口进行。
出现死锁会影响数据库吞吐量。
表中的数据被删除或更新后(UPDATE/DELTE),物理存储层面并不会直接删除数据,而是标记这些数据不可见,所以会在数据页中留下很多“空洞”,在读取数据时,这些“空洞”会随数据页一起加载,拖慢数据扫描速度,需要定期回收删除的空间。
通过gp_toolkit.gp_bloat_diag 视图,bdirelpages 表示表实际占用Page 数,bdiexppages 表示表实际需要Page 数,bdirelpages/bdiexppages > 4 时,即可考虑进行空间回收。
死锁检测方式:
ü Local Deadlo> ck Detector:用于检测单个计算节点内发生的死锁。
ü Global Deadlock Detector:用于检测跨计算节点发生的分布式死锁。
死锁的检测和处理为数据库内部机制,无需手工干预。
explain 包含如下计划项目:
ü 算子名称:计划中算子节点的名字,以“->”开头进行缩进,如例子中的Seq Scan、Sort、Gather Motion 等。
ü 算子属性:算子在本计划中的操作属性,如例子中的Sort Key:b,表示Sort 算子的排序键是b列。
ü Cost:估算的代价,包含启动代价和总代价,中间用“...”间隔。
ü Rows:估算的行数。
ü width:估算的每行的宽度,单位字节。
ü optimizer:生成该计划的优化器名字,ADB PG 具有优化器自适应功能,可能和用户设置的不一致。
扫描算子Scan:Seq Scan,index scan,Bitmap Index Scan + Bitmap HeapScan
执行计划有2种收集模式:
• explain:显示执行计划,不真正执行语句,在计划中显示估算信息。
• Explain analyze:显示执行计划,并且真正执行语句,在计划中显示真实执行信息。
聚合算子Aggregate:Hash Aggregate,Group Aggregate
explain analyze 包含如下计划项目:
ü actual time:实际执行时间,单位毫秒。
ü Actual rows:实际输出行数。
ü Planning time:实际生成执行计划的时间。
ü Slice memory:每个slice 使用的内存情况。
ü Memory used:整个查询使用的内存情况。
ü Execution time:实际执行时间。
关联算子Join:Hash Join,Nested Loop Join,Merge Join
数据重分布算子Motion:Redistribute Motion,Broadcast Motion,Gather Motion
ADB PG 支持如下索引类型及语句示例/适用场景:
• B-tree:create index i1 on t1 using btree(c1),适用大多数场景,尤其对于点查询和更新等操作。
• Bitmap:create index i2 on t2 using bitmap(c2),唯一值低于10w 且低于总行数1/10,常与其他列有联合过滤条件。
• GIN/GiST:全文检索,数组,JSON。
在SQL 执行比较慢时,可以对SQL 进行诊断。
• 首先,pg_stat_activity 是一个非常有用的视图,可以分析排查当前运行的SQL任务以及一些异常问题。pg_stat activity 每行展示的是一个“process”的相关信息,这里的“process”可以理解为一个用户连接。
• 然后,通过pg_stat_activity 视图查看当前耗时较长的SQL。
cascade 框架的SQL 优化器具备以下功能:
• Top-Down 路径搜索框架,搜索和路径选择更全面精准,避免出现局部查询路径最优解;
• 子查询自动改写为分布式JOIN, 实现并行计算,规避手工改写调优;
• SQL 优化阶段定义动态分区裁剪,即支持确定性过滤条件,也支持参数化的过滤条件,减少I/O。
哈希、复制和随机。
常用运维SQL:实例、库、会话、Schema、表、用户、权限、锁、资源队列、存储配额、落盘文件。
select pg_terminate_backend( )
堆表。
控制台监控可以从数据库Master和计算节点2个方面,对用户数据库实例的CPU,内存,磁盘IO 和空间,连接数实现监控。
Segment 节点数量
常用运维命令:实例、节点、参数。
• 控制台监控提供最近7 天的监控数据。
• 监控汇总提供master 的监控信息,包括CPU 和内存利用率,总连接数,IO 吞吐和磁盘空间监控计算节点监控。
• 计算节点的监控提供计算节点的监控信息,包括CPU 和内存利用率,读写IOPS,磁盘空间。
首先设置关联的资源,如果通过实例页面进入,会直接关联到当前ADB 实例;如果通过云监控预警页面进入,则需要选择具体实例,然后设置报警规则。
云监控的报警分为阈值报警和事件报警,都需要手动配置才会生效,类似订阅机制,只有创建了报警,才会订阅相关的事件。
• 每个表列数最多1600 列
• 每个表行数最多2^48 行
• 部分支持修改字段类型:如int->bigint、bigint->decimal
• 非法值不支持写入(如2020-05-00 00:00:00、100:00:00 等)
• 不支持的类型同步数据不可使用(如GEOMETRY、POINT、LINESTRING、POLYGON 等类型)
• 列/表/数据库名称最长63 个字符
• 不支持unsigned 类型
数据在线迁移、实时同步、异地灾备(读写分离、双活)。
ADB PG 数据同步可以使用阿里云数据同步工具DTS,同步数据源来自上游数据库系统,可以是RDS MySQL、RDS PG 等关系型数据库,ADB PG 作为数据仓库是目标数据库。
PL/pgSQL的功能特点
• 用于创建函数和触发器过程
• 为SQL 语言增加控制结构
• 执行复杂的计算
• 继承所有用户定义类型、函数、操作符
• 定义为被服务器信任的语言
• 容易使用
数据库级别权限包括:
ü 是否允许连接数据库。
ü 是否允许在数据库中创建schema。
ü 默认允许public 角色连接,即允许任何人连接。
ü 默认不允许除了超级用户和owner之外的任何人在数据库中创建schema。
ü 默认会自动创建名为public 的schema,且允许任何人在里面创建对象。
支持进行四种类型的资源限制:并发限制、CPU 限制、内存限制和查询计划限制。
资源队列能够对数据库的CPU、内存等资源进行限制,对多租户资源限制、保障数据库稳定运行具有一定的作用。
• 资源管理方案
ü 资源队列(Resource Queue):使用最多的是并行度和CPU 优先级的设置
ü 资源组(Resource Group)CPU
• 常见资源问题
ü 并发连接数被占满,无法接受连接
ü 内存超过可用内存范围,进程被杀死
ü IO 带宽争用导致查询和写入性能下降
ADB PG 实例资源包括:CPU、IO、内存、并发连接、查询计划。
通过一致性恢复点,恢复时,将集群各个节点对齐到事务一致的数据库状态。
schema 权限:grant 赋予允许查询schema 中的对象和revoke 回收。
数据按行存放,支持主键,B+树索引,Bitmap 索引,GIN 索引等,适合数据实时写入更新删除,点查,范围查。
通过在数据库的访问入口处(QD 节点)独占获取事务提交锁,阻塞其他事务的提交,从而保证恢复点创建时刻的集群事务一致性。
数据压缩支持多种压缩算法如下图,成本和性能取得平衡,数据压缩可用于列存表或者行存追加表,平均3 倍以上数据压缩率。
schema 级别权限包括:
ü 是否允许查看schema 中的对象;
ü 是否允许在schema 中创建对象;
ü 默认情况下新建的schema 的权限不会赋予给public 角色,因此除了超级用户和owner,任何人都没有权限查看schema 中的对象或者在schema中新建对象。
集群恢复需要WAL 持续归档。
• 日志备份,又称增量备份。通过归档命令,对集群的所有primary 节点上的WAL日志段进行备份。
• 公有云默认备份到OSS。
数据按列存放,高压缩比,适合追加写(少量更新删除)场景。
ADB PG 集群物理基础备份,不会阻塞用户业务执行,因此,集群的基础备份期间,依然会产生大量WAL 日志。
• 基础备份又称全量备份,是对整个集群的所有primary 节点(包括master,但不包括secondary master)进行全量数据备份。
• 备份不阻塞业务,备份期间产生的增量WAL 日志由归档操作保证备份到OSS。
• 备份期间,会自动重新备份异常的节点,如主备切换、连接异常等情况。
• 备份完成后,创建一致性恢复点,作为恢复时的恢复目标,以保证恢复集群一 致性。
AnalyticDB PostgreSQL 函数通常结构如下:
• CREATEFUNCTION --函数名
• CREATE FUNCTION somefunc(integer, text) RETURNS integer --返回类型
• AS
• $function$ --参数
• function body text --函数体
• $function$
• LANGUAGE plpgsql; --解释语言
权限管理支持从实例、数据库、schema 到object 权限的控制。
阿里云智能认证体系针对不同产品类别、用户成长阶段、生态岗位,精心打造各项认证考试,已成为泛云计算领域行业人才技能标准。阿里云认证圈子作为泛云生态人才交流绿洲,将持续带来丰富多样的认证活动、行业资讯、学习交流机会,希望大家都能加入一起玩!诚邀您加入阿里云认证官方学习福利群:33715706。
阿里云认证官网: https://edu.aliyun.com/certification
阿里云开发者社区官网: https://developer.aliyun.com