【云享读书会-数据仓库工具箱】DAY05 DWS维度建模实战

举报
真爱无敌 发表于 2020/01/20 10:55:17 2020/01/20
【摘要】 内容概要:1)shared-nothing分布式架构2)数据分片(sharding)3)行存和列存4)表分区5)查询实例讲解一、shared-nothing架构1)集群中每个节点都完全拥有自己独立的CPU/内存/存储,不存在共享资源2)各节点处理自己本地的数据,处理结果可以向上汇总或者通过通信协议在节点间流转3)节点是相互独立的,扩展能力强。整个集群拥有强大的并行处理能力。二、数据的分布式存...

image.png


内容概要:

1)shared-nothing分布式架构

2)数据分片(sharding)

3)行存和列存

4)表分区

5)查询实例讲解


一、shared-nothing架构

1)集群中每个节点都完全拥有自己独立的CPU/内存/存储,不存在共享资源

2)各节点处理自己本地的数据,处理结果可以向上汇总或者通过通信协议在节点间流转

3)节点是相互独立的,扩展能力强。整个集群拥有强大的并行处理能力。


二、数据的分布式存储和SQL执行

数据分片存储

1)每个表的记录都会分布在各个处理单元上

2)每个处理单元上都会有各个表的记录

3)理想状态下,记录会均匀分布到各个处理单元上(有数据分布方式决定)

image.png


三、DWS中的数据分布

1)复制

   *适合与记录集较小的表

   *表中数据在各节点上完全复制,各DN都拥有全量数据

2)Hash分布

   *适合于数据量较大的表

   *在DN数相同的情况下对于相同的输入,hash结果保持一致

   *数据平均分布的情况下,并行计算性能最好

image.png


四、DWS的DDL

分布列/分布字段

分布式数据库的数据表是分散在所有数据节点上的,所以创建表的时候需要指定分布列

image.png


五、分布列选择原则:

1)保证数据均匀分布

2)尽量选择等值查询字段

3)尽量选择关联聚合字段

image.png


六、表的存储方式

1)行存储表(适合短事务TP场景)

2)列存储表(适合分析AP场景)

image.png

image.png


七、表分区

分区表是将达标的数据分成许多小的数据子集,称为分区。

范围分区表

分区表的收益:

1)改善查询性能

2)增强可用性

3)方便维护

4)均衡I/O

image.png


八、分区剪枝的原理

对分区对象的查询可以仅搜索自己关心的分区,提高检索效率

image.png


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。