数据库对象函数 数据库对象尺寸函数 数据库对象位置函数 分区管理函数 排序规则版本函数 冷热表用户函数 父主题: 函数和操作符
使用Hudi前准备 前提条件 已完成创建OBS委托以及创建OBS数据源,具体可参见管理OBS数据源。
使用Hudi前准备 前提条件 已完成创建OBS委托以及创建OBS数据源,具体可参见管理OBS数据源。
索引 在GaussDB(DWS)中创建索引期间,索引名不能与模式名一起指定。该索引将在创建索引表的模式中自动创建。 图1 输入:索引 图2 输出:索引 输入:基于CASE函数的索引 函数索引是基于列函数或表达式计算结果创建的索引。 输入 1 2 3 4 5 6 7 8 9 CREATE
DATABASE对象设计规范 规则2.1 避免直接使用内置的DATABASE(如postgres、gaussdb等) 违反规则的影响: 内置的数据库编码、兼容模式不符合业务要求时,需要重新迁移数据。 所有业务均使用内置数据库,影响变更耗时。 方案建议: 根据实际业务需要,合理创建专用
SCHEMA对象设计规范 建议2.7 不在其他USER的私有SCHEMA下创建对象 私有SCHEMA是指创建USER时自带的同名SCHEMA,该SCHEMA为该USER私有。 违反规则的影响: 在其他用户私有SCHEMA下创建对象,对象权限不受创建者控制,OWNER也非创建者。 方案建议
TABLESPACE对象设计规范 规则2.8 禁止自定义TABLESPACE表空间 违反规则的影响: 分布式场景建表使用自定义表空间,导致表数据无法按照各DN分布式存储,出现存储倾斜。 方案建议: 创建表对象使用内置默认表空间。 父主题: GaussDB(DWS)对象设计规范
VIEW对象设计规范 建议2.16 视图的嵌套需避免超过三层 违反规范的影响: 视图嵌套过深导致执行计划不稳定、耗时不稳定。 视图依赖的对象重建风险高,锁冲突发生概率增大。 方案建议: 创建视图直接基于物理表查询,不建议嵌套视图。 父主题: GaussDB(DWS)对象设计规范
DATABASE对象设计规范 规则2.1 避免直接使用内置的DATABASE(如postgres、gaussdb等) 违反规则的影响: 内置的数据库编码、兼容模式不符合业务要求时,需要重新迁移数据。 所有业务均使用内置数据库,影响变更耗时。 方案建议: 根据实际业务需要,合理创建专用
SCHEMA对象设计规范 建议2.7 不在其他USER的私有SCHEMA下创建对象 私有SCHEMA是指创建USER时自带的同名SCHEMA,该SCHEMA为该USER私有。 违反规则的影响: 在其他用户私有SCHEMA下创建对象,对象权限不受创建者控制,OWNER也非创建者。 方案建议
TABLESPACE对象设计规范 规则2.8 禁止自定义TABLESPACE表空间 违反规则的影响: 分布式场景建表使用自定义表空间,导致表数据无法按照各DN分布式存储,出现存储倾斜。 方案建议: 创建表对象使用内置默认表空间。 父主题: GaussDB(DWS)对象设计规范
VIEW对象设计规范 建议2.16 视图的嵌套需避免超过三层 违反规范的影响: 视图嵌套过深导致执行计划不稳定、耗时不稳定。 视图依赖的对象重建风险高,锁冲突发生概率增大。 方案建议: 创建视图直接基于物理表查询,不建议嵌套视图。 父主题: GaussDB(DWS)对象设计规范
存算分离:计算节点本地盘仅做数据缓存和存储元数据,用户数据存储在OBS对象存储上。 存储类型 SSD云盘 SSD云盘:使用SSD类型的EVS作为数据存储介质,存储容量更加灵活,支持磁盘扩容。
动态调用存储过程 动态调用存储过程必须使用匿名的语句块将存储过程或语句块包在里面,使用EXECUTE IMMEDIATE…USING语句后面带IN、OUT来输入、输出参数。 语法 语法请参见图1。 图1 call_procedure::= using_clause子句的语法参见图2
动态调用存储过程 动态调用存储过程必须使用匿名的语句块将存储过程或语句块包在里面,使用EXECUTE IMMEDIATE…USING语句后面带IN、OUT来输入、输出参数。 语法 语法请参见图1。 图1 call_procedure::= using_clause子句的语法参见图2
表(Oracle) CREATE TABLE Oracle的CREATE TABLE语句用于创建表。GaussDB(DWS)直接支持该语句,无需迁移。 ALTER TABLE Oracle的ALTER TABLE语句用于新增、重命名、修改或删除表列。GaussDB(DWS)直接支持该语句
视图 视图是基于一个或多个表或视图的逻辑表。视图本身不含数据。 在输入中,如果表名称前没有模式名称修饰,则在输出中,会修改为用视图的模式名去修饰表。 以下为视图迁移前后的语法示例: 表名称不带模式名 图1 输入:视图中不带模式名的表tab1、tab2 表名称包含模式名 图2 输出:
序列 SEQUENCE是Oracle对象,用于创建数字序列号。该序列用于创建自动编号字段,可用作主键。 如果参数MigSupportSequence设为true(默认值),则在PUBLIC模式中创建序列。 CACHE和ORDER参数不支持迁移。 Oracle中,序列的MAXVALUE
PURGE 在Oracle中,DROP TABLE语句用于将一张表放入回收站。而PURGE语句则不同,用于将表或索引从回收站彻底删除,并释放所有与该对象相关的空间,或清空整个回收站,也可以是从回收站中彻底删除一个已删除表空间的部分或全部内容。 通过Oracle语法迁移后,查询中将不含
USER对象设计规范 规则2.5 禁止使用特殊权限用户运行业务,需遵循权限最小分配原则 违反规则的影响: 特殊权限用户如管理员用户,均具有特殊用途,使用此类用户运行业务有安全和管控风险。 方案建议: 使用普通用户运行业务,特殊权限类用户仅用于管理类操作。 规则2.6 禁止使用一个数据库用户运行所有业务