Cassandra에서 각 행 (키로 주소 지정)은 하나 이상의 "열"을 포함합니다. 열 자체는 키-값 쌍입니다. 열 이름은 미리 정의 할 필요가 없습니다. 즉, 구조가 고정되지 않습니다. 행의 열은 키 (이름)에 따라 정렬 된 순서로 저장됩니다.
어떤 경우에는 한 행에 매우 많은 수의 열이있을 수 있습니다 (예 : 특정 종류의 쿼리를 활성화하는 인덱스 역할을하기 위해). Cassandra는 이러한 대규모 구조를 효율적으로 처리 할 수 있으며 특정 범위의 열을 검색 할 수 있습니다.
슈퍼 열이라는 추가 수준의 구조 (일반적으로 사용되지 않음)가 있습니다. 여기서 열에는 중첩 (하위) 열이 포함됩니다.
전체 구조는 2 개 또는 3 개 수준의 키가있는 중첩 된 해시 테이블 / 사전으로 생각할 수 있습니다.
일반 컬럼 군 :
row
col col col ...
val val val ...
수퍼 컬럼 제품군 :
row
supercol supercol ...
(sub)col (sub)col ... (sub)col (sub)col ...
val val ... val val ...
데이터를 나누거나 그룹화하는 데 사용할 수있는 상위 레벨 구조 (열 패밀리 및 키 스페이스)도 있습니다.
이 질문도 참조하십시오 : Cassandra : 하위 열이란 무엇입니까?
또는 http://wiki.apache.org/cassandra/ArticlesAndPresentations 의 데이터 모델링 링크
다시 : 문서 지향 데이터베이스와 비교-후자는 일반적으로 전체 문서 (일반적으로 JSON)를 삽입하는 반면, Cassandra에서는 개별 열 또는 수퍼 열을 처리하고 개별적으로 업데이트 할 수 있습니다. 즉, 서로 다른 세분성 수준에서 작동합니다. 각 열에는 별도의 타임 스탬프 / 버전이 있습니다 (분산 클러스터에서 업데이트를 조정하는 데 사용됨).
Cassandra 열 값은 바이트 일 뿐이지 만 ASCII, UTF8 텍스트, 숫자, 날짜 등으로 입력 할 수 있습니다.
물론 JSON이 포함 된 열을 삽입하여 Cassandra를 기본 문서 저장소로 사용할 수 있지만 실제 문서 지향 저장소의 모든 기능을 얻을 수는 없습니다.