检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
数据库开发指南重点面向数据库的设计者、应用程序开发人员或DBA,提供设计、构建、查询和维护数据仓库所需的信息。 数据库基本操作 创建和管理数据库 创建和管理表 管理用户及权限 配置GUC参数 用户自定义函数 PostGIS空间数据库扩展 全文检索 SQL语法参考 存储过程 系统表和视图 导入/导出数据
创建数据仓库GaussDB(DWS) 参见“创建集群”章节创建GaussDB(DWS)数据仓库。创建成功后,记录集群的内网IP。 为确保ECS与GaussDB(DWS)网络互通,GaussDB(DWS)数据仓库需要与ECS在同一个区域,同一个虚拟私有云和子网下。 表1 DWS规格
备注1:存算分离表数据存储在OBS上,无需重分布,但是元数据和索引存储在本地,仍然需要进行重分布。存算分离表在重分布时,表只支持读,元数据的重分布时间一般比较短,但是,如果表上创建了索引,索引会影响重分布的性能,重分布完成时间与索引的数据量成正比关系,在此期间,表只支持读。 存算
选择带有h1的节点规格,规格详情请参见表3。 存算一体(DWS 2.0)本地盘规格,该规格存储容量固定,不能够进行磁盘扩容,只能进行节点扩容,规格详情请参见表4。 步长指在集群变配过程中增大或减小磁盘大小的间隔大小。用户在操作时需要按照对应规格的存储步长来选择。 表1 存算一体(DWS
化,提高集群的性能和可支持的并发度。通过对关联条件和分组条件的仔细设计,能够尽可能的减少不必要的数据shuffle。 选择存储方案 【建议】表的存储类型是表定义设计的第一步,用户业务类型是决定表的存储类型的主要因素,表存储类型的选择依据请参考表1。 表1 表的存储类型及场景 存储类型
Key(局部聚簇,简称PCK)是列存表的一种局部聚簇技术,在GaussDB(DWS)中,使用PCK可以通过min/max稀疏索引实现事实表快速过滤扫描。PCK的选取遵循以下原则: 【关注】一张表上只能建立一个PCK,一个PCK可以包含多列,但是一般不建议超过2列。 【建议】在查询中的简单表达式过滤条件上创建PCK。这种过滤条件一般形如col
GaussDB(DWS)数据库对象设计规则 GaussDB(DWS) Database和Schema设计规则 GaussDB(DWS)表设计规则 GaussDB(DWS)字段设计规则 GaussDB(DWS)约束设计规则 GaussDB(DWS)视图和关联表设计规则 父主题: GaussDB(DWS)开发设计规范
统性能,以便比较不同的设计对表的加载性能、存储空间和查询性能的影响。 在进行调优表实践之前,需要先了解表结构设计相关的内容。因为进行数据库设计时,表设计上的一些关键项将严重影响后续整库的查询性能。表设计对数据存储也有影响:好的表设计能够减少I/O操作及最小化内存使用,进而提升查询性能。
字段设计 选择数据类型 在字段设计时,基于查询效率的考虑,一般遵循以下原则: 【建议】尽量使用高效数据类型。 选择数值类型时,在满足业务精度的情况下,选择数据类型的优先级从高到低依次为整数、浮点数、NUMERIC。 【建议】当多个表存在逻辑关系时,表示同一含义的字段应该使用相同的数据类型。
化,提高集群的性能和可支持的并发度。通过对关联条件和分组条件的仔细设计,能够尽可能的减少不必要的数据shuffle。 选择存储方案 【建议】表的存储类型是表定义设计的第一步,用户业务类型是决定表的存储类型的主要因素,表存储类型的选择依据请参考表1。 表1 表的存储类型及场景 存储类型
视图和关联表设计 视图设计 【建议】除非视图之间存在强依赖关系,否则不建议视图嵌套。 【建议】视图定义中尽量避免排序操作。 关联表设计 【建议】表之间的关联字段应该尽量少。 【建议】关联字段的数据类型应该保持一致。 【建议】关联字段在命名上,尽可能体现出明显的关联关系。例如,采用同样名称来命名。
化,提高集群的性能和可支持的并发度。通过对关联条件和分组条件的仔细设计,能够尽可能的减少不必要的数据shuffle。 选择存储方案 【建议】表的存储类型是表定义设计的第一步,用户业务类型是决定表的存储类型的主要因素,表存储类型的选择依据请参考表1。 表1 表的存储类型及场景 存储模型
hema的owner,要访问Schema下的对象,需要同时给用户赋予Schema的usage权限和对象的相应权限。 【关注】如果要在Schema下创建对象,需要授予操作用户该Schema的CREATE权限。 【关注】Schema的owner默认拥有该Schema下对象的所有权限,
开发设计建议 开发设计建议概述 数据库对象命名 数据库对象设计 JDBC配置 SQL编写 自定义外部函数(pgSQL/Java)使用 PL/pgSQL使用
开发设计建议概述 本开发设计建议约定数据库建模和数据库应用程序开发过程中,应当遵守的设计规范。依据这些规范进行建模,能够更好的契合GaussDB(DWS)的分布式处理架构,输出更高效的业务SQL代码。 本开发设计建议中所陈述的“建议”和“关注”含义如下: 建议:用户应当遵守的设计规
GaussDB(DWS)字段设计规则 选择数据类型 在字段设计时,基于查询效率的考虑,一般遵循以下原则: 【建议】尽量使用高效数据类型。 选择数值类型时,在满足业务精度的情况下,选择数据类型的优先级从高到低依次为整数、浮点数、NUMERIC。 【建议】当多个表存在逻辑关系时,表示同一含义的字段应该使用相同的数据类型。
GaussDB(DWS)字段设计规则 选择数据类型 在字段设计时,基于查询效率的考虑,一般遵循以下原则: 【建议】尽量使用高效数据类型。 选择数值类型时,在满足业务精度的情况下,选择数据类型的优先级从高到低依次为整数、浮点数、NUMERIC。 【建议】当多个表存在逻辑关系时,表示同一含义的字段应该使用相同的数据类型。
扫描。PCK的选取遵循以下原则: 【关注】一张表上只能建立一个PCK,一个PCK可以包含多列,但是一般不建议超过2列。 【建议】在查询中的简单表达式过滤条件上创建PCK。这种过滤条件一般形如col op const,其中col为列名,op为操作符 =、>、>=、<=、<,const为常量值。
扫描。PCK的选取遵循以下原则: 【关注】一张表上只能建立一个PCK,一个PCK可以包含多列,但是一般不建议超过2列。 【建议】在查询中的简单表达式过滤条件上创建PCK。这种过滤条件一般形如col op const,其中col为列名,op为操作符 =、>、>=、<=、<,const为常量值。
数据库对象设计 Database和Schema设计 表设计 字段设计 约束设计 视图和关联表设计 父主题: 开发设计建议