Greenplum数据库设计开发规范参考.docx

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Greenplum数据库设计开发规范参考

Greenplum数据库设计开发规范参考文档2016年7月目 录Greenplum数据库设计开发规范1V1.511 前言41.1 文档目的41.2 文档范围41.3 预期读者41.4 参考资料42 开发规范检查项43 GP与TD的差异关注点64 系统级设计74.1 用户设计74.1.1 超级用户84.1.2 公共查询用户84.1.3 公共数据区用户84.1.4 集市系统用户84.2 数据库表空间设计94.3 资源队列设计104.4 系统级的维护工作114.4.1 系统表的维护工作114.4.2 各种库表的维护工作124.4.3 投产前统一收集统计信息125 命名规范126 数据库对象设计规范136.1 数据库对象数据量136.2 表创建规范136.3 表设计146.3.1 数据类型146.3.2 数据分布166.3.3 数据分区176.3.4 数据表压缩216.3.5 数据表行列存储226.4 索引设计236.5 视图设计256.6 Sequence设计266.7 其他数据库对象设计266.7.1 Schema266.7.2 函数266.7.3 触发器276.7.4 临时表277 开发规范277.1 GP查询优化器GPORCA的使用277.2 SQL开发规范287.2.1 基本要求287.2.2 大小写287.2.3 缩进和换行287.2.4 WHERE条件297.2.5 表连接307.2.6 排序语句327.2.7 运算符前后间隔337.2.8 CASE 语句编写337.2.9 SQL语句注释347.2.10 嵌套子查询367.2.11 高效的SQL语句写法367.2.12 开发建议417.3 存储函数开发规范427.3.1 编码规则427.3.2 大小写规则447.3.3 缩进与换行457.3.4 事务管理规范467.4 应用开发规范467.4.1 禁止在模板中嵌套子查询477.4.2 两表关联执行delete语句477.4.3 Window函数注意问题477.4.4 Window函数和聚合函数使用原则48前言文档目的随着Greenplum 数据库仓库平台应用逐步上线,为了保证Greenplum 数据仓库系统平台的平稳运行,保证系统的可靠性、稳定性、可维护性和高性能,特制定本开发规范,以规范基于Greenplum平台的应用开发,提高开发质量。文档范围本规范主要包含Greenplum 数据仓库平台应用开发的设计开发规范要求;适合于本行所有基于Greenplum 数据仓库平台的应用开发。预期读者Greenplum数据仓库平台应用的设计与开发人员;Greenplum 数据仓库平台的系统管理人员和数据库管理员;Greenplum 数据仓库平台的运行维护人员;参考资料《GPDB43AdminGuide.pdf》《GPDB43BestPractices.pdf》开发规范检查项本规范主要用于指导Greenplum数据库平台的开发,通过规范要求提升开发质量。本规范所提出的观点都是基于Greenplum数据库产品的最佳实践。同样,作为系统或者项目的管理者,也可以通过该规范对开发质量进行审查和监督。本章节的检查列表,是帮助系统管理人员审查开发质量,关注重点检查项。检查项目列表:序号分类检查项描述1系统级是否有按照开发规范创建数据库角色:1、创建子系统专用的用户2、非超级用户3、ETL跑批用户与前端用户区分开2资源队列检查:数据库角色归属的资源队列是否符合规范,不允许使用默认队列pg_default3tablespace检查:1、是否安装规范要求创建独立的tablespace。2、表是否按照要求创建到该tablespace中。3、检查相应的用户是否有配置默认tablespace4表属主检查:检查表的属主(owner)是否按照规范,表属主都应该是子系统的用户,一般属主应该是跑批用户(*_trans)。属主不允许是超级用户5库表设计检查子系统的中表数量6检查分区表设计是否符合规范1、如果表太大需要按天划分分区,只在半年内保留内的天分区;2、按月分区只在5年内保留月分区;3、五年前的历史分区都采用年分区;4、拉链表会有特殊的分区,如:p000101015、单个分区表,子分区数量不要超过300个。6、检查是否有没用的分区。是否有没用的子分区则需要结合具体的业务需求来定7检查是否需要设置为分区表,分区粒度是否合适。按照生产环境判断分区粒度的规则:1、表的总记录数超过3亿,单表容量超过50GB,需要把表设计为分区表2、该表在每个实例上记录数小于50万的表,无需进行分区,根据生产环境上实例数计算表总记录数小于XXX条记录,不需要设置为分区表3、单个子分区的记录数小于1000万,说明分区粒度太细8检查默认分区是否有过多的数据记录9检查表

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档