检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
建议2.7 不在其他USER的私有SCHEMA下创建对象 私有SCHEMA是指创建USER时自带的同名SCHEMA,该SCHEMA为该USER私有。 违反规则的影响: 在其他用户私有SCHEMA下创建对象,对象权限不受创建者控制,OWNER也非创建者。 方案建议: 在自身私有SCHE
TABLESPACE对象设计规范 规则2.8 禁止自定义TABLESPACE表空间 违反规则的影响: 分布式场景建表使用自定义表空间,导致表数据无法按照各DN分布式存储,出现存储倾斜。 方案建议: 创建表对象使用内置默认表空间。 父主题: GaussDB(DWS)对象设计规范
UPDATE&DELETE操作规范 建议3.5 避免并发UPDATE/DELETE行存表的同一行 违反规范的影响: 并发UPDATE/DELETE行存表可能导致行锁阻塞和分布式死锁风险,导致业务报错和性能下降。 方案建议: 按主键或分布列进行分组UPDATE/DELETE,组间并行,组内串行。
审计与日志 管理控制台的操作日志 GaussDB(DWS)在管理控制台上的操作日志,例如创建或删除DWS集群的日志记录,通过云审计服务(Cloud Trace Service,CTS)实现。CTS是华为云安全解决方案中专业的日志审计服务,提供对各种云资源操作记录的收集、存储和查询功能
范围分区是根据表的一列或者多列,将要插入表的记录分为若干个范围,这些范围在不同的分区里没有重叠。为每个范围创建一个分区,用来存储相应的数据。 范围分区策略是指记录插入分区的方式,根据分区键值将记录映射到已创建的某个分区上,如果可以映射到已创建的某一分区上,则把记录插入到对应的分区上,否
UPDATE&DELETE操作规范 建议3.5 避免并发UPDATE/DELETE行存表的同一行 违反规范的影响: 并发UPDATE/DELETE行存表可能导致行锁阻塞和分布式死锁风险,导致业务报错和性能下降。 方案建议: 按主键或分布列进行分组UPDATE/DELETE,组间并行,组内串行。
规则3.7 禁止执行不下推的SQL GaussDB(DWS)为分布式架构,SQL语句必须下推才能分利用分布式的计算资源,达到性能最优。 违反规范的影响: 不下推的SQL执行性能差,严重情况会导致CN资源瓶颈,影响整体业务。 方案建议: 不使用不下推的语法和不下推的函数,具体参考语句下推调优。
期和长事务中执行 违反规范的影响: DDL操作普遍持锁级别高,如ALTER、DROP、TRUNCATE、REINDEX、VACUUM FULL等,执行时会造成业务等锁阻塞。 高峰期执行持锁级别高的DDL操作,造成业务等锁阻塞。 长事务中执行持锁级别高的DDL操作,长时间持锁或等锁,均造成业务等锁阻塞。
GDS服务需单独使用服务器部署在DWS集群外 违反规范的影响: GDS如果部署在DWS集群内,会与DWS集群CN/DN节点发生资源争抢,导致双方性能同时劣化。 方案建议: GDS服务单独使用服务器部署在DWS集群外。 GDS所在服务器的磁盘能力、GDS服务器与DWS集群间网络带宽都要按需规划。
规则3.7 禁止执行不下推的SQL GaussDB(DWS)为分布式架构,SQL语句必须下推才能分利用分布式的计算资源,达到性能最优。 违反规范的影响: 不下推的SQL执行性能差,严重情况会导致CN资源瓶颈,影响整体业务。 方案建议: 不使用不下推的语法和不下推的函数,具体参考语句下推调优。
期和长事务中执行 违反规范的影响: DDL操作普遍持锁级别高,如ALTER、DROP、TRUNCATE、REINDEX、VACUUM FULL等,执行时会造成业务等锁阻塞。 高峰期执行持锁级别高的DDL操作,造成业务等锁阻塞。 长事务中执行持锁级别高的DDL操作,长时间持锁或等锁,均造成业务等锁阻塞。
GaussDB(DWS)支持行列混合存储,可以同时为用户提供更优的数据压缩比(列存)、更好的索引性能(列存)、更好的点更新和点查询(行存)性能。 数据加载快 GaussDB(DWS)提供了GDS极速并行大规模数据加载工具。 列存下的数据压缩 对于非活跃的早期数据可以通过压缩来减少空间占用,降低采购和运维成本。
GDS服务需单独使用服务器部署在DWS集群外 违反规范的影响: GDS如果部署在DWS集群内,会与DWS集群CN/DN节点发生资源争抢,导致双方性能同时劣化。 方案建议: GDS服务单独使用服务器部署在DWS集群外。 GDS所在服务器的磁盘能力、GDS服务器与DWS集群间网络带宽都要按需规划。
EMA的权限? 给某个用户授权某个SCHEMA的权限,包括三个场景(本章节针对SCHEMA层级权限,仅演示授权查询权限,如果需要其他权限,可以参考如何给指定用户赋予某张表的权限?): SCHEMA下当前某张表权限。 SCHEMA下当前所有表的权限。 SCHEMA下未来创建的表的权限。
DML查询:统计分析类查询 (group,join的数据量大的场景) DML增删改:UPDATE/DELETE多的场景、INSERT小批量插入的场景。 DML查询:高并发的点查询。 规则2.11 创建表时必须选择正确的分区策略 违反规范的影响: 分区的优点如下,如不做分区,其查询性能和数据治理效率会下降,数据量越大这种劣化越大。
DML查询:统计分析类查询 (group,join的数据量大的场景) DML增删改:UPDATE/DELETE多的场景、INSERT小批量插入的场景。 DML查询:高并发的点查询。 规则2.11 创建表时必须选择正确的分区策略 违反规范的影响: 分区的优点如下,如不做分区,其查询性能和数据治理效率会下降,数据量越大这种劣化越大。
解除集群的只读状态。触发只读状态可能是由于磁盘使用率过高,因此需要对集群数据进行清理,详情请参见磁盘使用率高&集群只读处理方案章节。 解除只读支持1.7.2及以上版本。 8.2.0集群版本开始支持只读状态下用户可以通过开启读写事务DROP/TRUNCATE TABLE的方式清理磁盘空间。
GaussDB(DWS)存储过程开发规范 建议5.1 避免使用复杂的存储过程,避免存储过程嵌套 违反规范的影响: 复杂和嵌套的存储过程维护成本高,故障定位难度大,恢复耗时长。 方案建议: 不使用存储过程或只使用一层存储过程,不嵌套。 开发存储过程设计对应的日志表,将关键步骤前后的信息记录到日志表中,操作步骤如下。
GaussDB(DWS)存储过程开发规范 建议5.1 避免使用复杂的存储过程,避免存储过程嵌套 违反规范的影响: 复杂和嵌套的存储过程维护成本高,故障定位难度大,恢复耗时长。 方案建议: 不使用存储过程或只使用一层存储过程,不嵌套。 开发存储过程设计对应的日志表,将关键步骤前后的信息记录到日志表中,操作步骤如下。
系统管理员在普通用户同名schema下创建的对象,所有者为schema的同名用户(非系统管理员)。 除系统管理员之外,其他用户即使被授权了schema的所有权限也无法在普通用户的同名schema下创建对象,除非把同名schema相关的角色权限赋予其他用户。具体操作可参考“赋予用户schema的all权限后建表仍然报错”章节。