CREATE DICTIONARY
딕셔너리는 다양한 유형의 참조 목록에 편리하게 사용할 수 있는 (key -> attributes) 매핑입니다.
ClickHouse는 쿼리에서 사용할 수 있는 딕셔너리용 특수 함수를 지원합니다. 참조 테이블에 대한 JOIN을 사용하는 것보다 함수와 함께 딕셔너리를 사용하는 편이 더 쉽고 효율적입니다.
딕셔너리는 두 가지 방식으로 생성할 수 있습니다:
- DDL 쿼리로 생성 (권장)
- 설정 파일로 생성
DDL 쿼리로 딕셔너리 생성하기
Supported in ClickHouse Cloud
딕셔너리는 DDL 쿼리로 생성할 수 있습니다.
이 방식이 권장되는 방법입니다. 이 방식으로 생성한 딕셔너리는 다음과 같은 장점이 있습니다:
- 서버 설정 파일에 별도의 레코드가 추가되지 않습니다.
- 딕셔너리를 테이블이나 VIEW와 같은 일급 객체처럼 사용할 수 있습니다.
- 딕셔너리 테이블 함수를 사용하는 대신 익숙한
SELECT구문을 사용해 데이터를 직접 읽을 수 있습니다.SELECT문을 통해 딕셔너리에 직접 접근하는 경우, 캐시된 딕셔너리는 캐시된 데이터만 반환하고, 캐시되지 않은 딕셔너리는 저장된 모든 데이터를 반환합니다. - 딕셔너리 이름을 쉽게 변경할 수 있습니다.
구문
| 절 | 설명 |
|---|---|
| Attributes | 딕셔너리 속성은 테이블 컬럼과 유사한 방식으로 지정합니다. 필수 속성은 타입뿐이며, 나머지는 기본값을 사용할 수 있습니다. |
| PRIMARY KEY | 딕셔너리 조회를 위한 키 컬럼을 정의합니다. 레이아웃에 따라 하나 이상의 속성을 키로 지정할 수 있습니다. |
SOURCE | 딕셔너리의 데이터 소스를 정의합니다(예: ClickHouse 테이블, HTTP, PostgreSQL). |
LAYOUT | 딕셔너리가 메모리에 저장되는 방식을 제어합니다(예: FLAT, HASHED, CACHE). |
LIFETIME | 딕셔너리의 갱신 주기를 설정합니다. |
ON CLUSTER | 클러스터에 딕셔너리를 생성합니다. 선택 사항입니다. |
SETTINGS | 추가 딕셔너리 설정입니다. 선택 사항입니다. |
COMMENT | 딕셔너리에 텍스트 주석을 추가합니다. 선택 사항입니다. |
구성 파일로 딕셔너리 생성하기
Not supported in ClickHouse Cloud
참고
구성 파일을 사용한 딕셔너리 생성은 ClickHouse Cloud에서 지원되지 않습니다. 위에서 설명한 DDL을 사용하여 default USER로 딕셔너리를 생성하십시오.
딕셔너리 구성 파일 형식은 다음과 같습니다:
같은 파일에서 여러 개의 딕셔너리를 정의할 수 있습니다.
관련 콘텐츠
- Layouts — 딕셔너리가 메모리에 저장되는 방식
- Sources — 데이터 소스에 연결하기
- Lifetime — 자동 새로고침 설정
- Attributes — 키 및 속성 설정
- Embedded Dictionaries — 내장 지오베이스 딕셔너리
- system.dictionaries — 딕셔너리 정보가 포함된 시스템 테이블