检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
未实名认证
已实名认证
云数据库GaussDB是华为自主创新研发的分布式关系型数据库,具有高性能、高可用、高安全、低成本的特点,GaussDB数据库如何进行开发呢?本文带你详细了解。
云数据库GaussDB是华为自主创新研发的分布式关系型数据库。该产品具备企业级复杂事务混合负载能力,同时支持分布式事务,同城跨AZ部署,数据0丢失,支持1000+的扩展能力,PB级海量存储。GaussDB开发数据库,同时拥有云上高可用,高可靠,高安全,弹性伸缩,一键部署,快速备份恢复,监控告警等关键能力,能为企业提供功能全面,稳定可靠,扩展性强,性能优越的企业级数据库服务。
本开发设计建议原则约定GaussDB开发过程中应当遵守的设计规范,输出高效的业务SQL代码
本开发设计建议约定GaussDB开发过程中应当遵守的设计规范,输出高效的业务SQL代码
用户应当遵守GaussDB开发设计规则,能够保证业务的高效运行;违反这些规则,将导致业务性能的大幅下降或某些业务逻辑错误。在GaussDB开发过程中客户需要注意的细则。用于标识容易导致客户理解错误的知识点(实际上遵守SQL标准的SQL行为),或者程序中潜在的客户不易感知的默认行为。
GaussDB开发过程中,数据库对象命名需要满足约束:非时序表长度不超过63个字节,时序表长度不超过53个字符,以字母或下划线开头,中间字符可以是字母、数字、下划线、$、#。避免使用保留或者非保留关键字命名数据库对象。同时避免使用双引号括起来的字符串来定义数据库对象名称,除非需要限制数据库对象名称的大小写。数据库对象名称大小写敏感会使定位问题难度增加。
GaussDB开发中可以使用Database和Schema实现业务的隔离,区别在于Database的隔离更加彻底,各个Database之间共享资源极少,可实现连接隔离、权限隔离等,Database之间无法直接互访。Schema隔离的方式共用资源较多,可以通过grant与revoke语法便捷地控制不同用户对各Schema及其下属对象的权限。从便捷性和资源共享效率上考虑,推荐使用Schema进行业务隔离。建议系统管理员创建Schema和Database,再赋予相关用户对应的权限。
GaussDB是分布式架构。数据分布在各个DN上。总体上讲,GaussDB开发良好的表设计需要遵循以下原则:
1、将表数据均匀分布在各个DN上。
2、将表的扫描压力均匀分散在各个DN上。
3、减少需要扫描的数据量。通过分区表的剪枝机制可以大幅减少数据的扫描量。
4、尽量减少随机I/O。通过聚簇/局部聚簇可以实现热数据的连续存储,将随机I/O转换为连续I/O,从而减少扫描的I/O代价。
5、尽量避免数据shuffle。
GaussDB开发在字段设计时,基于查询效率的考虑,一般遵循以下原则:
1、尽量使用高效数据类型:择数值类型时,在满足业务精度的情况下,选择数据类型的优先级从高到低依次为整数、浮点数、NUMERIC。
2、当多个表存在逻辑关系时,表示同一含义的字段应该使用相同的数据类型。
3、对于字符串数据,建议使用变长字符串数据类型,并指定最大长度。请务必确保指定的最大长度大于需要存储的最大字符数,避免超出最大长度时出现字符截断现象。除非明确知道数据类型为固定长度字符串,否则,不建议使用CHAR(n)、BPCHAR(n)、NCHAR(n)、CHARACTER(n)。
公有云
华为云Stack
了解更多