检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
双机复制 查询规划 错误报告和日志 运行时统计 资源管理 自动清理 客户端连接缺省设置 锁管理 版本和平台兼容性 容错性 连接池参数 集群事务 开发人员选项 审计 事务监控 GTM相关参数 其它选项
GaussDB(DWS)存储过程 GaussDB(DWS)存储过程简介 GaussDB(DWS)存储过程数据类型转换 GaussDB(DWS)存储过程数组和record GaussDB(DWS)存储过程声明语法 GaussDB(DWS)存储过程基本语句 GaussDB(DWS)存储过程动态语句
双机复制 查询规划 错误报告和日志 运行时统计 资源管理 自动清理 客户端连接缺省设置 锁管理 版本和平台兼容性 容错性 连接池参数 集群事务 开发人员选项 审计 事务监控 GTM相关参数 其它选项
TABLE对象设计规范(重点) 规则2.9 创建表时必须选择正确的分布方式和分布列 违反规范的影响: 分布式和分布列选择错误,导致表数据存储倾斜,访问性能下降,严重情况会触发存储和计算资源过载。 方案建议: 创建表时通过DISTRIBUTE BY显式指定分布方式和分布列,分布列选择原则如下表所示。
INDEX对象设计规范(重点) 规则2.14 只创建必要的索引,创建索引必须选择合适的列和顺序 违反规范的影响: 冗余索引浪费空间,索引多影响入库效率。 组合索引中列顺序错误,影响查询效率。 最佳实践: 索引的使用需兼顾以下条件: 索引列必须是常用于过滤条件或JOIN关联条件的列。
USER对象设计规范 规则2.5 禁止使用特殊权限用户运行业务,需遵循权限最小分配原则 违反规则的影响: 特殊权限用户如管理员用户,均具有特殊用途,使用此类用户运行业务有安全和管控风险。 方案建议: 使用普通用户运行业务,特殊权限类用户仅用于管理类操作。 规则2.6 禁止使用一个数据库用户运行所有业务
数据源类型,其中包含: OBS MRS data_source_name 是 String 数据源名称。仅可包含大小写字母,数字,下划线,1到64个字符。 user_name 是 String 用户名。仅可包含大小写字母,数字,下划线,3到20个字符。 数据源类型为OBS时,传对应OBS委托名称。
DATABASE对象设计规范 规则2.1 避免直接使用内置的DATABASE(如postgres、gaussdb等) 违反规则的影响: 内置的数据库编码、兼容模式不符合业务要求时,需要重新迁移数据。 所有业务均使用内置数据库,影响变更耗时。 方案建议: 根据实际业务需要,合理创建专用DATABASE并划分给业务使用。
TABLESPACE对象设计规范 规则2.8 禁止自定义TABLESPACE表空间 违反规则的影响: 分布式场景建表使用自定义表空间,导致表数据无法按照各DN分布式存储,出现存储倾斜。 方案建议: 创建表对象使用内置默认表空间。 父主题: GaussDB(DWS)对象设计规范
USER对象设计规范 规则2.5 禁止使用特殊权限用户运行业务,需遵循权限最小分配原则 违反规则的影响: 特殊权限用户如管理员用户,均具有特殊用途,使用此类用户运行业务有安全和管控风险。 方案建议: 使用普通用户运行业务,特殊权限类用户仅用于管理类操作。 规则2.6 禁止使用一个数据库用户运行所有业务
FOREIGN_TABLE,表示OBS外表命名,带schema。 LATEST_COMMIT,表示已同步的Hudi数据时间截点。 示例:目标表public.in_rel,已经同步hudi的数据到20220913152131,切换到SQL on Hudi方式从OBS外表hudi_read1中继续导出数据。
SCHEMA对象设计规范 建议2.7 不在其他USER的私有SCHEMA下创建对象 私有SCHEMA是指创建USER时自带的同名SCHEMA,该SCHEMA为该USER私有。 违反规则的影响: 在其他用户私有SCHEMA下创建对象,对象权限不受创建者控制,OWNER也非创建者。 方案建议:
VIEW对象设计规范 建议2.16 视图的嵌套需避免超过三层 违反规范的影响: 视图嵌套过深导致执行计划不稳定、耗时不稳定。 视图依赖的对象重建风险高,锁冲突发生概率增大。 方案建议: 创建视图直接基于物理表查询,不建议嵌套视图。 父主题: GaussDB(DWS)对象设计规范
films f WHERE f.did = s.id) FROM staffs_p1 s; 标量子查询往往会导致查询性能急剧劣化,在应用开发过程中,应当根据业务逻辑,对标量子查询进行等价转换,将其写为表关联。 【建议】在WHERE子句中,应当对过滤条件进行排序,把选择读较小(筛选出的记录数较少)的条件排在前面。
GaussDB(DWS)约束设计规则 DEFAULT和NULL约束 【建议】如果能够从业务层面补全字段值,则不建议使用DEFAULT约束,避免数据加载时产生不符合预期的结果。 【建议】给明确不存在NULL值的字段加上NOT NULL约束,优化器会在特定场景下对其进行自动优化。 【
TABLE对象设计规范(重点) 规则2.9 创建表时必须选择正确的分布方式和分布列 违反规范的影响: 分布式和分布列选择错误,导致表数据存储倾斜,访问性能下降,严重情况会触发存储和计算资源过载。 方案建议: 创建表时通过DISTRIBUTE BY显式指定分布方式和分布列,分布列选择原则如下表所示。
GaussDB(DWS)用户自定义函数 实时数仓(单机部署)暂不支持用户自定义函数。 GaussDB(DWS) PL/Java语言函数 GaussDB(DWS) PL/pgSQL语言函数
实时数仓Binlog 订阅实时数仓Binlog Flink实时消费Binlog
GaussDB(DWS)性能调优 性能调优概述 性能诊断 系统调优 SQL调优 SQL调优案例
GaussDB(DWS)性能调优 性能调优概述 性能诊断 系统调优 SQL调优 SQL调优案例