클라우드 오브젝트 스토리지에서 ClickHouse Cloud로 데이터 옮기기

클라우드 오브젝트 스토리지에서 ClickHouse Cloud로 데이터 옮기기

클라우드 오브젝트 스토리지를 데이터 레이크로 쓰고 있다면, 그 데이터를 ClickHouse Cloud 테이블로 직접 가져올 수 있어요. 이때 유용한 테이블 함수(table function)들과, 스토리지로 직접 덤프하지 못하는 경우 쓰는 대안을 정리했어요.

출처: Move data from cloud object storage to ClickHouse Cloud

본문

클라우드 오브젝트 스토리지를 데이터 레이크로 사용하면서 이 데이터를 ClickHouse Cloud로 가져오려는 경우, 또는 현재 데이터베이스 시스템이 클라우드 오브젝트 스토리지로 직접 데이터를 덤프(offload)할 수 있는 경우에는, 클라우드 오브젝트 스토리지에 저장된 데이터를 ClickHouse Cloud 테이블로 마이그레이션하는 데 다음 테이블 함수 중 하나를 사용할 수 있어요:

만약 현재 데이터베이스 시스템이 클라우드 오브젝트 스토리지로 직접 데이터를 덤프할 수 없다면, 서드파티 ETL/ELT 도구clickhouse-local을 사용해서 현재 데이터베이스 시스템에서 클라우드 오브젝트 스토리지로 데이터를 옮긴 뒤, 두 번째 단계에서 그 데이터를 ClickHouse Cloud 테이블로 마이그레이션할 수 있어요.

이렇게 하면 두 단계(클라우드 오브젝트 스토리지로 덤프 → ClickHouse로 로드)로 진행되는데, 장점은 ClickHouse Cloud가 클라우드 오브젝트 스토리지에서의 고도로 병렬적인 읽기를 잘 지원하기 때문에 페타바이트(PB) 규모로 확장된다는 점이에요. 또 Parquet 같은 고압축·정교한 포맷을 활용할 수도 있어요. S3를 이용해 ClickHouse Cloud로 데이터를 넣는 구체적인 코드 예시를 보여 주는 블로그 글도 있으니 참고해 보세요.

더 알아보기 (Learn more)