데이터 웨어하우징

데이터 웨어하우징 (Data warehousing)

ClickHouse를 오픈 테이블 포맷과 통합해서 기존 데이터 레이크 인프라에서 분석 성능을 활용하는 방법을 소개해요.

출처: 문서

본문

ClickHouse는 Apache Iceberg, Delta Lake, Apache Hudi, Apache Paimon을 포함한 오픈 테이블 포맷과 통합돼요. 이를 통해 사용자는 오브젝트 스토리지의 이런 포맷으로 이미 저장된 데이터에 ClickHouse를 연결해서, ClickHouse의 분석 성능을 기존 데이터 레이크 인프라와 결합할 수 있어요.

오픈 테이블 포맷과 ClickHouse를 사용하는 이유

기존 데이터를 원위치에서 조회하기

ClickHouse는 데이터를 중복하지 않고 오브젝트 스토리지에서 오픈 테이블 포맷을 직접 조회할 수 있어요. Iceberg, Delta Lake, Hudi 또는 Paimon을 표준으로 삼은 조직은 ClickHouse를 기존 테이블에 연결하고 즉시 SQL 방언, 분석 함수, 효율적인 네이티브 Parquet 리더를 사용할 수 있어요. 동시에 clickhouse-localchDB 같은 도구는 원격 스토리지의 70개 이상 파일 포맷에 대한 탐색적, 임시 분석을 가능하게 해줘요. 사용자는 인프라 설정 없이 데이터 레이크 데이터셋을 대화형으로 탐색할 수 있어요. 이는 테이블 함수와 테이블 엔진을 사용한 직접 읽기나 데이터 카탈로그 연결을 통해 달성할 수 있어요.

선택된 쿼리에 컴퓨팅 추가하기

현재 비공개 프리뷰인 On-Demand Compute를 사용하면 서비스 크기를 조정하지 않고도 기존 서비스와 엔드포인트를 통해 추가 ClickHouse 워커에서 지원되는 Apache Iceberg와 Delta Lake 데이터에 대한 적격 SELECT 쿼리를 실행할 수 있어요. 가용성은 best effort이며 성능은 다양하고 ClickHouse Cloud SLO와 SLA는 적용되지 않아요. 자격과 제한 사항은 On-Demand Compute 문서를 참고하세요.

ClickHouse로 실시간 분석 워크로드

높은 동시성과 저지연 응답을 요구하는 워크로드에서는 사용자가 오픈 테이블 포맷의 데이터를 ClickHouse의 MergeTree 엔진으로 로드할 수 있어요. 이는 데이터 레이크에서 시작된 데이터 위에 실시간 분석 레이어를 제공해서, MergeTree의 컬럼형 저장과 인덱싱 기능의 이점을 누리는 대시보드, 운영 보고 및 기타 지연에 민감한 워크로드를 지원해요. MergeTree로 분석 가속화하기 시작 가이드를 참고하세요.

기능

데이터 직접 읽기

ClickHouse는 오브젝트 스토리지의 오픈 테이블 포맷을 직접 읽기 위한 테이블 함수엔진을 제공해요. iceberg(), deltaLake(), hudi(), paimon() 같은 함수는 사전 구성 없이 SQL 문 안에서 오픈 테이블 포맷 테이블을 조회할 수 있게 해줘요. 이런 함수의 버전은 S3, Azure Blob Storage, GCS 같은 대부분의 일반적인 오브젝트 스토어에 대해 존재해요. 이런 함수에는 기본 오픈 테이블 포맷 오브젝트 스토리지를 참조하는 ClickHouse 내부 테이블을 만드는 데 사용할 수 있는 동등한 테이블 엔진도 있어요. 이렇게 하면 조회가 더 편리해져요. 직접 조회하기데이터 카탈로그 연결 시작 가이드를 참고하세요.

카탈로그를 데이터베이스로 노출하기

DataLakeCatalog 데이터베이스 엔진을 사용하면 ClickHouse를 외부 카탈로그에 연결하고 데이터베이스로 노출할 수 있어요. 카탈로그에 등록된 테이블은 ClickHouse 내부의 테이블로 나타나서, ClickHouse SQL 구문과 분석 함수의 전체 범위를 투명하게 사용할 수 있어요. 즉 카탈로그 관리 테이블을 네이티브 ClickHouse 테이블처럼 조회, 조인, 집계할 수 있고 ClickHouse의 쿼리 최적화, 병렬 실행, 읽기 기능의 이점을 누릴 수 있어요. 지원되는 카탈로그는 다음과 같아요:

카탈로그 가이드
AWS Glue Glue Catalog 가이드
BigLake Metastore BigLake Metastore 가이드
Databricks Unity Catalog Unity Catalog 가이드
Iceberg REST Catalog REST Catalog 가이드
Lakekeeper Lakekeeper Catalog 가이드
Project Nessie Nessie Catalog 가이드
Microsoft OneLake OneLake Catalog 가이드
SeaweedFS SeaweedFS Catalog 가이드

카탈로그 연결하기 시작 가이드를 참고하세요.

오픈 테이블 포맷으로 다시 쓰기

ClickHouse는 데이터를 오픈 테이블 포맷으로 다시 쓰는 것을 지원해요. 이는 다음과 같은 시나리오에서 관련이 있어요:

  • 실시간에서 장기 보관으로 - 데이터가 실시간 분석 레이어인 ClickHouse를 거치고, 사용자는 내구성 있고 비용 효율적인 장기 보관을 위해 결과를 Iceberg나 다른 포맷으로 오프로드해야 해요.
  • 역방향 ETL - 사용자가 머티어리얼라이즈드 뷰나 예약 쿼리로 ClickHouse 내부에서 변환을 수행하고, 데이터 생태계의 다른 도구가 소비할 수 있도록 결과를 오픈 테이블 포맷으로 영속화하려 해요.

데이터 레이크 쓰기 시작 가이드를 참고하세요.

모범 사례

프로덕션 워크로드의 경우 데이터 레이크 모범 사례에서 테이블 함수, 테이블 엔진, 카탈로그 연결을 선택하고, 성능 설정을 튜닝하고, 레이크 쿼리를 디버깅하는 방법에 대한 지침을 확인하세요.

다음 단계

직접 시험해 볼 준비가 되셨나요? 시작하기 가이드는 오픈 테이블 포맷 직접 조회, 카탈로그 연결, 빠른 분석을 위한 MergeTree로의 데이터 로드, 결과 다시 쓰기까지 단일 종단간 워크플로로 안내해요.

더 알아보기 (Learn more)