2013-05-27 5 views
1

cli와 비교할 때 내 열 패밀리에 추가 열이 생성됩니다.CQL 인서트로 생성 된 추가 열 (cli와 비교)

CQL을 사용하여 테이블을 만들고 행 삽입 : 빈 기본 키가 아닌 열이있는,

[[email protected]] set bedbugs['BatBedBug']['C. pipistrelli:description']='google.com'; 
Value inserted. 
Elapsed time: 1.82 msec(s). 
[[email protected]] list bedbugs 
...  ; 
Using default limit of 100 
Using default column limit of 100 
------------------- 
RowKey: Cimex 
=> (column=Cimex lectularius:, value=, timestamp=1369682957658000) 
=> (column=Cimex lectularius:description, value=http://en.wikipedia.org/wiki/Bed_bug, timestamp=1369682957658000) 
------------------- 
RowKey: BatBedBug 
=> (column=C. pipistrelli:description, value=google.com, timestamp=1369688651442000) 

2 Rows Returned. 


cqlsh:cassandraSample> select * from bedbugs; 

id  | name    | description 
-----------+-------------------+-------------------------------------- 
    Cimex | Cimex lectularius | http://en.wikipedia.org/wiki/Bed_bug 
BatBedBug | C. pipistrelli |       google.com 

그래서, CQL은 각 행에 대해 하나의 여분의 열을 생성합니다

cqlsh:cassandraSample> CREATE TABLE bedbugs(
       ...  id varchar, 
       ...  name varchar, 
       ...  description varchar, 
       ...  primary key(id, name) 
       ...) ; 

cqlsh:cassandraSample> insert into bedbugs (id, name, description) 
values ('Cimex','Cimex lectularius','http://en.wikipedia.org/wiki/Bed_bug'); 

지금 CLI를 사용하여 열을 삽입을 . 공간 낭비가 아닌가?

답변

0

CQLSh 및 지정된 기본 키 (Id, name)를 사용하여 열 패밀리를 작성한 경우 cassandra는 ID별로 정렬 된 데이터와 이름순으로 정렬 된 데이터의 두 가지 인덱스를 만듭니다. 그러나 여러분이 cassandra-cli에 의해 이것을 할 때 여러분의 컬럼 패밀리에는 인덱스 컬럼이 없습니다. cassandra-cli는 보조 인덱스를 지원하지 않습니다. 나는 내 이해를 설명 할 단어가 부족하다는 것을 이해했다.

0

cassandra-cli와의 호환성을 위해이 추가 열을 만들지 않으려면 "COMPACT STORAGE WITH WITH COMPACT STORAGE"를 포함하도록 create table 문을 변경하십시오.

described here

그래서

CREATE TABLE bedbugs(
    id varchar, 
    name varchar, 
    description varchar, 
    primary key(id, name) 
); 

은 COMPACT 스토리지

CREATE TABLE bedbugs(
    id varchar, 
    name varchar, 
    description varchar, 
    primary key(id, name) 
) WITH COMPACT STORAGE; 

당신이 CQL에 wide rows을 지원 가겠어요 방법도된다.