GaussDB分布式架构中表设计

GaussDB分布式架构中表设计

GaussDB是分布式架构。数据分布在各个DN上。总体上讲,良好的表设计需要遵循以下原则:

将表数据均匀分布在各个DN上。数据均匀分布,可以防止数据在部分DN上集中分布,从而导致因存储倾斜造成集群有效容量下降。通过选择合适的分布列,可以避免数据倾斜。
将表的扫描压力均匀分散在各个DN上。避免扫描压力集中在部分DN上,而导致性能瓶颈。例如,在事实表上使用等值过滤条件时,将会导致扫描压力不均匀。
减少需要扫描的数据量。通过分区表的剪枝机制可以大幅减少数据的扫描量。
尽量减少随机I/O。通过聚簇可以实现热数据的连续存储,将随机I/O转换为连续I/O,从而减少扫描的I/O代价。
尽量避免数据shuffle。shuffle,是指在物理上,数据从一个节点,传输到另一个节点。shuffle占用了大量宝贵的网络资源,减少不必要的数据shuffle,可以减少网络压力,使数据的处理本地化,以提高集群的性能和可支持的并发度。通过对关联条件和分组条件的仔细设计,能够尽可能的减少不必要的数据shuffle。

posted @ 2024-12-24 12:30  喜酱喜酱  阅读(11)  评论(0)    收藏  举报