칼럼 패밀리|칼럼 패밀리
열 패밀리는 기본 키-값 저장소에 단일 키-값 쌍으로 저장되는 테이블의 열 그룹입니다. 열 패밀리는 키-값 저장소에 저장된 키 수를 줄여INSERT
,UPDATE
및DELETE
작업 중에 성능이 향상됩니다.
이 페이지에서는 열을 패밀리로 구성하는 방법과 기본 동작을 수동으로 재정의할 수 있는 경우에 대해 설명합니다.
보조 인덱스는 테이블에 적용된 열 패밀리 정의를 존중합니다. 보조 인덱스를 정의할 때 보조 인덱스 키-값 쌍을 패밀리 및 저장된 열 구성에 따라 열 패밀리로 나눕니다.
기본 동작
테이블을 만들면 모든 열이 단일 열 패밀리로 저장됩니다.
이 기본 접근 방식은 대부분의 경우 효율적인 키-값 저장 및 성능을 보장합니다. 그러나 자주 업데이트되는 열이 거의 업데이트되지 않는 열로 그룹화되는 경우 업데이트되지 않는 열은 업데이트할 때마다 다시 작성됩니다. 특히 드물게 업데이트되는 열이 큰 경우 고유 한 패밀리로 분할하는 것이 더 효과적입니다.
수동 무시
테이블 만들 때 열 패밀리 할당
테이블 만들 때 열 패밀리를 수동으로 할당하려면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
- 다른 명령문
이 페이지가 도움이 되었습니까?
예아니오