2016-10-06 5 views
0

다음 3 개의 테이블 (여기에 숫자 값은 정수 값)이 있고 table_1_key에 companyId에 대한 연관 관계가 있습니다. 그렇다면 친화도 정렬은 어떻게됩니까? 테이블 1 엔트리가 테이블 2 엔트리 또는 테이블 3 엔트리와 함께 배치됩니까 (두 테이블 모두 1에서 10까지의 정수 값을 갖는 열을 가짐)? 다른 경우Apache Ignite에서의 Affinity 배열 작동

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 

은 우리가 배열이 일어날 친 화성 방법 1-10에서 다음 1-5 female_personId 범위 변경을 가정 해 봅시다? (즉 아파치의 Ignite 또한 키 범위 친 화성이 낱말의 배치 상태를 고려 않는) 경우?

답변

1

친밀도 배열은 구성 방법에서 발생하며 기본적으로 배열이 없습니다. 자세한 내용은이 페이지를 참조하십시오. https://apacheignite.readme.io/docs/affinity-collocation#collocate-data-with-data

귀하의 스키마에 따르면, 회사 ID별로 배치 할 가능성이 큽니다. 즉, 회사에 속한 모든 사람은 회사 개체 자체와 함께 동일한 노드에 저장됩니다.

키 범위는 어떤 식 으로든 어피 니티에 영향을 미치지 않습니다. 키는 실제로 캐시에 있는지 여부에 관계없이 선호도 키를 기반으로 노드에 매핑됩니다.

+0

하지만 companyId 및 female_personId 개체는 모두 정수 유형이므로 ignite는 표 1을 표 3이 아니라 표 2와 함께 배치해야한다고 결정합니다. 표 키의 입력란 이름 (여기에서는 companyId)을보고이를 확인합니다 ? – rishi007bansod

+0

Ignite는 캐시 키 -> 선호도 키 -> 파티션 번호 -> 노드와 같은 여러 매핑 단계에 항목이 저장되는 노드를 정의합니다. 첫 번째 단계는 사용자가 제어합니다 (설명서 참조). 동일한 선호도 키에 맵핑 된 모든 캐시 키는 동일한 노드에 저장됩니다. 그리고 이것은 캐시 키의 유형에 의존하지 않으며, 다를 수도 동일 할 수도 있습니다. –

관련 문제