각 야간 빌드에 대한 벤치 마크 실행을 저장해야합니다. 이렇게하려면 다음 데이터 모델을 생각해 냈습니다. 복합 열 만들기 cassandra
BenchmarkColumnFamily= {
build_1: {
(Run1, TPS) : 1000K
(Run1, Latency) : 0.5ms
(Run2, TPS) : 1000K
(Run2, Latency) : 0.5ms
(Run3, TPS) : 1000K
(Run3, Latency) : 0.5ms
}
build_2: {
...
}
...
}
이러한 스키마를 만들려면, 난에서 다음 명령을 함께했다 카산드라 - CLI :
create column family BenchmarkColumnFamily with
comparator = 'CompositeType(UTF8Type,UTF8Type)' AND
key_validation_class=UTF8Type AND
default_validation_class=UTF8Type AND
column_metadata = [
{column_name: TPS, validation_class: UTF8Type}
{column_name: Latency, validation_class: UTF8Type}
];
위의 명령은 내가 만들려 스키마를 만들 수 있습니까? 내 혼란에 대한 이유는, 내가 위의 CF를 사용하여 데이터를 삽입 할 때 : set BenchmarkColumnFamily['1545']['TPS']='100';
비교기 유형이 복합되어 있어도 성공적으로 삽입됩니다. 또한 다음 명령도 성공적으로 실행됩니다.
set BenchmarkColumnFamily['1545']['Run1:TPS']='1000';
무엇이 누락 되었습니까?
OP의 스키마와 일치하지 않는다고 생각합니다. 복합 키가 생성됩니다. 자세한 내용은 [이 게시물] (http://www.datastax.com/dev/blog/introduction-to-composite-columns-part-1)의 주석을 참조하십시오. – libjack
복합 Cassandra 키가 아닌 복합 CQL 키를 생성합니다. 스토리지 계층에서 이것은 자신이 가지고있는 것과 같은 복합 열 이름을 생성합니다. 이런 종류의 일에 카산드라 클리를 사용하는 것은 정말로 권장되지 않습니다. (이 게시물은 cql3이 작성되기 전에 작성되었습니다.) –
ok, thanks .. cql3을 좀 더 살펴보아야합니다. 필자는 대부분의 작업에 CLI 및/또는 Java API를 사용하고 있습니다. – libjack