检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
表设计 GaussDB是分布式架构。数据分布在各个DN上。总体上讲,良好的表设计需要遵循以下原则: 将表数据均匀分布在各个DN上。数据均匀分布,可以防止数据在部分DN上集中分布,从而导致因存储倾斜造成集群有效容量下降。通过选择合适的分布列,可以避免数据倾斜。 将表的扫描压力均匀分散在
约束设计 DEFAULT和NULL约束 如果能够从业务层面补全字段值,那么,不建议使用DEFAULT约束,避免数据加载时产生不符合预期的结果。 给明确不存在NULL值的字段加上NOT NULL约束,优化器会在特定场景下对其进行自动优化。 给可以显式命名的约束显式命名。除了NOT
AS等),单DN数据量大约超过500MB的复杂查询和VACUUM FULL等操作。 nodegroup 在逻辑数据库实例模式下,指定逻辑数据库实例名称。必须是存在的逻辑数据库实例。 如果逻辑数据库实例名称包含大写字符、特殊符号或以数字开头,SQL语句中对逻辑数据库实例名称需要加双引号。
TRACK_MEMORY_CONTEXT_DETAIL字段 名称 类型 描述 context_name text 内存上下文的名称。 file text 内存申请位置所属的文件。 line integer 内存申请位置的行号。 size bigint 内存申请的总大小(单位:字节)。 父主题: Memory
有者或者被授予了指定表VACUUM权限的用户,三权分立开关关闭时,默认系统管理员有该权限。数据库的所有者允许对数据库中除了共享目录以外的所有表进行VACUUM操作(该限制意味着只有系统管理员才能真正对一个数据库进行VACUUM操作)。VACUUM命令会跳过那些用户没有权限的表进行垃圾回收操作。
REPLICATION; --插入数据。 openGauss=# INSERT INTO blob_type_t1 VALUES(10,empty_blob(), HEXTORAW('DEADBEEF'),E'\\xDEADBEEF'); --查询表中的数据。 openGauss=# SELECT
始化用户可见的表。 GaussDB提供了以下类型的系统表和系统视图: 兼容PostgreSQL的系统表和系统视图 这类系统表和系统视图具有PG前缀。 GaussDBl新增的系统表和系统视图 这类系统表和视图具有GS前缀。 查看数据库中包含的表 在public Schema下新建五张表:
动态数据脱敏函数 该函数为内部功能调用函数。 creditcardmasking(col text, letter char default 'x') 描述:将col字符串后四位之前的数字使用letter替换。 参数:待替换的字符串、替换字符。 返回值类型:text 示例: 1 2
设置建议:该参数默认为off,在滚动升级期间的备数据库需要设置为on。数据库滚动升级操作时逻辑备机不要关闭此参数。 设置不当的风险与影响:如果在滚动升级期间的备数据库设置为off,逻辑回放会停止,滚动升级会发生异常。 sqlapply_guard_mode 参数说明:逻辑备机的数据保护模式。 参数类型:枚举类型
闪回表可以将表恢复至特定时间点,当逻辑损坏仅限于一个或一组表,而不是整个数据库时,此特性可以快速恢复表的数据。闪回表基于MVCC多版本机制,通过删除指定时间点和该时间点之后的增量数据,并找回指定时间点和当前时间点删除的数据,实现表级数据还原。 前提条件 整体方案分为三部分:旧版本保留、快照的维
参数说明:开启极致RTO功能后,备机读相关文件的触发强制回收的比例。当base page文件总大小超过max_standby_base_page_size* standby_force_recycle_ratio,或者lsn info文件总大小超过max_standby_lsn_info_size*
时间和日期处理函数和操作符 时间日期操作符 用户在使用时间和日期操作符时,对应的操作数请使用明确的类型前缀修饰,以确保数据库在解析操作数的时候能够与用户预期一致,不会产生用户非预期的结果。 比如下面示例没有明确数据类型就会出现异常错误。 1 2 3 4 5 6 7 openGauss=# SELECT date
活地进行数据管理,但对用户本身的数据抽象能力有一定的要求。 策略 描述 适用场景 Hash 表数据通过hash方式散列到集群中的所有DN实例上。 数据量较大的事实表。 Replication 集群中每一个DN实例上都有一份全量表数据。 小表、维度表。 Range 表数据对指定列按照范围进行映射,分布到对应DN。
当前实例日志回放过程中读取数据页面的I/O次数计数。 read_data_io_total_dur bigint 当前实例日志回放过程中读取数据页面的I/O总用时。 write_data_io_counter bigint 当前实例日志回放过程中写数据页面的I/O次数计数。 wr
数据类型 数值数据类型 日期与时间数据类型 字符串数据类型 二进制数据类型 JSON数据类型 数据类型支持的属性 数据类型转换 父主题: MySQL兼容性B模式
varying(n),这里的n是一个正整数,n最大取值为83886080,相当于10M的容量。 bit类型的数据必须准确匹配长度n,如果存储短或者长的数据都会报错。bit varying类型的数据是最长为n的变长类型,长度超过n时会被拒绝。一个没有长度的bit等效于bit(1),没有长度的bit
aclitem类型 aclitem数据类型是用来存储对象权限信息的,它的内部实现是int类型,支持的格式为‘user1=privs/user2’。 aclitem[]数据类型为aclitem组成的数组,支持的格式为‘{user1=privs1/user3,user2=privs2/user3}’。
【建议】避免使用保留或者非保留关键字命名数据库对象。 可以使用select * from pg_get_keywords()查询GaussDB的关键字,或者在关键字章节中查看。 【建议】避免使用双引号括起来的字符串来定义数据库对象名称,除非需要限制数据库对象名称的大小写。数据库对象名称大小写敏感会使定位问题难度增加。
数据库对象设计 Database和Schema设计 表设计 字段设计 约束设计 视图和关联表设计 父主题: 开发设计建议
【建议】避免使用保留或者非保留关键字命名数据库对象。 可以使用select * from pg_get_keywords()查询GaussDB的关键字,或者在关键字章节中查看。 【建议】避免使用双引号括起来的字符串来定义数据库对象名称,除非需要限制数据库对象名称的大小写。数据库对象名称大小写敏感会使定位问题难度增加。