DPF分布键设计解析.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ODS DPF数据库 分布键设计培训 培训大纲 DB2 DPF介绍 ODS 分布键设计 答疑 三种并行数据库架构 典型数据库架构 Share Disk: 共享磁盘技术,交易系统多 Oracle RAC IBM DB2 for z/OS IBM DB2 for UDB 9.8 later Share-Nothing: 无共享技术,主要用于仓库系统 IBM DB2 DPF(database partition feature) EMC greenplum DB2 DPF概述 1个环境有多个分区,每个分区包含自己的数据、索引、日志、内存和锁机制; 分区之间通过FCM通讯; 解决扩展性、性能; 目前广泛应用于仓库和分析系统; DPF架构中的数据库对象 实例目录一般通过NFS/GPFS为各分区共享 实例(instance) 分区(partition) db2nodes.cfg包含节点信息 /etc/service文件包含IP端口号,用于节点间通讯 数据库(database) 每个分区有独立的数据库目录(包含的内容与单分区类似) 每个分区有独立的事务日志 独立的内存、锁 独立的数据和索引 分区组(Database partition group) 分区组包含db2nodes.cfg里定义的分区 CREATE DATABASE PARTITION GROUP pg_data ON DBPARTITIONNUMS(1,2,3) 三个缺省的分区组 IBMCATGROUP: 包含系统表空间,只在0节点 IBMTEMPGROUP:系统临时分区组,跨所有节点 IBMDEFAULTGROUP: 包含用户定义数据,跨所有节点 表空间(Tablespace) 表空间创建在分区组里 CREATE TABLESPACE tbs_ods in database partition group pg_data managed by database USING (file /data2/datats/cont1 10M) on dbpartitionnum(1) USING (file /data2/datats/cont2 10M) on dbpartitionnum(2) USING (file /data2/datats/cont3 10M) on dbpartitionnum(3) bufferpool bp_data; 表(table) CREATE TABLE ORDERS (ordernum int not null, orderdate date not null) DISTRIBUTE BY HASH (ordernum) in tbs_ods 哈希函数根据分区映射图将数据散列到相关分区 培训大纲 DB2 DPF介绍 ODS 分布键设计 答疑 分布键设计原则 分区键必须确保数据分布均匀,选择不同值基数比较大的字段 分区键必须作为主键或唯一索引的一部分 尽可能使用尽量少的字段作为分区键,最好选择1个字段作为分区键 频繁join的一些字段作为备选 考虑所有表中哪些字段包含的最多,比如对于银行业务来说,账号、卡号或客户号可能是用的最多的字段 根据业务类型确定合适的分布键,主键最好和业务场景有关联 避免选择时间、短字符串、值域窄(如交易类型)类字段 适合作为分区键的数据类型,intchardecimal 分布键对性能问题的影响 如果join条件使用的是两个表的分布键,join会分别在各个分区内进行,结束后对结果进行汇总。这样每个分区处理的都是小数据量的join,可以产生最佳的性能。 Join条件使用了其中一个表的分布键,另外一个表会按照使用表的分布键进行定向重新分布。 Join条件没有使用任何一个表的分布键,DB2会选择其中一个小表做广播,将数据在每个节点都复制一份,这种方式对资源的消耗最大,也是最差的场景,必须想办法避免。 考虑因素 设计数据库分布键后的数据分布情况 SDM层到FDM层的ETL过程,尽量在分区内进行 应用程序或下游系统抽数时多表关联的连接条件 当前表的分布键设计要支持即将上线的系统,如GDM 确保查询连接再各自分区内完成,充分发挥DPF的优势 尽量为所有表都定义主键 优先完成FDM层的分区键设计 根据映射关系选择SDM层的表分区键 针对ODS平台现状的分布键设计 单字段主键的表,主键作为分布键; 多字段作为复合主键的表,选择一个作为分布键 无主键的表,结合业务和数据分布规则,确定分布键 数据量小的代码表放在单分区,大于5万行数据的代码表放在多分区 汇总类的、数据量较小的报表,建议放在单分区 ODS数据处理层 单分区表数量 多分区表数量 总计 ODSFDM

文档评论(0)

阿里山的姑娘 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档