• lufofire
    2024-06-25 来自广东
    思考题: Colocate Join 并不一定优于 Shuffle Join。 因为Colocate Join因为本身也具有局限性。比如上一讲说的关于片健选择,在多租户场景中,考虑到某些租户数据量很大,我们选择的片健一般是租户ID+时间的复合片健,更有利于负载均衡。而对于这种复合片健,相同的租户数据失不可能放在同一个Shard中,使得Colocate Join方式无法开展的, 而这个时候Shuffle Join就会是更好的选择。简单来说,Colocate Join会存在扩展性问题,负载均衡的问题, 它比较适合数据量适中,节点间的数据分布均匀,且查询模式稳定的场景。而对于需要高度扩展性和并行处理的大规模数据集,Shuffle Join 可能是更合适的选择, 当这种场景下使用join查询会消耗大量的I/O, 延迟也会很高, 需要谨慎使用。
    
    