首页 > 数据库 > > 表设计最佳实践-选择分布方式
复制表(Replication)方式将表中的全量数据在集群的每一个DN实例上保留一份。主要适用于记录集较小的表。这种存储方式的优点是每个DN上都有此表的全量数据,在join操作中可以避免数据重分布操作,从而减小网络开销,同时减少了plan segment(每个plan segment都会起对应的线程);缺点是每个DN都保留了表的完整数据,造成数据的冗余。一般情况下只有较小的维度表才会定义为Replication表。
哈希(Hash)表将表中某一个或几个字段进行hash运算后,生成对应的hash值,根据DN实例与哈希值的映射关系获得该元组的目标存储位置。对于Hash分布表,在读/写数据时可以利用各个节点的IO资源,大大提升表的读/写速度。一般情况下大表定义为Hash表。
策略 | 描述 | 适用场景 |
|---|---|---|
Hash | 表数据通过hash方式散列到集群中的所有DN实例上。 | 数据量较大的事实表。 |
Replication | 集群中每一个DN实例上都有一份全量表数据。 | 小表、维度表。 |
如图1所示,复制表如图中的表T1,哈希表如图中的表T2。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3148995/ ,如需转载,请注明出处,否则将追究法律责任。