Cassandra가 겹치는 범위 검사를 위해 최적화 된 솔루션을 제공 할 수있는 방법

StackOverflow https://stackoverflow.com//questions/25073634

  •  26-12-2019
  •  | 
  •  

문제

내 입력에서는 핵심 r1의 r1의 낮은 범위의 r1의 하한이고, r1의 상한.일부 Data.I의 입력 범위 R1이 이미 카산드라에 이미있는 다른 현재 범위와 겹치지 않아야하는지 확인한 후에만이 데이터를 삽입해야합니다.

그래서 각 삽입물 이전에

를 선택해야합니다

   key | lowerbound | upperbound | data
------+------------+------------+------------------------------------------------------------------------
1024 | 1000 | 1100 | <blob>
1024 | 1500 | 1900 | <blob> 
1024 | 2000 | 2900 | <blob> 
1024 | 3000 | 3900 | <blob> 
1024 | 4000 | 4500 | <blob> 

Case1 Given Range R(S,E)=(1,999)
This is a positive case hence system should Insert the data   

Case2:  Given Range R(S,E)=(1001,1010)
this is a Negative case hence system should discard the data
.

하나의 범위 쿼리와 하나의 프로그래밍 방식의 검사 솔루션

에 대한 솔루션이 있습니다.

이런 종류의 문제가 Cassandra에서 해결책을 가지고 있는지 알려주십시오.

더 나은 성능을 얻으려면 최적화 될 수 있습니다.

도움이 되었습니까?

해결책

문제에 대한 더 나은 솔루션이 없습니다. 이것은 유일한 방법입니다.미래의 가벼운 거래에서 이러한 상황에도 도움이 될 수 있지만 이제는 귀하가 가진 유일한 솔루션은 글쓰기 전에 읽는 것입니다.하나의 고려 사항 : 동시성 상황에서 이중 삽입을 피할 수 있는지 확인하십시오 (응용 프로그램에서 발생할 수있는 경우).

환호, Carlo

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top