728x90
반응형
목적
- upgrade에 따른 데이터 정합성, 성능 간 이슈 등을 사전에 체크하여 장애 발생을 방지
- 지속적으로 dbms 생명주기를 관리하여 신기술에 대한 인지 및 도입 방안 마련
읽기 전에
- 아래 내용은 Release note 내용 중 필요하다고 판단되는 부분 위주로 정리함
- 버전의 A.B 에서 A는 년(ex_ 20의 경우 2020년)을 의미하며 B는 월(ex_ 6의 경우 6월)을 의미함. 즉, 버전에서 Release date를 유추할 수 있음
- 중복된 내용의 경우 가장 낮은 버전(이전 버전)에서 최초 기입하며 이후 중복 기입하지 않음
Backward Incompatible Change
- Ver. 21.12
- Kafka/RabbitMQ/FileLog에 직접적인 select가 허용되지 않음. 직접적으로 select 하고 싶을 경우 사용자는 스토리지 레벨에서 kafka{rabbitmq}_commit_on_select=1(기본값은 0)로 설정해야 함
- 아래와 같이 일부 파라미터의 이름이 변경됨
- 전
- output_format_csv_null_representation
- output_format_tsv_null_representation
- 후
- format_csv_null_representation
- format_tsv_null_representation
- 전
- ReplicatedMergeTree에서 리더 선출 메커니즘이 제거됨. 왜냐하면 20.6부터 다중 리더가 지원되기 때문. 하지만 우리 서비스는 20.6이 최소이므로 해당 사항 없음
New Feature
- Ver. 21.12
- Bool 데이터 타입이 지원됨
- File, URL, HDFS 스토리지 및 INSERT INTO 테이블 함수에서 PARTITION BY가 지원됨
- WITH FILL 수정자에 대해 STEP 항목에 INTERVAL 타입이 지원됨
- 설정 파일에 있는 전역 스레드 풀의 모든 설정을 노출함
- LZ4를 사용하여 파일에 쓰기 전에 로그를 압축하는 기능이 추가됨
- CROSS JOIN 의미상의 JOIN ON 1=1가 지원됨(JOIN 표현식으로 CROSS 조인을 구현하겠다는 뜻인듯)
Bug Fix
- Ver. 21.12
- group by/order by/limit에 위치 인수가 활성화됨(order by 1, 2을 의미하는 듯)
- Dictionary 테이블이 같은 이름인 XML-dictionary을 보는 경우 "Cannot attach 1 tables due to cyclic dependencies" 에러가 발생하며 서버가 시작될 수 없는 버그가 수정됨
- 만약 replicated_can_become_leader가 일부 replica에서 비활성화되었다면 quorum으로 삽입 시 활동중인 replica의 수가 잘못 결정되는 버그가 수정됨
- part를 detach할 때 "Directory ... already exists and is not empty" 에러가 발생하는 버그가 수정됨
- SQL 내 재귀적인 UDF의 충돌이 발생하는 버그가 수정됨
- 동시에 ATTACH PARTITION 쿼리 수행 시 드물게 segfault가 발생하는 버그가 수정됨
- 명시된 클러스터 이름이 Replicated 데이터베이스의 이름일 경우 ON CLUSTER 쿼리 시 "there are no such cluster here" 에러가 반환되는 버그가 수정됨
- MATERIALIZE COLUMN 내 널 포인터 에러가 수정됨
- 인덱스 분석에서 notLike 함수가 잘못 수행 되어 제거됨
Improvement
- Ver. 21.12
- PostgreSQL 스타일인 ALTER MODIFY COLUMN 구문이 지원됨
- clickhouse-keeper는 중복된 ID나 엔드포인트를 포함할 때 설정 변경을 적용하거나 시작하는 것을 거절함
- 해당 매크로가 설정 파일에 없는 상태에서 ReplicatedMergeTree 인자에 매크로를 확장할 때 Replicated 데이터베이스 인자의 샤드와 replica 이름을 사용함
- http_send_timeout, http_receive_timeout의 기본값을 1800(30분)에서 180(3분)으로 변경
- 시스템 테이블에 SHOW CREATE TABLE 사용 시 인위적인 생성 쿼리가 반환됨
- 초기 사용자의 role은 row policies를 찾는데 사용됨
- 사용되지 않는 설정이 변경된 경우 system.warnings 시스템 테이블에 경고가 보여짐
- IF EXISTS 수정자가 RENAME DATATBASE/TABLE/DICTRIONARY 쿼리에 지원됨
- clickhouse-keeper 내부 통신을 위한 기본 포트가 44444에서 9234로 변경됨
Performance Improvement
- Ver. 21.12
- JOIN ON, ref에서 상수 조건에 대한 최적화가 추가됨
- avg, sumCount 집계 함수의 성능이 개선됨
- JSON, XML 출력 포맷에 대한 성능이 개선됨
- 쿼리 파싱 성능이 개선됨
Experimental Feature
- Ver. 21.12
- 클릭하우스 내에서 WINDOW VIEW가 스트림 처리 가능하게 됨
- Log군에 대한 BACKUP/RESTORE 명령어가 구현됨
Build/Testing/Packaging Improvement
- Ver. 21.12
- -
참고
- clickhouse change log doc_001
https://clickhouse.com/docs/en/whats-new/changelog/
728x90
반응형
'CDBMS > Clickhouse' 카테고리의 다른 글
[Clickhouse] Ver. 22.2 Release note 요약 (0) | 2024.04.22 |
---|---|
[Clickhouse] Ver. 22.1 Release note 요약 (0) | 2024.04.21 |
[Clickhouse] Ver. 21.11 Release note 요약 (0) | 2024.04.19 |
[Clickhouse] Ver. 21.10 Release note 요약 (0) | 2024.04.18 |
[Clickhouse] Ver. 21.9 Release note 요약 (0) | 2024.04.17 |