2016-10-06 6 views
0

Если у меня есть следующие 3 таблицы (здесь числовые значения являются целыми значениями), а в таблице_1_key, у меня есть аффинная коллокация на companyId. Тогда как произойдет сродство коллокации? будут ли записи в таблице 1 помещаться с записями таблицы 2 или таблицами 3 (поскольку обе таблицы имеют столбцы с целыми значениями от 1 до 10)?Работа коллокации Affinity в Apache Ignite

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 также рассматривает основные диапазоны, а сродство коллокации)?

ответ

1

Affinity collocation происходит так, как вы его настраиваете, и по умолчанию нет коллокации. Обратитесь к этой странице для получения дополнительной информации: https://apacheignite.readme.io/docs/affinity-collocation#collocate-data-with-data

Согласно вашей схеме, вы, скорее всего, столкнетесь с companyId. Это означает, что все лица, принадлежащие компании, будут храниться на одном узле вместе с самим объектом компании.

Диапазон ключей не влияет на сродство каким-либо образом. Ключ сопоставляется с узлом на основе ключа близости, независимо от того, действительно ли он находится в кеше или нет.

+0

Но здесь объекты companyId и female_personId имеют целочисленный тип, поэтому, как ignite определяет, что он должен сопоставлять таблицу 1 с таблицей 3, а не с таблицей 2. Определяет ли это это, глядя на имена полей (здесь companyId) в клавишах таблицы ? – rishi007bansod

+0

Ignite определяет узел, в котором запись хранится в нескольких шагах отображения: ключ кеша -> аффинный ключ -> номер раздела -> узел (узлы). Первый шаг контролируется пользователем (см. Документацию). Все ключи кеша, которые сопоставляются с одним и тем же ключом привязки, будут храниться на одном узле. И это не зависит от типов ключей кеша, они могут быть разными или одинаковыми. –

Смежные вопросы