数据分布式存储
DWS采用水平分表的方式,将业务数据表的元组分散存储到各个节点内,该优势在于,查询中通过查询条件过滤不必要的数据,快速定位到数据存储位置,可极大提升数据库性能。
水平分表方式将一个数据表内的数据,按合适分布策略分散存储在多个节点内,DWS支持如表1所示的数据分布策略。用户可在CREATE TABLE时增加DISTRIBUTE BY参数,对指定的表应用数据分布功能。
策略 |
描述 |
适用场景 |
优势与劣势 |
---|---|---|---|
复制表(Replication) |
集群中每一个DN实例上都有一份全量表数据。 |
小表、维度表。 |
|
哈希表(Hash) |
表数据通过hash方式散列到集群中的所有DN实例上。 |
数据量较大的事实表。 |
|
轮询表(Roundrobin) 8.1.2及以上版本支持 |
表的每一行被轮番地发送给各个DN,数据会被均匀地分布在各个DN中。 |
数据量较大的事实表,且使用Hash分布时找不到合适的分布列。 |
|