cassandra의 라이브러리를 사용한 UUID version1 테스트
카산드라에 존재하는 uuid version 1 테스트 코드이다.
cql은 다음과 같이 사용한다.
cql> SELECT "uuid", DATEOF("uuid"), FROM "activities";
uuid | system.dateof(uuid)
---- + ----------------------------
11.. . 2017-05-30 01:13:21.813000+0000
http://docs.datastax.com/en/cql/3.3/cql/cql_reference/timeuuid_functions_r.html
실제 코드로 테스트해볼 수 있다.
import java.util.Date;
import java.util.Map;
import java.util.UUID;
UUID uuid = com.datastax.driver.core.utils.UUIDs.timeBased();
String uuidStr = uuid.toString();
System.out.println(uuidStr);
결과는 다음과 같다.
c4888d00-61f3-11e7-afc1-53e0e7faa58a
Thu Jul 06 11:35:26 KST 2017
uuid의 timestamp를 보고 싶다면 UNIXTIMESTAMPOF 함수를 사용한다.
cql> SELECT "uuid", UNIXTIMESTAMPOF("uuid"), FROM "activities";
system.unixtimestampof(id)
+----------------------------
1401412401813
1401411917725
UNIXTIMESTAMPOF 함수는 UUIDs.unixTimestamp()와 동일하다.
long timestamp = com.datastax.driver.core.utils.UUIDs.unixTimestamp(uuid) ;
System.out.println(new Date(timestamp));