- Part 1: NVMe Postgres를 시작하고 성능을 직접 경험합니다
- Part 2: ClickHouse와 통합해 실시간 분석을 시작합니다
- NVMe 기반 성능을 제공하는 Managed Postgres 인스턴스를 생성합니다
- 샘플 이벤트 100만 개를 적재하고 NVMe 속도를 직접 확인합니다
- 쿼리를 실행하고 낮은 지연 시간 성능을 경험합니다
- 데이터를 ClickHouse로 복제하여 실시간 분석을 수행합니다
pg_clickhouse를 사용해 Postgres에서 ClickHouse를 직접 쿼리합니다
Part 1: NVMe Postgres 시작하기
데이터베이스 생성
데이터베이스에 연결하기
psql 연결 문자열을 복사한 후 데이터베이스에 연결하세요. DBeaver 같은 Postgres 호환 클라이언트나 애플리케이션 라이브러리를 사용해도 됩니다.
NVMe 성능 직접 체험하기
psql에서 타이밍을 활성화합니다:
데이터에서 쿼리 실행하기
Postgres가 준비되었습니다이제 트랜잭션 워크로드에 사용할 수 있는, 완전히 동작하는 고성능 Postgres 데이터베이스가 준비되었습니다.Part 2로 계속 진행하여 네이티브 ClickHouse 통합이 분석을 어떻게 한층 강화하는지 확인하세요.
2부: ClickHouse로 실시간 분석 추가
- Postgres: 애플리케이션의 트랜잭션 데이터용(삽입, 업데이트, 단건 조회)
- ClickHouse: 수십억 개의 행에 대한 1초 미만 지연의 분석용
ClickHouse 통합 설정
중요계속 진행하기 전에 선택한 ClickHouse 서비스가 Running 상태인지 확인하십시오.
- 복제할 ClickHouse 데이터베이스를 선택합니다.
- public 스키마를 펼친 다음, 앞서 생성한 users 테이블과 events 테이블을 선택합니다.
- Replicate data to ClickHouse를 클릭합니다.
Postgres에서 ClickHouse 쿼리하기
pg_clickhouse 확장 기능을 사용하면 표준 SQL로 Postgres에서 ClickHouse 데이터를 직접 쿼리할 수 있습니다. 즉, 애플리케이션에서 Postgres를 트랜잭션 데이터와 분석 데이터를 모두 아우르는 단일 쿼리 계층으로 사용할 수 있습니다. 자세한 내용은 전체 문서를 참조하십시오.
확장 기능을 활성화하세요:
8443에서 http 드라이버를 사용하세요:
<clickhouse_cloud_host>는 ClickHouse 호스트명으로, <database_name>은 복제 설정 중에 선택한 데이터베이스로 바꾸십시오. 호스트명은 사이드바에서 Connect를 클릭하면 ClickHouse 서비스에서 확인할 수 있습니다.
이제 Postgres 사용자를 ClickHouse 서비스의 자격 증명에 매핑합니다:
<database_name>을 서버를 생성할 때 사용한 데이터베이스 이름과 동일하게 바꾸세요.
이제 Postgres 클라이언트에서 모든 ClickHouse 테이블을 확인할 수 있습니다:
분석이 적용된 결과를 확인하세요
Postgres와 ClickHouse 성능 비교
public_<table_name> 명명 규칙을 따릅니다.
쿼리 1: 활동량 기준 상위 사용자
이 쿼리는 여러 집계를 사용해 가장 활발한 사용자를 찾습니다:
| 쿼리 | Postgres (NVMe) | ClickHouse (via pg_clickhouse) | 속도 향상 |
|---|---|---|---|
| 상위 사용자 (집계 5개) | 555 ms | 164 ms | 3.4x |
| 사용자 참여도 (JOIN + 집계) | 1,246 ms | 170 ms | 7.3x |
정리
- 먼저 ClickHouse 서비스에서 ClickPipe 통합을 삭제합니다
- 그런 다음 Cloud Console에서 Managed Postgres 인스턴스를 삭제합니다