컬럼 패밀리
컬럼 패밀리는 RDBMS 또는 관계형 데이터베이스 관리 시스템의 테이블과 유사하며 유사한 데이터를 연관시키는 논리적 분할입니다. 기본적으로 유사한 데이터에 유사한 주제의 데이터를 저장하는 경향이 있습니다.
def __init__
예를 들어 주문 데이터는 단일 열 제품군에 저장되므로 주문 ID를 행 키로 사용할 수있을뿐만 아니라 해당 주문의 일부로 가져온 제품의 종류와 같은 다양한 열을 특정 주문 제품군에 저장할 수 있습니다. . 특정 예를 제공하기 위해 사용자 열 패밀리는 사용자 ID를 키로 구성합니다. 따라서 ID를 자유롭게 선택할 수 있으며 열은‘name = Kunal’이 될 수 있습니다. 열 값은 Kunal 및 Bangalore입니다. 하나의 컬럼 패밀리에 크리켓 선수 통계를 저장할 수있는 Cricketer 컬럼 패밀리라는 두 번째 컬럼 패밀리가 있습니다. 예를 들어, 한 열에는 Sachin Tendulkar가 있고 다른 열에는 여러 세기가 있습니다. 따라서 원하는 수의 열이있을 수 있습니다.
컬럼 유형
Column Family는 RDBMS 세계의 테이블과 유사한 테이블에 불과합니다. 특정 유형이 있습니다.
정적 컬럼 제품군 – Static Column family는 이름과 데이터 유형이 정의되는 곳입니다. 따라서 column family를 만들 때 열 이름과 데이터 유형을 지정하는 옵션을 사용할 수 있습니다. 열이 정적으로 유지되고 사용 가능한 열 수를 알 수 있기 때문에이를 정적이라고합니다.
동적 컬럼 패밀리 – 반면에 동적 열 패밀리는 열 이름을 미리 정의하지 않으며 임의의 응용 프로그램 및 열 이름을 사용하여 데이터를 저장하는 Cassandra의 기능을 사용할 수 있습니다. 구조화되지 않은 데이터에서는 대부분의 경우 동적 열 패밀리가 나중에 추가 될 수있는 새 필드를 처리하는 데 도움이되기 때문에 동적으로 도움이됩니다.
정적 column family가 있고 데이터를로드하는 동안 코드에 동적 column family를 추가하려는 경우 언제든지 정적 column family에 추가 할 수 있습니다. Cassandra는 열 이름을 자유롭게 선택할 수 있습니다.
RDBMS와의 차이점
Cassandra 컬럼 패밀리는 스키마가 없으며 확장 성이 뛰어납니다. Cassandra 열 패밀리에는 Name 및 Comparator의 두 가지 속성이 있습니다. 따라서 Cassandra 열 패밀리가있는 경우 이름을 지정하는 것은 필수가되고 Comparator는 기본적으로 열 이름의 데이터 유형입니다. 비교기를 지정하지 않으면 기본 비교기로 간주됩니다.
Cassandra에는 수퍼 컬럼 패밀리 컬럼도 있습니다. 내부적으로 수퍼 컬럼을 사용합니다. 이는 논리적 그룹화이며 또 다른 수준의 열 그룹화입니다. 따라서 user column family에는 사용자의 개인 정보와 제품 정보를 포함 할 수있는 두 개의 슈퍼 열이있을 수 있습니다.
기둥
열은 Cassandra에서 가장 작은 데이터 증분입니다. 세 가지 구성 요소가 있습니다.
- 이름
- 값
- 타임 스탬프 – 충돌 해결에 사용되며 타임 스탬프를 편집 할 수 없습니다. 이 데이터 또는 열이 언제 업데이트되었는지 확인하는 내부 메커니즘입니다.
- 만료되는 열 – 열이 만료 될 것임을 알기 위해 열에 만료 날짜를 지정할 수 있습니다.
- 카운터 열 – 카운터 열은 열을 유지하기위한 것이므로 해당 카운터 열을 늘리거나 줄일 수 있습니다.
슈퍼 컬럼
Super Columns는 비즈니스 요구와 논리적 그룹화에 따라 모든 컬럼을 함께 그룹화합니다. 일반 열 패밀리 구조에 또 다른 수준의 내포를 추가합니다. 그들은 수퍼 컬럼 패밀리 구조로 구성됩니다.
수퍼 컬럼의 기본 사례는 구체화 된 뷰 데이터 검색을 허용하는 단일 행으로 다른 컬럼 패밀리의 여러 행을 비정규 화하는 것입니다.
사용 사례
수퍼 컬럼의 한계
한 가지 제한 사항은 단일 하위 열 패밀리를 읽으려면 수퍼 컬럼 패밀리의 모든 하위 컬럼을 역 직렬화해야한다는 것입니다. 또 다른 제한은 수퍼 열의 하위 열에 보조 인덱스를 만들 수 없다는 것입니다.
열 데이터 유형
위 이미지에는 다양한 데이터 유형이 있습니다. 열 값의 데이터 유형을 유효성 검사기라고합니다. 그리고 comparator는 열의 데이터 유형입니다. 이름과 주소가 열 이름이됩니다. 따라서 열 이름의 경우 날짜를 가질 수 있습니다. 날짜를 열 이름으로 사용하여 시계열 데이터를 가질 수도 있습니다.
행
넓은 행과 여러 행이있을 수 있습니다. 수백만 개의 열과 행을 사용할 수 있습니다.
스키니 행에는 제한된 행만 갖는 옵션이있는 적은 수의 열이 있습니다.
초보자를위한 my SQL 튜토리얼
복합 키
하나 이상의 기본 키 필드로 구성됩니다. 도시의 이름이 행 키로 설정되어 있다고 가정하고 두 개의 다른 주에 이름이 지정된 도시가있을 수 있으므로 어느 도시와 어떤 주를 언급해야합니다. 이것은 단순히 키를 명시해야 함을 의미합니다. 한 유형의 단순 열 키를 갖는 대신 여러 유형의 구성 요소라고도하는 여러 값을 집계하여 하나의 고유 한 열 키를 형성 할 수 있습니다.
질문이 있으십니까? 댓글 섹션에 언급하시면 다시 연락 드리겠습니다.
관련 게시물: