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은 각 연결마다 읽기 전용 데이터베이스 사용자를 생성할 것을 강력히 권장합니다(Embeddable은 데이터베이스에서 읽기만 하며, 쓰기는 하지 않습니다).
prod, qa, test 등 서로 다른 데이터베이스에 연결할 수 있도록(또는 고객별로 서로 다른 데이터베이스를 지원할 수 있도록) 각 연결을 환경에 할당할 수 있습니다(Environments API 참조).