检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
存在关联计算的对象创建在同一个DATABASE中 违反规则的影响: 跨库访问无论使用哪种方案,性能均劣于同一DATABASE内的关联操作。 方案建议: 创建多个DATABASE的场景,将需要执行关联计算的对象,创建在同一DATABASE中。 父主题: GaussDB(DWS)对象设计规范
TABLESPACE对象设计规范 规则2.8 禁止自定义TABLESPACE表空间 违反规则的影响: 分布式场景建表使用自定义表空间,导致表数据无法按照各DN分布式存储,出现存储倾斜。 方案建议: 创建表对象使用内置默认表空间。 父主题: GaussDB(DWS)对象设计规范
TABLE对象设计规范(重点) 规则2.9 创建表时必须选择正确的分布方式和分布列 违反规范的影响: 分布式和分布列选择错误,导致表数据存储倾斜,访问性能下降,严重情况会触发存储和计算资源过载。 方案建议: 创建表时通过DISTRIBUTE BY显式指定分布方式和分布列,分布列选择原则如下表所示。
INDEX对象设计规范(重点) 规则2.14 只创建必要的索引,创建索引必须选择合适的列和顺序 违反规范的影响: 冗余索引浪费空间,索引多影响入库效率。 组合索引中列顺序错误,影响查询效率。 最佳实践: 索引的使用需兼顾以下条件: 索引列必须是常用于过滤条件或JOIN关联条件的列。
USER对象设计规范 规则2.5 禁止使用特殊权限用户运行业务,需遵循权限最小分配原则 违反规则的影响: 特殊权限用户如管理员用户,均具有特殊用途,使用此类用户运行业务有安全和管控风险。 方案建议: 使用普通用户运行业务,特殊权限类用户仅用于管理类操作。 规则2.6 禁止使用一个数据库用户运行所有业务
SCHEMA对象设计规范 建议2.7 不在其他USER的私有SCHEMA下创建对象 私有SCHEMA是指创建USER时自带的同名SCHEMA,该SCHEMA为该USER私有。 违反规则的影响: 在其他用户私有SCHEMA下创建对象,对象权限不受创建者控制,OWNER也非创建者。 方案建议:
VIEW对象设计规范 建议2.16 视图的嵌套需避免超过三层 违反规范的影响: 视图嵌套过深导致执行计划不稳定、耗时不稳定。 视图依赖的对象重建风险高,锁冲突发生概率增大。 方案建议: 创建视图直接基于物理表查询,不建议嵌套视图。 父主题: GaussDB(DWS)对象设计规范
TABLE对象设计规范(重点) 规则2.9 创建表时必须选择正确的分布方式和分布列 违反规范的影响: 分布式和分布列选择错误,导致表数据存储倾斜,访问性能下降,严重情况会触发存储和计算资源过载。 方案建议: 创建表时通过DISTRIBUTE BY显式指定分布方式和分布列,分布列选择原则如下表所示。
INDEX对象设计规范(重点) 规则2.14 只创建必要的索引,创建索引必须选择合适的列和顺序 违反规范的影响: 冗余索引浪费空间,索引多影响入库效率。 组合索引中列顺序错误,影响查询效率。 最佳实践: 索引的使用需兼顾以下条件: 索引列必须是常用于过滤条件或JOIN关联条件的列。
只读用户配置权限 背景信息 如果您需要对华为云上的GaussDB(DWS)资源,为企业中的员工设置不同的访问权限,以达到不同员工之间的权限隔离,您可以使用统一身份认证服务(Identity and Access Management,简称IAM)进行精细的权限管理。该服务提供用户
【建议】避免使用双引号括起来的字符串来定义数据库对象名称,GaussDB(DWS)中使用双引号将数据库对象名称括起来时表示对大小写敏感。数据库对象名称大小写敏感会使定位问题难度增加。 【建议】数据库对象命名风格务必保持统一。 增量开发的业务系统或进行业务迁移的系统,建议遵守历史的命名风格。 数据库对象名称由字母、数
K使用难度,推荐使用。操作步骤如下所示: 登录华为云API Explorer,选择“大数据>数据仓库服务”,进入DWS OpenAPI页面。 根据需求选择具体OpenAPI接口,切换至“代码示例”页签,选择指定编程语言,单击“华为云SDK”查看对应编程语言类型的SDK代码。Gau
规划导出数据 OBS导出数据准备:请参见规划导出数据完成OBS导出数据准备。 OBS导出支持的数据类型请参见表1。 表1 ORC格式的只写外表与HIVE数据类型匹配关系 类型名称 GaussDB(DWS)内表支持类型(数据源表) GaussDB(DWS)只写外表对应的类型 HIVE建表类型
【建议】避免使用双引号括起来的字符串来定义数据库对象名称,GaussDB(DWS)中使用双引号将数据库对象名称括起来时表示对大小写敏感。数据库对象名称大小写敏感会使定位问题难度增加。 【建议】数据库对象命名风格务必保持统一。 增量开发的业务系统或进行业务迁移的系统,建议遵守历史的命名风格。 数据库对象名称由字母、数
BOOLEAN Char类型 CHAR(n) CHAR (n) VarChar类型 VARCHAR(n) VARCHAR (n) 字符串(文本大对象) TEXT(CLOB) STRING 表2 ORC格式的只写外表与HIVE数据类型匹配关系 类型名称 GaussDB(DWS)内表支持类型(数据源表)
ELSE NULL END )) ); 父主题: 模式对象
10MB TEXT 不限长度(不超过1GB-8203字节)变长字符串。 1GB-8203字节 父主题: GaussDB(DWS)数据库对象设计规则
【关注】行存表支持检查约束,而列存表不支持。 【建议】从命名上明确标识检查约束,例如,将检查约束命名为 “CK+字段名”。 父主题: GaussDB(DWS)数据库对象设计规则
) ON COMMIT PRESERVE ROWS ; 父主题: 模式对象
PURGE 在Oracle中,DROP TABLE语句用于将一张表放入回收站。而PURGE语句则不同,用于将表或索引从回收站彻底删除,并释放所有与该对象相关的空间,或清空整个回收站,也可以是从回收站中彻底删除一个已删除表空间的部分或全部内容。 通过Oracle语法迁移后,查询中将不含PURGE。