소개

소개 (Introduction)

ClickHouse 배포와 확장에서 쓰이는 핵심 용어(레플리카, 샤드, 분산 조정)를 정리해요. 이 섹션의 배포 예제는 ClickHouse Support and Services 조직이 사용자에게 제공한 조언을 바탕으로 해요.

출처: 문서

본문

이 섹션의 배포 예제는 ClickHouse Support and Services 조직이 ClickHouse 사용자에게 제공한 조언을 바탕으로 해요. 이들은 실제 동작하는 예제이므로, 직접 시도해 보고 필요에 맞게 조정해 보는 것을 권장해요. 여기서 요구사항에 정확히 맞는 예제를 찾을 수도 있어요. 예제 리포지토리에 다양한 토폴로지의 '레시피'를 제공하고 있으니, 이 섹션의 예제가 요구사항에 정확히 맞지 않으면 한 번 살펴보는 걸 권장해요.

용어 (Terminology)

레플리카 (Replica)

데이터의 복사본이에요. ClickHouse는 항상 데이터의 복사본을 최소 하나 이상 가지므로, 레플리카의 최소 수는 1이에요. 이것은 중요한 세부사항인데, 원본 데이터 복사본을 레플리카로 세는 것에 익숙하지 않을 수 있지만 ClickHouse 코드와 문서에서 사용하는 용어가 바로 그렇기 때문이에요. 데이터에 두 번째 레플리카를 추가하면 내결함성(fault tolerance)이 확보돼요.

샤드 (Shard)

데이터의 부분집합이에요. ClickHouse는 항상 데이터에 대해 최소 하나의 샤드를 가지므로, 데이터를 여러 서버에 분할하지 않으면 데이터는 하나의 샤드에 저장돼요. 데이터를 여러 서버에 샤딩하면 단일 서버의 용량을 초과할 때 부하를 나눌 수 있어요. 목적지 서버는 샤딩 키(sharding key) 로 결정되며, 분산 테이블을 만들 때 정의돼요. 샤딩 키는 무작위일 수도 있고 해시 함수의 출력일 수도 있어요. 샤딩이 포함된 배포 예제들은 샤딩 키로 rand()를 사용할 거고, 언제 어떻게 다른 샤딩 키를 선택해야 하는지에 대한 추가 정보를 제공할 거예요.

분산 조정 (Distributed coordination)

ClickHouse Keeper는 데이터 복제와 분산 DDL 쿼리 실행을 위한 조정 시스템을 제공해요. ClickHouse Keeper는 Apache ZooKeeper와 호환돼요.

더 알아보기 (Learn more)