【云享读书会-数据仓库工具箱】DAY05 DWS维度建模实战
内容概要:
1)shared-nothing分布式架构
2)数据分片(sharding)
3)行存和列存
4)表分区
5)查询实例讲解
一、shared-nothing架构
1)集群中每个节点都完全拥有自己独立的CPU/内存/存储,不存在共享资源
2)各节点处理自己本地的数据,处理结果可以向上汇总或者通过通信协议在节点间流转
3)节点是相互独立的,扩展能力强。整个集群拥有强大的并行处理能力。
二、数据的分布式存储和SQL执行
数据分片存储
1)每个表的记录都会分布在各个处理单元上
2)每个处理单元上都会有各个表的记录
3)理想状态下,记录会均匀分布到各个处理单元上(有数据分布方式决定)
三、DWS中的数据分布
1)复制
*适合与记录集较小的表
*表中数据在各节点上完全复制,各DN都拥有全量数据
2)Hash分布
*适合于数据量较大的表
*在DN数相同的情况下对于相同的输入,hash结果保持一致
*数据平均分布的情况下,并行计算性能最好
四、DWS的DDL
分布列/分布字段
分布式数据库的数据表是分散在所有数据节点上的,所以创建表的时候需要指定分布列
五、分布列选择原则:
1)保证数据均匀分布
2)尽量选择等值查询字段
3)尽量选择关联聚合字段
六、表的存储方式
1)行存储表(适合短事务TP场景)
2)列存储表(适合分析AP场景)
七、表分区
分区表是将达标的数据分成许多小的数据子集,称为分区。
范围分区表
分区表的收益:
1)改善查询性能
2)增强可用性
3)方便维护
4)均衡I/O
八、分区剪枝的原理
对分区对象的查询可以仅搜索自己关心的分区,提高检索效率
- 点赞
- 收藏
- 关注作者
评论(0)