칼럼 패밀리|칼럼 패밀리

열 패밀리는 기본 키-값 저장소에 단일 키-값 쌍으로 저장되는 테이블의 열 그룹입니다. 열 패밀리는 키-값 저장소에 저장된 키 수를 줄여INSERT,UPDATEDELETE작업 중에 성능이 향상됩니다.

이 페이지에서는 열을 패밀리로 구성하는 방법과 기본 동작을 수동으로 재정의할 수 있는 경우에 대해 설명합니다.

보조 인덱스는 테이블에 적용된 열 패밀리 정의를 존중합니다. 보조 인덱스를 정의할 때 보조 인덱스 키-값 쌍을 패밀리 및 저장된 열 구성에 따라 열 패밀리로 나눕니다.

기본 동작

테이블을 만들면 모든 열이 단일 열 패밀리로 저장됩니다.

이 기본 접근 방식은 대부분의 경우 효율적인 키-값 저장 및 성능을 보장합니다. 그러나 자주 업데이트되는 열이 거의 업데이트되지 않는 열로 그룹화되는 경우 업데이트되지 않는 열은 업데이트할 때마다 다시 작성됩니다. 특히 드물게 업데이트되는 열이 큰 경우 고유 한 패밀리로 분할하는 것이 더 효과적입니다.

수동 무시

테이블 만들 때 열 패밀리 할당

테이블 만들 때 열 패밀리를 수동으로 할당하려면FAMILY키워드를 사용합니다.

예를 들어,마지막으로 액세스 한 타임 스탬프(last_accessed TIMESTAMP)가있는 불변의 데이터 덩어리(data BYTES)를 저장할 테이블을 만들고 싶다고 가정 해 봅시다. 데이터 덩어리가 업데이트되지 않는다는 것을 알고 있기 때문에FAMILY키워드를 사용하여 별도의 열 패밀리로 나눕니다.

아이콘/버튼/복사
> CREATE TABLE test ( id INT PRIMARY KEY, last_accessed TIMESTAMP, data BYTES, FAMILY f1 (id, last_accessed), FAMILY f2 (data));
아이콘/버튼/복사
> SHOW CREATE test;

열 패밀리 할당

열을 추가할 때ALTER TABLE .. ADD COLUMN문을 사용하여 테이블에 열을 추가할 경우 새 열 패밀리 또는 기존 열 패밀리에 열을 할당할 수 있습니다.

  • CREATE FAMILY키워드를 사용하여 새 패밀리에 새 열을 할당합니다. 예를 들어,다음은 위의test테이블에data2 BYTES열을 추가하고 새 열 패밀리에 할당합니다:
아이콘/버튼/복사
 > ALTER TABLE test ADD COLUMN data2 BYTES CREATE FAMILY f3;
  • FAMILY키워드를 사용하여 기존 패밀리에 새 열을 할당합니다. 예를 들어,다음은 위의test테이블에name STRING열을 추가하고 패밀리에 할당합니다f1:
아이콘/버튼/복사
 > ALTER TABLE test ADD COLUMN name STRING FAMILY f1;
  • CREATE IF NOT EXISTS FAMILY키워드를 사용하여 기존 패밀리에 새 열을 할당하거나 패밀리가 없는 경우 새 패밀리에 새 열을 할당합니다. 예를 들어,다음은 기존f1패밀리에 새 열을 할당합니다.:
아이콘/버튼/복사
 > ALTER TABLE test ADD COLUMN name STRING CREATE IF NOT EXISTS FAMILY f1;
  • 열이 테이블에 추가되고 패밀리가 지정되지 않은 경우 첫 번째 열 패밀리에 추가됩니다. 예를 들어 다음은 첫 번째 열 패밀리이므로f1패밀리에 새 열을 추가합니다:
아이콘/버튼/복사
 > ALTER TABLE test ADD COLUMN last_name STRING;

같이 보기

  • CREATE TABLE
  • ADD COLUMN
  • 다른 명령문

이 페이지가 도움이 되었습니까?

아니오

답글 남기기

이메일 주소는 공개되지 않습니다.