大表Join是Shared
Nothing架构的数据库集群所面临的普遍问题,同样作为Shared Nothing架构的数据库集群,GBase 8a集群与Teradata的大表Join原理基本上是完全相同的。
对于GBase 8a集群 ,大表JOIN原理描述如下:
(1)如果两个大表的数据均使用Hash方式分布,且Hash列包含在等值Join条件中,则在各个节点内部进行Join,节点层Join操作完成即返回运算结果;
(2)如果两个大表的数据均使用Hash方式分布,但Hash列未包含在等值Join条件中,则会根据两表的实际参与Join的数据量进行评估:
(A)如果某个表实际参与Join的数据量较小,则会把该表拉成复制表并复制到集群中的所有节点,之后在节点上进行Join并返回结果,
(B)如果两个表实际参与Join的数据量仍然较大,则会根据Join条件对Join条件列在集群范围内进行Hash重分布,之后在节点内部进行Join并返回结果。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




