나는 로그 파일에 데이터를 잦은 속도로 기록하는 센서를 가지고있다. 이 로그를 카산드라에 저장하고 스파크와 함께 처리하려고합니다.카산드라 - TimeUUID와 타임 스탬프가 중복됩니까?
TimeUUID 열을 사용하여 자동으로 주문을 보존하기 위해 타임 스탬프를 저장하려고 생각했습니다. 내 쿼리는 주로 범위 쿼리를 사용하므로 이상적이라고 생각했습니다. 그러나 내 로그 로깅 빈도로 인해 중복 타임 스탬프를 포함 할 수 있습니다. 로그는 cassandra로 스트리밍되지 않습니다. 나는 역사적인 데이터만을 가지고 일하고있다. 타임 스탬프는 복합 기본 키의 일부가됩니다. 고유 한 중복 타임 스탬프가있는 행을 만들기 위해 행 키에 넣을 수있는 실행 가능한 열을 생각할 수 없습니다.
documentation은 다음과 같이 말합니다. "minTimeuuid 및 maxTimeuuid 함수에서 반환하는 값은 값이 RFC 4122에 지정된 시간 기반 UUID 생성 프로세스를 준수하지 않는다는 점에서 true UUID가 아닙니다. 이러한 함수의 결과는 결정적이며, 지금 기능과 달리. "
now
을 사용하는 대신 TimeUUID의 날짜를 강제로 설정하면 이전 데이터를 덮어 쓸 수 있습니다.
Java/Scala를 사용하여 내 기록 데이터를 .json에서 Cassandra로 대량 삽입합니다. (카산드라 3.0.8 | CQL 사양 3.4.0 | 기본 프로토콜 V4)
어떻게 내 데이터 내에서 중복 타임 스탬프를 가질 수 있습니까?
- 내 기본 키에 TimeUUID (지금)를 사용하고 실제 날짜/시간을 다른 열에 저장합니까? 이렇게하면 실제 날짜/시간을 이미 주문한 경우의 이점을 잃게됩니다.
- Java/Scala 응용 프로그램이 유효한 고유 한 TimeUUID를 생성하는지 확인해야합니까? 그렇다면 사용할 수있는 공용 라이브러리가 있습니까?
다른 옵션이 있습니까?
감사