MergeTree 엔진 패밀리

MergeTree 엔진 패밀리

MergeTree 패밀리의 테이블 엔진들은 ClickHouse 데이터 저장 능력의 핵심이에요. 복원력과 고성능 데이터 검색을 위한 대부분의 기능, 즉 컬럼형 저장, 커스텀 파티셔닝, 희소(sparse) 기본 인덱스, 보조 데이터 스킵 인덱스 등을 제공해요.

기본 MergeTree 테이블 엔진은 다양한 사용 사례에 유연하고 실용적이므로 단일 노드 ClickHouse 인스턴스의 기본 테이블 엔진으로 간주할 수 있어요. 프로덕션 사용에는 ReplicatedMergeTree가 정답이에요. 일반 MergeTree 엔진의 모든 기능에 고가용성을 더해주기 때문이에요. 보너스로 데이터 수집 시 자동 데이터 중복 제거가 있어서, 삽입 중 네트워크 문제가 있었어도 소프트웨어가 안전하게 재시도할 수 있어요.

MergeTree 패밀리의 다른 모든 엔진들은 특정 사용 사례를 위해 추가 기능을 제공해요. 보통 백그라운드의 추가 데이터 조작으로 구현돼요.

MergeTree 엔진의 주요 단점은 꽤 무겁다는 점이에요. 그래서 일반적인 패턴은 그리 많지 않게 두는 것이에요. 임시 데이터 같은 많은 작은 테이블이 필요하다면 Log 엔진 패밀리를 고려해요.

Page Description
MergeTree table engine MergeTree-family 테이블 엔진은 높은 데이터 수집 속도와 거대한 데이터 볼륨을 위해 설계됐어요
Replicated* table engines ClickHouse에서 Replicated* 패밀리 테이블 엔진의 데이터 복제 개요
Custom Partitioning Key MergeTree 테이블에 커스텀 파티셔닝 키를 추가하는 방법
ReplacingMergeTree table engine 같은 정렬 키 값(PRIMARY KEY가 아닌 ORDER BY 테이블 섹션)을 가진 중복 항목을 제거한다는 점에서 MergeTree와 다름
CoalescingMergeTree table engine CoalescingMergeTree는 MergeTree 엔진에서 상속돼요. 핵심 기능은 파트 병합 중 각 컬럼의 마지막 비-null 값을 자동으로 저장하는 것
SummingMergeTree table engine SummingMergeTree는 MergeTree 엔진에서 상속돼요. 핵심 기능은 파트 병합 중 숫자 데이터를 자동으로 합하는 것
AggregatingMergeTree table engine 같은 기본 키(또는 더 정확히는 같은 정렬 키)를 가진 모든 행을, 집계 함수 상태의 조합을 저장하는 단일 행(단일 데이터 파트 내에서)으로 대체해요
CollapsingMergeTree table engine MergeTree에서 상속하지만 병합 과정에서 행을 축소(collapse)하는 로직을 추가해요
VersionedCollapsingMergeTree table engine 끊임없이 변하는 객체 상태를 빠르게 쓰고, 백그라운드에서 오래된 객체 상태를 삭제할 수 있게 해줘요
GraphiteMergeTree table engine Graphite 데이터를 얇게 만들고 집계/평균화(rollup)하기 위해 설계됐어요
Exact and Approximate Vector Search 정확 및 근사 벡터 검색 문서
Full-text Search with Text Indexes 텍스트에서 검색어를 빠르게 찾기

출처: 문서

본문

MergeTree 엔진 패밀리의 테이블 엔진들은 ClickHouse 데이터 저장 능력의 핵심이에요. 사용 사례에 따라 각 엔진을 선택해 활용할 수 있어요.

더 알아보기 (Learn more)