首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >中的联接查询

中的联接查询
EN

Stack Overflow用户
提问于 2018-10-02 06:08:21
回答 1查看 1.4K关注 0票数 2

如何在分区模式下在节点间执行空间连接查询?当Ignite使用Rendezvous亲和散列在节点之间划分数据(默认为1024)时,如何在分区之间执行连接操作?假设缓存中有两个空间数据集(pCache和qCache),每个分区包含10个分区(1,..,10)。如何在这两个数据集上执行联接操作?是partition1 of pCache和partition1 of qCache吗?

我的第二个问题:在分布式连接的情况下,点燃如何执行相同的操作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-02 07:42:14

不同缓存的分区之间没有对应关系。如果您运行一个联接操作,那么在默认情况下只有本地查找将是performed.If数据不并置的,那么这种方法可能会给出部分结果。

当执行所有映射时,每个节点都必须与每个其他节点通信,因此

[](https://chart.googleapis.com/chart?cht=tx&chl=O(N%5E2%29)

消息完全在集群中发送,其中

是节点的数目。这称为分布式连接,它对性能有很大的影响。对于JDBC驱动程序,可以在连接串中启用它,或者在缓存查询API中使用SqlFieldsQuery#setDistributedJoins(.)方法。

建议的连接方式是以一种方式配置数据,不需要分布式联接。点火器有一个名为亲和力搭配的特性,专门为此目的而设计。可以指定对象的字段,该字段将用于计算关联函数。这个字段的值不一定是唯一的,但是它应该是键的一部分。因此,如果您想在两个表上执行联接,您可以通过关联配置它们,因此不需要分布式连接。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52602842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档