@Ashish
는 빠른 대답은 없는입니다.
상위 (예 : USA, MEXICO 등)의 여러 하위 영역에 포함 된 데이터를 참조하거나 오히려 질의하기 위해 상위 (예 : NAM_Type1) 영역을 사용하고, 결과를 "집계" 모든 Sub-Regions ??? 상위 지역 사이에 참조가 없기 때문에
귀하의 하위 지역은 고객 객체를 포함 가정 예를 들어
, ... 그리고
public class Customer ... {
private String firstName;
private String lastName;
private boolean active;
...
}
...
SELECT * FROM /NAM_Type1 nam WHERE nam.active = 'true';
이 OQL 쿼리는 고장 (예 : NAM_Type1) 및 하위 영역 (예 : 미국 등)의 항목을 포함 할 수 있습니다. 네임 스페이스 계층 구조에만 "부모"영역을 사용하는 경우에는 데이터가 전혀 없습니다.
"하위 영역"의 필요성이 궁금합니다. 하위 영역은 데이터 액세스와 관련하여 (특히 OQL/쿼리를 사용하여) 최상위 영역과 다르게 표시되지 않습니다.
Sub-Regions를 사용하면 GemFire User Guide (http://gemfire.docs.pivotal.io/latest/userguide/index.html#basic_config/data_regions/managing_data_regions.html)에서 언급 한대로 REPLICATE Regions를 사용하고 있으며이를 사용하는 것으로 제한됩니다. 이러한 이유 때문에, GemFire 팀은 특히 트랜잭션 데이터가 많이 바뀔 수있는 하위 지역의 사용을 일반적으로 권장하지 않습니다.
일반적으로 트랜잭션 데이터에는 PARTITION Regions을 사용하고 주로 작은 데이터 세트 및 일반적으로 참조/조회 유형 데이터에 대해서는 REPLICATE Regions를 사용하려고합니다.
따라서, 귀하의 경우, 당신은 ...로 ... 분할 영역을 사용하여
- 비슷한 동작을 달성 할 수
구성하고 다른 서버에 생성
- ...
- 는 다른 서버로 구성 그룹은 위에서 언급 한 계층 적 조직을 기반으로합니다.
그런 다음 관심있는 인구 통계 영역에 대한 데이터를 호스팅하는 특정 서버 그룹의 서버에서 GemFire 기능을 대상으로 지정하고 실행하여 지역의 로컬 데이터 집합에 OQL 쿼리를 실행할 수 있습니다. 함수는 결과를 집계 한 다음 반환합니다.
사용자 지정 "PartitionResolvers"등을 사용하거나 함수를 대상 지정하는 등 다양한 방법으로 데이터를 구성하고 분할 할 수 있습니다.
PARTITION Regions를 사용하면 "copies"속성 (GemFire의 PartitionAttributes.redundantCopies 속성에 해당)을 사용하여 HA (중복성)를 얻을 수 있습니다. 동등 쿼리를 가능/최적으로 만드는 데이터를 "함께 배치"할 수 있습니다.
면책 조항 : 귀하의 유스 케이스 및 요구 사항을 잘 알고 계시지 않더라도 내 제안은 귀하의 상황에 따라 작동 할 수도 있고 작동하지 않을 수도 있지만 일반적으로 소구역의 영향은 더 우아하고 효과적으로 GemFire의 다른 기능. 어쩌면 이것은 당신에게 몇 가지 아이디어를 줄 것입니다.
희망이 도움이됩니다.
요한 복음
당신을 위해 몇 가지 추가 참조 ... http://gemfire.docs.pivotal.io/latest/userguide/index.html#developing/partitioned_regions/chapter_overview.html은 http : // gemfire .docs.pivotal.io/latest/userguide/index.html # developing/querying_basics/querying_partitioned_regions.html –