BladePipe를 ClickHouse에 연결하기
BladePipe는 실시간 엔드 투 엔드(end-to-end) 데이터 통합 도구로, 1초 미만의 지연 시간으로 여러 플랫폼 간에 원활한 데이터 흐름을 제공합니다.
ClickHouse는 BladePipe에 사전 구성된 커넥터 중 하나로, 사용자가 다양한 소스의 데이터를 ClickHouse로 자동 통합할 수 있도록 해 줍니다. 이 페이지에서는 실시간으로 ClickHouse에 데이터를 적재하는 방법을 단계별로 설명합니다.
지원되는 소스
현재 BladePipe는 다음 소스에서 ClickHouse로의 데이터 통합을 지원합니다:
- MySQL/MariaDB/AuroraMySQL
- Oracle
- PostgreSQL/AuroraPostgreSQL
- MongoDB
- Kafka
- PolarDB-MySQL
- OceanBase
- TiDB
추가 소스도 순차적으로 지원될 예정입니다.
BladePipe 다운로드 및 실행
-
BladePipe Cloud에 로그인합니다.
-
Install Worker (Docker) 또는 Install Worker (Binary)의 지침을 따라 BladePipe Worker를 다운로드하고 설치합니다.
또는 BladePipe Enterprise를 다운로드하고 배포할 수 있습니다.
ClickHouse를 대상으로 추가하기
- BladePipe는 ClickHouse 버전
20.12.3.3이상을 지원합니다. - ClickHouse를 대상으로 사용하려면 사용자에게 SELECT, INSERT 및 일반 DDL 권한이 있어야 합니다.
-
BladePipe에서 "DataSource" > "Add DataSource"를 클릭합니다.
-
ClickHouse를 선택한 후 ClickHouse 호스트와 포트, 사용자 이름과 비밀번호를 입력하고 "Test Connection"을 클릭하여 연결을 테스트합니다.
-
하단의 "Add DataSource"를 클릭하면 ClickHouse 인스턴스가 추가됩니다.
MySQL을 소스로 추가하기
이 튜토리얼에서는 MySQL 인스턴스를 소스로 사용하고 MySQL 데이터를 ClickHouse로 적재하는 과정을 설명합니다.
MySQL을 소스로 사용하려면 해당 사용자가 필요한 권한을 가지고 있는지 확인하십시오.
-
BladePipe에서 "DataSource" > "Add DataSource"를 클릭합니다.
-
MySQL을 선택한 후 MySQL 호스트와 포트, 사용자 이름과 비밀번호를 입력하고 "Test Connection"을 클릭합니다.
-
화면 하단에서 "Add DataSource"를 클릭하면 MySQL 인스턴스가 추가됩니다.
파이프라인 생성
-
BladePipe에서 "DataJob" > "Create DataJob"을 클릭합니다.
-
추가한 MySQL과 ClickHouse 인스턴스를 선택하고 "Test Connection"을 클릭하여 BladePipe가 인스턴스에 정상적으로 연결되어 있는지 확인합니다. 그런 다음 이동할 데이터베이스를 선택합니다.

-
DataJob Type에서 "Incremental"을 선택하고, "Full Data" 옵션도 함께 선택합니다.

-
복제할 테이블을 선택합니다.

-
복제할 컬럼을 선택합니다.

-
DataJob 생성을 완료하면 해당 DataJob이 자동으로 실행됩니다.

데이터 검증
- MySQL 인스턴스에서 데이터 쓰기를 중지하고 ClickHouse가 데이터를 병합할 때까지 기다립니다.
참고
ClickHouse의 자동 병합 시점을 예측할 수 없으므로,
OPTIMIZE TABLE xxx FINAL;명령을 실행하여 수동으로 병합을 트리거할 수 있습니다. 수동 병합이 항상 성공하는 것은 아니라는 점에 유의하십시오.
또는 CREATE VIEW xxx_v AS SELECT * FROM xxx FINAL; 명령을 실행하여 뷰(View)를 생성하고 해당 뷰에서 쿼리를 수행하여 데이터가 완전히 병합되었는지 확인할 수 있습니다.
:::
- 검증 DataJob을 생성합니다. 검증 DataJob이 완료되면 결과를 검토하여 ClickHouse의 데이터와 MySQL의 데이터가 동일한지 확인하십시오.
