다음 데이터 유형이 데이터베이스에 있고 Gemfire에 저장하려고합니다.Gemfire 합성 키 (pojo)를 gemfire 키로 사용
+------------------------------+--------------------------------+----------------------------------------+----------------------------------+----------------------------------+------------------------------------+-----------------------------------+------------------------------+------------------------+----------------------------+-------------------------------------+--+
| A | B | C | D | E | F | G | H | I | J | date |
+------------------------------+--------------------------------+----------------------------------------+----------------------------------+----------------------------------+------------------------------------+-----------------------------------+------------------------------+------------------------+----------------------------+-------------------------------------+--+
| VK | XXXXXXXXXXXXXXXX | YYY | VBGFD | 9 | 193.83 | 9 | T | | False | 2017-08-25 |
| VK | XXXXXXXXXXXXXXXX | YYY | VBGFD | 25.22 | 193.83 | 9 | T | | False | 2017-08-25 |
| VK | XXXXXXXXXXXXXXXX | YYY | VBGFD | 9 | 112.23 | 9 | T | | False | 2017-08-25 |
| VK | XXXXXXXXXXXXXXXX | YYY | VBGFD | NULL | 89.98 | NULL | T | | False | 2017-08-25 |
+------------------------------+--------------------------------+----------------------------------------+----------------------------------+----------------------------------+------------------------------------+-----------------------------------+------------------------------+------------------------+----------------------------+-------------------------------------+--+
4 rows selected (2.248 seconds)
1) 데이터가 중복되어 있고 다른 값을 가진 열이 고유 한 행으로 간주 될 수 있습니다.
2) 데이터 중복 때문에) (나는 두 가지 솔루션을 다음 한
값을 대체하므로 내가 Gemfire 키로 모든 열을 사용할 수 없습니다
접근 한
내가 사용 할 수 있습니다 복합 키 (pojo)를 gemfire 키로 사용하지만 문제는 키와 값으로 동일한 pojo를 사용해야한다는 것입니다 (데이터 당).
이 접근 방식의 문제점은 지역의 데이터 크기가 두 배가되고 로더가 메모리 오류가 발생하기 시작한다는 것입니다.
접근법 2
데이터베이스에 자동 증가 ID를 만들고 열쇠로이 ID를 사용하지만, 증분 ID가 내 SQL의 일부가 될 것입니다 후 내가 인덱스를 작성해야합니다.
내 쿼리
query --query='select a,b,c,d,e,f,g,h,i,j,date from/myRegion where a=VK and b=XXXXXXXXXXXXXXXX and c=YYY and F=193.83'
나는 사람이 같은 시나리오 건너 궁금 해요?
업데이트 : 값으로 자동 증가 ID (Long)를 키와 pojo로 사용하기로 결정했습니다. 열에 범위 색인을 만들 계획입니다.
나는 휴식 마이크로 서비스를 드러내고있다. 나는 자동 증가 키를 gemfire 키로 사용하려고 생각했지만 문제는 gemfire 지역에 수십억 개의 레코드가 있으며 키 인덱스를 만들어야한다는 것이다. –
Hey Khan, @Swapnil이 언급했듯이 데이터 액세스/읽기 (이 부분에 답하지 않은 방법)에 대해 생각해야합니다. 예를 들어 "select * from/region1 where A = 'VK'"와 같이 데이터 읽기가 열 중 하나를 쿼리하는 것과 같을 것인지 묻고 있었고 목록을 가져 와서 이후에 작업을 수행했습니다. 아니면 어떤 모습일까요? –
감사합니다 장, 내가 필요한 세부 사항으로 질문을 업데이 트했습니다 –