Apache Ignite 中 Affinity 搭配的工作

Working of Affinity collocation in Apache Ignite

如果我有以下 3 tables(这里的数值是整数值)并且在 table_1_key 我在 companyId 上有亲和力搭配。那么亲和力搭配会怎样呢? table 1 个条目是否会与 table 2 个条目或 table 3 个条目并置(因为两个 table 都有整数值范围为 1 到 10 的列)?

table_1_key --> {male_personId(1-10 numeric value), companyId(1-10 numeric value), age, address} has 100 entries    
table_2_key --> {female_personId(1-10 numeric value), surname, age, address} has 20 entries
table_3_key --> {company_name, companyId(1-10 numeric value)} has 10 entries

在其他情况下,如果让我们说 female_personId 范围从 1-10 变为 1-5 那么关联搭配将如何发生?(换句话说,Apache Ignite 在关联搭配时是否也会考虑键范围)?

亲和搭配以您配置的方式发生,默认情况下没有搭配。详情请参阅此页面:https://apacheignite.readme.io/docs/affinity-collocation#collocate-data-with-data

根据您的架构,您很可能会通过 companyId 进行配置。这意味着属于公司的所有人员将与公司对象本身一起存储在同一节点上。

键范围不会以任何方式影响亲和力。 Key根据affinity key映射到一个节点,不管它是否真的在缓存中。