检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
GaussDB(DWS)数据库用户类型 在非三权分立模式下,GaussDB(DWS)支持管理员用户和普通用户两种类型的数据库账号。三权分立下,用户类型和权限请参考GaussDB(DWS)三权分立。 管理员用户可以管理所有普通用户和数据库。 普通用户可连接和访问数据库,并在授权后进行特定的数据库操作以及执行SQL语句。
GaussDB(DWS)行级访问控制 行级访问控制特性将数据库访问控制精确到数据表行级别,使数据库达到行级访问控制的能力。不同用户执行相同的SQL查询操作,读取到的结果是不同的。 用户可以在数据表创建行访问控制(Row Level Security)策略,该策略是指针对特定数据库
JDBC包与驱动类 JDBC包 从管理控制台下载包名为dws_8.x.x_jdbc_driver.zip的软件包。 请参见下载JDBC或ODBC驱动。 解压后有两个JDBC的驱动jar包: gsjdbc4.jar:与PostgreSQL保持兼容的驱动包,其中类名、类结构与Post
GaussDB(DWS)视图和关联表设计规则 视图设计 【建议】除非视图之间存在强依赖关系,否则不建议视图嵌套。 【建议】视图定义中尽量避免排序操作。 关联表设计 【建议】表之间的关联字段应该尽量少。 【建议】关联字段的数据类型应该保持一致。 【建议】关联字段在命名上,尽可能体现
自定义GaussDB(DWS)密码策略 创建用户或修改用户时需要指定密码,GaussDB(DWS)有默认的密码复杂度要求,也支持用户自定义数据库账户密码策略。 GaussDB(DWS)默认密码策略 GaussDB(DWS)默认进行密码复杂度校验(即GUC参数password_po
自定义GaussDB(DWS)密码策略 创建用户或修改用户时需要指定密码,GaussDB(DWS)有默认的密码复杂度要求,也支持用户自定义数据库账户密码策略。 GaussDB(DWS)默认密码策略 GaussDB(DWS)默认进行密码复杂度校验(即GUC参数password_po
指定子查询不提升的hint 功能描述 优化器在对查询进行逻辑优化时通常会将可以提升的子查询提升到上层以避免嵌套执行,但对于某些场景,嵌套执行不会导致性能下降过多,而提升之后扩大了查询路径的搜索范围,可能导致性能变差。对于此类情况,可以使用no merge hint指定子查询不提升
GaussDB(DWS)在CPU核数、内存相同的情况下,小规格多节点与大规格三节点集群如何选择? 小规格多节点: 如果数据量不大、集群节点数量需要伸缩,但不能忍受太高的成本,可以选择小规格多节点集权。 例如,规格为8核32G的小规格集群(dwsx2.h.2xlarge.4.c6)
配置JDBC连接(使用负载均衡方式) 背景信息 很多用户在使用JDBC连接集群时只连接集群的一个CN,这就导致单个CN压力较大并且别的CN资源浪费,并且这种方式还有单点故障导致连接不可用的风险。 用户可使用JDBC连接多个CN避免以上问题。主要有以下三种方式: 使用ELB连接集群
配置JDBC连接(使用IAM认证方式) 概述 GaussDB(DWS)提供了使用IAM认证方式访问数据库的功能。当使用JDBC应用程序连接集群时,您可以在JDBC连接中配置IAM用户名及其用户凭证等信息,在连接数据库时系统就会自动生成临时数据库凭证,从而成功连接到数据库。 当前仅支持1
步骤5:测试新的表结构下的系统性能 重新创建了具有存储方式、压缩级别、分布方式和分布列的测试数据集后,重新测试系统性能。 记录各表的存储使用情况。 使用pg_size_pretty函数查询每张表使用的磁盘空间,并将结果记录到基准表中。 1 SELECT T_NAME, PG_SI
自定义GaussDB(DWS)外部函数(pgSQL/Java)使用规则 【关注】Java UDF可以实现一些java逻辑计算,禁止在Java UDF中封装业务。 【关注】禁止在Java函数中使用任何方式连接数据库,包括但不限于JDBC。 【关注】只能选择下表中的数据类型,不支持自定义类型、复杂数据类型(Java
GaussDB(DWS)字段设计规则 选择数据类型 在字段设计时,基于查询效率的考虑,一般遵循以下原则: 【建议】尽量使用高效数据类型。 选择数值类型时,在满足业务精度的情况下,选择数据类型的优先级从高到低依次为整数、浮点数、NUMERIC。 【建议】当多个表存在逻辑关系时,表示同一含义的字段应该使用相同的数据类型。
GaussDB(DWS)约束设计规则 DEFAULT和NULL约束 【建议】如果能够从业务层面补全字段值,则不建议使用DEFAULT约束,避免数据加载时产生不符合预期的结果。 【建议】给明确不存在NULL值的字段加上NOT NULL约束,优化器会在特定场景下对其进行自动优化。 【
GaussDB(DWS)表设计规则 GaussDB(DWS)是分布式架构。数据分布在各个DN上。总体上讲,良好的表设计需要遵循以下原则: 【关注】将表数据均匀分布在各个DN上。数据均匀分布,可以防止数据在部分DN上集中分布,从而导致因存储倾斜造成集群有效容量下降。通过选择合适的分布列,可以避免数据倾斜。
步骤2:测试初始表结构下的系统性能并建立基线 在优化表结构前后,请测试和记录以下详细信息以对比系统性能差异: 数据加载时间。 表占用的存储空间大小。 查询性能。 本次实践中的示例基于使用8节点的dws.d2.xlarge集群。因为系统性能受到许多因素的影响,即使您使用相同的集群配置,结果也会有所不同。
自定义GaussDB(DWS)外部函数(pgSQL/Java)使用规则 【关注】Java UDF可以实现一些java逻辑计算,禁止在Java UDF中封装业务。 【关注】禁止在Java函数中使用任何方式连接数据库,包括但不限于JDBC。 【关注】只能选择下表中的数据类型,不支持自定义类型、复杂数据类型(Java
ODBC包及依赖的库和头文件 从管理控制台下载ODBC的软件包。 请参见下载JDBC或ODBC驱动。 Linux下的ODBC包 从软件包中获取,包名为dws_8.x.x_odbc_driver_for_xxx_xxx.zip。Linux环境下,开发应用程序要用到unixODBC提供的头文件(sql
JDBC配置数据库第三方连接池 背景信息 由于GaussDB(DWS)当前没有自己的JDBC连接池,且继承于PG的连接池已下线,因此GaussDB(DWS)建议使用第三方的druid、Hikari CP、dbcp2等连接池。 JDBC继承于PG的连接池已下线,不推荐使用。 下述J
GaussDB(DWS) Database和Schema设计规则 GaussDB(DWS)中可以使用Database和Schema实现业务的隔离,区别在于Database的隔离更加彻底,各个Database之间共享资源极少,可实现连接隔离、权限隔离等,Database之间无法直接