高斯数据库 (gaussDB) - 表设计最佳实践 (2)

选择分布方式

复制表(Replication)方式将表中的全量数据在集群的每一个 DN 实例上保留一份。主
要适用于记录集较小的表。这种存储方式的优点是每个 DN 上都有此表的全量数据,在
join 操作中可以避免数据重分布操作,从而减小网络开销,同时减少了 plan segment( 每
个 plan segment 都会起对应的线程 );缺点是每个 DN 都保留了表的完整数据,造成数据
的冗余。一般情况下只有较小的维度表才会定义为 Replication 表。
哈希(Hash)表将表中某一个或几个字段进行 hash 运算后,生成对应的 hash 值,根据
DN 实例与哈希值的映射关系获得该元组的目标存储位置。对于 Hash 分布表,在读 / 写数据时可以利用各个节点的 IO 资源,大大提升表的读 / 写速度。一般情况下大表定义为
Hash 表。

策略 描述 适用场景
Hash 表数据通过 hash 方式散列到集群中的所有 DN 实例上 数据量较大的事实表
Replication 集群中每一个 DN 实例上都有一份全量表数据 小表、维度表

复制表如图中的表 T1,哈希表如图中的表 T2
image.png

  
    展开阅读全文