Greenplum数据库设计开发规范.doc

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
精品文档 精品文档 PAGE PAGE24 精品文档 PAGE 目 录 第一章 序言 2 1.1 文档目的 2 1.2 预期读者 2 1.3 参照资料 2 第二章 设计规范 3 2.1 数据库对象数量 3 2.2 表创建规范 3 2.3 表结构设计 4 2.3.1 字段命名 4 2.3.2 数据种类 4 2.3.3 数据散布 5 2.3.4 分区 7 2.3.5 压缩存储 8 2.3.6 索引设计 8 2.4 其他数据库对象设计 10 2.4.1 schema 10 2.4.2 视图 11 2.4.3 临时表和中间表 11 第三章 SQL开发规范 12 3.1 基本要求 12 3.2 WHERE条件 12 3.3 分区字段使用 13 3.4 表关系 13 3.5 排序语句 16 3.6 嵌套子查问 16 3.7 UNION/UNIONALL 16 3.8 高效SQL写法的建议 18 精品文档 。 1 精品文档 第一章 序言 1.1文档目的 随着Greenplum数据库的正式上线使用。为了保证 Greenplum数据仓库系 统平台的平稳运行,保证系统的可靠性、稳定性、可维护性和高性能。特拟订本 开发规范,以规范鉴于 Greenplum数据库平台的有关应用开发,提高开发质量。 1.2预期读者 Greenplum数据仓库平台应用的设计与开发人员; Greenplum数据仓库平台的系统管理人员和数据库管理员; Greenplum数据仓库平台的运行维护人员; 1.3参照资料 参照版本官方指引: 《GPDB43AdminGuide.pdf》 GPDB43RefGuide.pdf》 GPDB43UtilityGuide.pdf》 。 2 精品文档 第二章 设计规范 2.1数据库对象数量 数据库对象种类包括数据表、视图、函数、序列、索引等等,在Greenplum数据库中,系统元数据同时保留在Master服务器和Segment服务器上,过多的数据库对象会造成系统元数据的膨胀,而过多的系统元数据造成系统运行逐步变慢;同时,近似数据库的备份、恢复、扩容等较大型的操作都致使效率变慢。因 此,依据GreenplumDB产品的最正确时间,单个数据库的对象数量,应控制在10万以内。 GP数据库的对象包括:表、视图、索引、分区子表、外部表等。 如果数据表的数量太多,建议按应用域进行分库,尽量将单个数据库的表数量控制在10万以内,能够在一个集群中创建多个数据库。 【备注】:在Greenplum数据库中,一张分区表,在数据库中存储为一张父表、每张分区子表都是一张独立的库表;比如:一张按月进行分区的存储一年数据的表,如果含默认分区,共14张表。 2.2表创建规范 为了防止数据库表数量太多,防止单个数据表的数据量过大,给系统的运行和使用带来困难,在Greenplum数据库中需按照如下的表创建规范: 1、GP系统表中保留的表名称都是以小写保留。往常 SQL语句中表名对大小 写不敏感。但不允许在建表语句中使用双引号( “”)包括表名,这样会影响系统 表中存储的名称,使得表名存在大小写或特殊字符。表命名也不允许出现中文字。 2、单个数据库的数据表数量建议不要超过 10万张; 3、禁止使用二级分区表,因为二级分区表会造成表对象数量的急剧膨胀; 4、由于过多的数据文件会致使操作系统对文件的操作效率降低,直接影响 到数据库的管理效率。如果数据文件数量过多,建议增加多个表空间,把数据表 。 3 精品文档 均匀散布到不同的表空间。每个表空间目录下的数据文件数量,应控制在 80万 以内。文件数统计能够直接到某个 Segment实例目录下指定的表空间目录下统计。 5、创建数据表(DDL)的时候(不含临时表和程序中使用的中间表) ,必须 使用tablespace 子句指定用于存储的表空间, 而不是把所有表都存储在默认表 空间;比如: Createtableemployee(idint,namevarchar) TABLESPACEtpc_data_01distributedby(id); 6、关于数据量超过 1TB的大表,需从应用设计方面,考虑对大表进行优化, 比如是否可区分为历史数据表和目前数据表, 并分开寄存;是否应采用压缩存储 节俭空间;是否合理分区;是否应定期清理数据等等。 2.3表结构设计 字段命名 表字段的命名,与表名近似。在GP系统表中保留的表名称都是以小写保留。 往常SQL语句中字段名称对大小写不敏感。但不允许在建表语句中使用双引号 (“”)包括字段名,这样会影响系统表中存储的名称, 使得表名存在大小写或特 殊字符。字段命名也不允许出现中文字。 数据种类 数据种类的定义与有关数据的加载和使用紧密有关,数据种类的定义决定了数据所占用的空间大小,因此,必须慎重设计GP数据

文档评论(0)

150****5607 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档