- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 PAGE 1 页
. . . .
学习资料
目 录
TOC \o 1-3 \h \z \u 第一章 前言 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 索引设计 9
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 / UNION ALL 16
3.8 高效SQL写法的建议 18
前言
文档目的
随着Greenplum数据库的正式上线使用。为了保证Greenplum 数据仓库系统平台的平稳运行,保证系统的可靠性、稳定性、可维护性和高性能。特制定本开发规范,以规范基于Greenplum数据库平台的相关应用开发,提高开发质量。
预期读者
Greenplum数据仓库平台应用的设计与开发人员;
Greenplum 数据仓库平台的系统管理人员和数据库管理员;
Greenplum 数据仓库平台的运行维护人员;
参考资料
参考Greenplum4.3.x版本官方指引:
《GPDB43AdminGuide.pdf》
《GPDB43RefGuide.pdf》
《GPDB43UtilityGuide.pdf》
设计规范
数据库对象数量
数据库对象类型包括数据表、视图、函数、序列、索引等等,在Greenplum数据库中,系统元数据同时保存在Master 服务器和Segment服务器上,过多的数据库对象会造成系统元数据的膨胀,而过多的系统元数据造成系统运行逐步变慢;同时,类似数据库的备份、恢复、扩容等较大型的操作都导致效率变慢。因此,依据GreenplumDB产品的最佳时间,单个数据库的对象数量,应控制在10万以内。
GP数据库的对象包括:表、视图、索引、分区子表、外部表等。
如果数据表的数量太多,建议按应用域进行分库,尽量将单个数据库的表数量控制在10万以内,可以在一个集群中创建多个数据库。
【备注】:在Greenplum数据库中,一张分区表,在数据库中存储为一张父表、每张分区子表都是一张独立的库表;例如:一张按月进行分区的存储一年数据的表,如果含默认分区,共14张表。
表创建规范
为了避免数据库表数量太多,避免单个数据表的数据量过大,给系统的运行和使用带来困难,在Greenplum数据库中需遵循如下的表创建规范:
1、GP系统表中保存的表名称都是以小写保存。通常SQL语句中表名对大小写不敏感。但不允许在建表语句中使用双引号(“”)包括表名,这样会影响系统表中存储的名称,使得表名存在大小写或特殊字符。表命名也不允许出现中文字。
2、单个数据库的数据表数量建议不要超过10万张;
3、禁止使用二级分区表,因为二级分区表会造成表对象数量的急剧膨胀;
4、由于过多的数据文件会导致操作系统对文件的操作效率降低,直接影响到数据库的管理效率。如果数据文件数量过多,建议增加多个表空间,把数据表均匀分布到不同的表空间。每个表空间目录下的数据文件数量,应控制在80万以内。文件数统计可以直接到某个Segment实例目录下指定的表空间目录下统计。
5、创建数据表(DDL)的时候(不含临时表和程序中使用的中间表),必须使用tablespace 子句指定用于存储的表空间,而不是把所有表都存储在默认表空间;例如:
Create table employee ( id int,name varchar)
TABLESPACE tpc_data_01 distributed by (id);
6、对于数据量超过1TB的大表,需从应用设计方面,考虑对大表进行优化,例如是否可划分为历史数据表和当前数据表,并分开存放;是否应采用压缩存储节省空间;是否合理分区;是否应定期清理数据等等。
表结构设计
字段命名
表字段的命名,与表名类似。在GP系统表中保存的表名称都是以小写保存。通常SQL语句中字段名称对大小写不敏感。但不允许在建表语句中使用双引号(“”)包括字段名,这样会影响系统表中存储的名称
您可能关注的文档
最近下载
- (2025秋新版)苏教版科学三年级上册《3单元 地球上的水体》教案.pdf VIP
- 2013款北京现代胜达_汽车使用手册用户操作图解驾驶车主车辆说明书电子版.pdf
- 煤矿建设项目竣工验收报告.docx
- 2022年钢筋工程量计算例题 .pdf VIP
- 6个百分百七个到位.docx VIP
- 初中现代文阅读记叙文散文答题技巧.pptx VIP
- 数学(中考总复习)第六章第27课时《尺规作图》复习课件.pptx
- hse检查表范本.doc VIP
- GBT709—2019热轧钢板和钢带的尺寸、外形、重量及允许偏差.docx VIP
- 4.1文物中的乘法口诀 (课件) 2025-2026学年北师大版数学二年级上册.pptx VIP
原创力文档


文档评论(0)