Greenplum数据库最佳实践.pdf

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Greenplum 数据库最佳实践 ❖介绍 本文介绍Pivotal Greenplum Database 数据库(以下简称:Greenplum 数据库,或GPDB)的最 佳实践。 最佳实践就是指能持续产生比其她方法更好结果的方法或者技术,它来自于实战经验,并被 证实了遵循这些方法可以获得可靠的预期结果。本最佳实践旨在通过利用所有可能的知识与 技术为正确使用GPDB 提供有效参考。 本文不就是在教您如何使用Greenplum 数据库的功能,而就是帮助您在设计、实现与使用 Greenplum 数据库时了解需要遵循哪些最佳实践。关于如何使用与实现具体的Greenplum 数据库特性,请参考 上的Greenplum 数据库帮助文档以及 上的Sandbox 与实践指南。 本文目的不就是要涵盖整个产品或者产品特性,而就是概述GPDB 实践中最重要的因素。本 文不涉及依赖于GPDB 具体特性的边缘用例,后者需要精通数据库特性与您的环境,包括 SQL 访问、查询执行、并发、负载与其她因素。 通过掌握这些最佳实践知识,会增加GPDB 集群在维护、支持、性能与可扩展性等方面的成 功率。 第一章最佳实践概述 本部分概述了Greenplum 数据库最佳实践所涉及的概念与要点。 数据模型 GPDB 就是一个基于大规模并行处理(MPP)与无共享架构的分析型数据库。这种数据库的 数据模式与高度规范化的事务性SMP 数据库显著不同。通过使用非规范化数据库模式,例如 具有大事实表与小维度表的星型或者雪花模式,GPDB 在处理MPP 分析型业务时表现优异。 跨表关联(JOIN)时字段使用相同的数据类型。 详见数据库模式设计(后续章节) 堆存储与追加优化存储(Append-Optimized,下称AO) Greenplum 数据库最佳实践 若表与分区表需要进行迭代式的批处理或者频繁执行单个UPDATE、DELETE 或INSERT 操作,使用堆存储。 若表与分区表需要并发执行UPDATE、DELETE 或INSERT 操作,使用堆存储。 若表与分区表在数据初始加载后更新不频繁,且仅以批处理方式插入数据,则使用AO 存储。 不要对AO 表执行单个INSERT、UPDATE 或DELETE 操作。 不要对AO 表执行并发批量UPDATE 或DELETE 操作,但可以并发执行批量INSERT 操作。 详见堆存储与AO 存储(后续章节) 行存储与列存储 若数据需要经常更新或者插入,则使用行存储。 若需要同时访问一个表的很多字段,则使用行存储。 对于通用或者混合型业务,建议使用行存储。 若查询访问的字段数目较少,或者仅在少量字段上进行聚合操作,则使用列存储。 若仅常常修改表的某一字段而不修改其她字段,则使用列存储。 详见行存储与列存储(后续章节) 压缩 对于大AO 表与分区表使用压缩,以提高系统I/O。 在字段级别配置压缩。 考虑压缩比与压缩性能之间的平衡。 详见压缩(后续章节) Greenplum 数据库最佳实践 分布 为所有表定义分布策略:要么定义分布键,要么使用随机分布。不要使用缺省分布方式。 优先选择可均匀分布数据的单个字段做分布键。 不要选择经常用于 WHERE 子句的字段做分布键。 不要使用日期或时间字段做分布键。 分布键与分区键不要使用同一字段。 对经常执行JOIN 操作的大表,优先考虑使用关联字段做分布键,尽量做到本地关联,以提高性 能。 数据初始加载后或者每次增量加载后,检查数据分布就是否均匀。 尽可能避免数据倾斜。 详见分布(后续章节) 内存管理 设置 vm 、overcommit_memory 为 2 不要为操作系统的页设置过大的值 使用 gp_vmem_protect_limit 设置单个节点数据库(Segment Database)可以为所有查询分 配的最大内存量。 不要设置过高的 gp_vmem_protect_limit 值,也不要大于系统的物理内存。 gp_vmem_protect_limit 的建议值计算公式为: (SWAP + (RAM * vm、overcommit_ratio)) * 0、9 / number_Segments_per_server 使用 statement_mem 控制节点数据库为单个查询分配的内存量。 使用资源队列设置队列允许的当前最大查询数(ACTIVE_STATEMENTS)与允许使用的内 存大小(MEMORY_LIMIT)。

文档评论(0)

文档查询,农业合作 + 关注
官方认证
内容提供者

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

认证主体土默特左旗农特农机经销部
IP属地内蒙古
统一社会信用代码/组织机构代码
92150121MA0R6LAH4P

1亿VIP精品文档

相关文档