Embeddable를 ClickHouse에 연결하기
Embeddable에서는 Data Models과 Components를 코드로 정의하고(해당 코드는 사용자의 코드 저장소에 저장됨), SDK를 사용하여 이를 Embeddable의 강력한 no-code builder에서 팀이 사용할 수 있도록 합니다.
그 결과, 제품 팀이 설계하고 엔지니어링 팀이 구축하며 고객 대응 및 데이터 팀이 유지 관리하는, 제품 내에 직접 포함된 빠르고 인터랙티브한 고객용 분석 기능을 제공할 수 있게 됩니다. 마땅히 그래야 하는 방식 그대로입니다.
내장된 행 수준 보안(row-level security)을 통해 각 사용자는 자신에게 허용된 데이터만 정확히 보게 됩니다. 또한 두 단계의 완전히 구성 가능한 캐싱을 통해, 대규모 환경에서도 빠르고 실시간에 가까운 분석을 제공할 수 있습니다.
1. 연결 정보 준비하기
HTTP(S)로 ClickHouse에 연결하려면 다음 정보가 필요합니다:
| Parameter(s) | Description |
|---|---|
HOST and PORT | 일반적으로 TLS를 사용할 때는 포트가 8443이고, TLS를 사용하지 않을 때는 8123입니다. |
DATABASE NAME | 기본적으로 default라는 데이터베이스가 있으며, 연결하려는 데이터베이스의 이름을 사용합니다. |
USERNAME and PASSWORD | 기본값으로 사용자 이름은 default입니다. 사용하려는 용도에 적합한 사용자 이름을 사용합니다. |
ClickHouse Cloud 서비스에 대한 세부 정보는 ClickHouse Cloud 콘솔에서 확인할 수 있습니다. 서비스를 선택한 다음 Connect를 클릭하십시오:

HTTPS를 선택하십시오. 연결 정보는 예제 curl 명령에 표시됩니다.

자가 관리형 ClickHouse를 사용하는 경우, 연결 정보는 ClickHouse 관리자가 설정합니다.
2. ClickHouse 연결 유형 생성
Embeddable API를 사용하여 데이터베이스 연결을 추가합니다. 이 연결은 ClickHouse 서비스에 연결하는 데 사용됩니다. 다음 API 호출을 사용하여 연결을 추가할 수 있습니다.
위 예시는 CREATE 작업을 나타내지만, 모든 CRUD 작업을 사용할 수 있습니다.
apiKey는 Embeddable 대시보드 중 하나에서 "Publish"를 클릭하면 확인할 수 있습니다.
name은 이 연결을 식별하기 위한 고유한 이름입니다.
- 기본적으로 데이터 모델은 "default"라는 이름의 연결을 찾지만, 서로 다른 데이터 모델을 서로 다른 연결에 매핑할 수 있도록 모델에 다른
data_source이름을 지정할 수 있습니다(모델에서 data_source 이름을 명시하면 됩니다).
type은 Embeddable이 어떤 드라이버를 사용할지 나타냅니다.
- 여기에서는
clickhouse를 사용하면 되지만, 하나의 Embeddable 워크스페이스에 여러 다른 데이터 소스를 연결할 수 있으므로postgres,bigquery,mongodb등 다른 드라이버를 사용할 수도 있습니다.
credentials는 드라이버가 필요로 하는 필수 자격 증명이 포함된 JavaScript 객체입니다.
- 이 값들은 안전하게 암호화되며, 데이터 모델에서 정의한 정확한 데이터만 조회하는 데 사용됩니다. Embeddable은 각 연결마다 읽기 전용 데이터베이스 USER를 생성할 것을 강력히 권장합니다(Embeddable은 데이터베이스에서 읽기만 하고, 쓰기는 수행하지 않습니다).
운영(prod), QA, 테스트(test) 등 서로 다른 데이터베이스에 연결하거나(또는 서로 다른 고객에 대해 서로 다른 데이터베이스를 사용하도록) 지원하기 위해, 각 연결을 하나의 환경에 할당할 수 있습니다(Environments API 참조).