1 / 27
文档名称:

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

格式:doc   大小:290KB   页数:27页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

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

上传人:你是我的全部 2019/10/19 文件大小:290 KB

下载得到文件列表

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

相关文档

文档介绍

文档介绍:目录第一章 前言 文档目的 预期读者 参考资料 2第二章 设计规范 数据库对象数量 表创建规范 表结构设计 字段命名 数据类型 数据分布 分区 压缩存储 索引设计 其他数据库对象设计 schema 视图 临时表和中间表 11第三章 SQL开发规范 基本要求 WHERE条件 分区字段使用 表关联 排序语句 嵌套子查询 UNION/UNIONALL 高效SQL写法的建议 18前言文档目的随着Greenplum数据库的正式上线使用。为了保证Greenplum数据仓库系统平台的平稳运行,保证系统的可靠性、稳定性、可维护性和高性能。特制定本开发规范,以规范基于Greenplum数据库平台的相关应用开发,提高开发质量。预期读者Greenplum数据仓库平台应用的设计与开发人员;Greenplum数据仓库平台的系统管理人员和数据库管理员;Greenplum数据仓库平台的运行维护人员;:《》《》《》设计规范数据库对象数量数据库对象类型包括数据表、视图、函数、序列、索引等等,在Greenplum数据库中,系统元数据同时保存在Master服务器和Segment服务器上,过多的数据库对象会造成系统元数据的膨胀,而过多的系统元数据造成系统运行逐步变慢;同时,类似数据库的备份、恢复、扩容等较大型的操作都导致效率变慢。因此,依据GreenplumDB产品的最佳时间,单个数据库的对象数量,应控制在10万以内。GP数据库的对象包括:表、视图、索引、分区子表、外部表等。如果数据表的数量太多,建议按应用域进行分库,尽量将单个数据库的表数量控制在10万以内,可以在一个集群中创建多个数据库。【备注】:在Greenplum数据库中,一张分区表,在数据库中存储为一张父表、每张分区子表都是一张独立的库表;例如:一张按月进行分区的存储一年数据的表,如果含默认分区,共14张表。表创建规范为了避免数据库表数量太多,避免单个数据表的数据量过大,给系统的运行和使用带来困难,在Greenplum数据库中需遵循如下的表创建规范:1、GP系统表中保存的表名称都是以小写保存。通常SQL语句中表名对大小写不敏感。但不允许在建表语句中使用双引号(“”)包括表名,这样会影响系统表中存储的名称,使得表名存在大小写或特殊字符。表命名也不允许出现中文字。2、单个数据库的数据表数量建议不要超过10万张;3、禁止使用二级分区表,因为二级分区表会造成表对象数量的急剧膨胀;4、由于过多的数据文件会导致操作系统对文件的操作效率降低,直接影响到数据库的管理效率。如果数据文件数量过多,建议增加多个表空间,把数据表均匀分布到不同的表空间。每个表空间目录下的数据文件数量,应控制在80万以内。文件数统计可以直接到某个Segment实例目录下指定的表空间目录下统计。5、创建数据表(DDL)的时候(不含临时表和程序中使用的中间表),必须使用tablespace子句指定用于存储的表空间,而不是把所有表都存储在默认表空间;例如:Createtableemployee(idint,namevarchar)TABLESPACEtpc_data_01distributedby(id);6、对于数据量超过1TB的大表,需从应用设计方面,考虑对大表进行优化,例如是否可划分为历史数据表和当前数据表,并分开存放;是否应采用压缩存储节省空间;是否合理分区;是否应定期清理数据等等。表结构设计字段命名表字段的命名,与表名类似。在GP系统表中保存的表名称都是以小写保存。通常SQL语句中字段名称对大小写不敏感。但不允许在建表语句中使用双引号(“”)包括字段名,这样会影响系统表中存储的名称,使得表名存在大小写或特殊字符。字段命名也不允许出现中文字。数据类型数据类型的定义与相关数据的加载和使用紧密相关,数据类型的定义决定了数据所占用的空间大小,因此,必须慎重设计GP数据仓库数据表的字段类型。数据仓库的数据来自于多个异构的业务应用系统,通常情况下,业务应用系统的字段类型选择较为随意,不同的业务系统数据类型定义存在多样化,彼此之间差异较大;因此,在数据仓库中,需在参考源系统字段类型定义的情况下,结合Greenplum数据仓库平台的特点和要求,对字段数据类型进行设计。Greenplum数据库的数据类型