HTTP 인터페이스로 ClickHouse database에 SQL을 실행해 셀프 호스팅 및 ClickHouse Cloud 기반 분석 앱을 구축합니다.
ClickHouse에 앱 연결하기
HTTP 인터페이스로 ClickHouse database를 Lovable 앱에 연결하세요. SQL 쿼리 실행, 스키마 탐색, 셀프 호스팅 또는 ClickHouse Cloud database 기반 분석 기능 구축이 가능합니다.
ClickHouse 앱 커넥터를 사용하면 Lovable 앱이 HTTP 인터페이스를 통해 ClickHouse database에 SQL 쿼리를 실행할 수 있습니다. 셀프 호스팅 ClickHouse와 ClickHouse Cloud 모두에서 동작합니다.
ClickHouse를 연결하면 앱은 다음 작업이 가능합니다:
- ClickHouse HTTP 인터페이스로 SQL 쿼리 실행
- system table을 통해 스키마 및 테이블 메타데이터 탐색
- **
LIMIT**과 **OFFSET**으로 대규모 결과 집합 페이지네이션 - 쿼리별 시간 제한을 적용해 요청 범위 제한
주요 활용 사례 및 예시 앱
| 예시 앱 | 프롬프트 예시 | 설명 |
|---|---|---|
| 실시간 분석 대시보드 | ClickHouse events 테이블에서 이벤트 수와 추세를 보여주고 1분마다 새로고침 되는 대시보드를 만들어줘. | 대용량 이벤트 데이터를 라이브 차트로 변환합니다. 앱이 ClickHouse에 SQL을 실행해 최신 상태를 유지하는 지표를 렌더링합니다. |
| 로그 탐색기 | ClickHouse에 저장된 애플리케이션 로그를 서비스, 레벨, 시간 범위로 검색하고 필터링하는 도구를 만들어줘. | 대규모 로그 테이블에 대한 셀프 서비스 검색. 앱이 필터링된 쿼리를 제출하고 콘솔 접근 없이 결과를 반환합니다. |
| 스키마 탐색기 | database와 테이블을 나열하고 컬럼 타입과 행 수를 보여주는 도구를 만들어줘. | database 내용을 탐색합니다. 앱이 system table을 읽어 스키마를 설명합니다. |
| 사용량 측정 뷰 | ClickHouse usage 테이블에서 집계한 고객별 사용량을 날짜 필터와 함께 보여줘. | 큐레이션된 테이블의 집계값을 표면화합니다. 앱이 파이프라인이 유지 관리하는 요약 테이블을 쿼리합니다. |
정확한 동작은 보유한 테이블, 연결에 사용하는 ClickHouse user의 권한, Lovable에 요청한 내용에 따라 달라집니다.
ClickHouse 연결 방식
- HTTP 인터페이스: 커넥터는 HTTPS를 통해 ClickHouse HTTP 인터페이스와 통신합니다. 포트를 포함한 인터페이스의 전체 HTTPS URL을 입력합니다 (예:
https://abc123.eu-central-1.aws.clickhouse.cloud:8443). - 인증: ClickHouse는 HTTP basic auth를 사용합니다. 연결에 사용할 database user의 username과 password를 입력하세요. 자격 증명은 Lovable의 게이트웨이에 안전하게 저장되며 브라우저나 앱의 프론트엔드 코드에 노출되지 않습니다.
- 게이트웨이: 쿼리는 Lovable의 커넥터 게이트웨이를 통해 프록시되며 게이트웨이가 host와 자격 증명을 주입하므로 앱이 직접 전송하지 않습니다. 토큰 처리와 프로젝트별 요청 한도는 게이트웨이 기반 커넥터를 참고하세요.
- 데이터 접근: 읽거나 실행할 수 있는 범위는 전적으로 연결에 사용하는 ClickHouse user의 권한에 따라 달라집니다.
읽기 전용 ClickHouse user를 사용하세요. 앱에 필요한 database와 테이블에만 읽기 전용으로 접근하는 전용 user를 만드세요. 해당 user의 권한이 이 연결을 사용하는 모든 앱의 쿼리 범위를 결정하므로 권한을 좁히면 쿼리가 접근할 수 있는 범위가 제한됩니다.
ClickHouse 연결하기
누가 ClickHouse를 연결할 수 있는지는 요금제와 워크스페이스 설정에 따라 달라집니다. 자세한 내용은 누가 연결을 생성할 수 있나요를 참고하세요.
사전 준비
Lovable에서 연결하기 전에 다음을 준비하세요:
- HTTPS로 HTTP 인터페이스에 접근할 수 있는 ClickHouse database (셀프 호스팅 또는 ClickHouse Cloud)
- 포트를 포함한 HTTP 인터페이스의 HTTPS URL
- 앱에 필요한 데이터에 접근할 수 있는 ClickHouse user (읽기 전용 user 권장)
- Lovable 워크스페이스에서 연결을 생성할 수 있는 권한
ClickHouse 연결 설정
ClickHouse 커넥터로 이동
Connectors → App connectors에서 ClickHouse를 선택합니다.
새 연결 추가
Add connection을 클릭합니다.
연결 이름 지정
Display name에 연결 이름을 입력합니다 (예: ClickHouse Production 또는 ClickHouse read-only).
연결 정보 입력
- HTTP Interface URL: 포트를 포함한 ClickHouse HTTP 인터페이스의 전체 HTTPS URL (예:
https://abc123.eu-central-1.aws.clickhouse.cloud:8443). - Username: HTTP basic 인증에 사용할 ClickHouse user.
- Password: 해당 user의 password.
인증 없이 연결하려면 Username과 Password를 모두 비워 두세요. auth 헤더가 전송되지 않으며 ClickHouse가 default user를 사용합니다. 자세한 내용은 HTTP 인터페이스 문서를 참고하세요.
이 연결을 사용할 수 있는 사람 선택
Who can use this connection에서 워크스페이스 내 누가 이 연결을 사용할 수 있는지 결정합니다:
- Only you (기본값): 연결을 생성한 사람만 연결과 관련 데이터를 사용할 수 있습니다.
- Invite specific people: 본인과 명시적으로 추가한 워크스페이스 구성원만 연결과 관련 데이터를 사용할 수 있습니다.
- Invite entire workspace: Invite entire workspace를 클릭해 Lovable 워크스페이스의 모든 구성원이 연결을 사용할 수 있게 합니다.
자세한 내용은 누가 연결을 관리할 수 있나요를 참고하세요.
연결
Connect를 클릭합니다. Lovable이 게이트웨이를 통해 SELECT 1 쿼리로 연결을 검증합니다.
연결되면 프로젝트에 연결을 링크하고 ClickHouse 데이터를 쿼리하는 앱을 만들기 시작할 수 있습니다.
제한 사항
- 사용자별 데이터 스코핑 없음. 연결을 사용하는 모든 사람은 동일한 ClickHouse user로 쿼리합니다. 적절한 database로 스코프된 읽기 전용 user를 사용하고 연결을 사용할 수 있는 사람을 제한하세요.
- 쿼리는 동기 방식. 폴링이나 서버 측 커서가 없습니다. SQL
LIMIT/OFFSET으로 페이지네이션하고 긴 쿼리에는 쿼리별 시간 제한을 늘리세요. - 기본 database 없음. 테이블 이름에 database를 함께 지정하세요 (예:
mydb.users). - 게이트웨이 기반 커넥터에서 설명한 게이트웨이 한도가 적용됩니다.
ClickHouse 연결에서 프로젝트 연결 해제
Editor 이상 권한을 가진 사용자는 연결 자체를 삭제하지 않고 특정 프로젝트만 연결 해제할 수 있습니다. 연결은 다른 프로젝트에서 계속 사용할 수 있습니다.
연결 해제 방법:
Connectors 열기
Connectors를 열고 App connectors로 이동한 뒤 **ClickHouse**를 선택합니다.
연결 열기
관리할 연결을 엽니다.
프로젝트 선택
Linked projects에서 연결 해제할 프로젝트를 선택합니다.
확인
Unlink projects를 클릭하고 확인합니다.
연결 해제 후 해당 프로젝트는 이 연결을 통해 ClickHouse에 접근할 수 없습니다. 필요하면 다른 연결로 다시 연결할 수 있습니다.
ClickHouse 연결 삭제
워크스페이스 admin 또는 owner가 ClickHouse 연결을 삭제할 수 있습니다. 다른 구성원은 자신이 생성했거나 명시적으로 접근 권한을 받은 연결을 삭제할 수 있습니다.
연결 삭제는 영구적이며 되돌릴 수 없습니다. 연결된 모든 프로젝트에서 인증 정보가 제거되며, 새 연결을 만들기 전까지 이 연결을 사용하던 앱은 동작을 멈춥니다.
삭제 전에 Linked projects 섹션에서 현재 이 연결을 사용 중인 프로젝트를 먼저 확인하세요.
삭제 방법:
Connectors 열기
Connectors를 열고 App connectors로 이동한 뒤 **ClickHouse**를 선택합니다.
연결 열기
삭제할 연결을 엽니다.
연결된 프로젝트 확인
Linked projects 섹션을 확인합니다.
삭제
Delete this connection에서 Delete를 클릭하고 확인합니다.