728x90
반응형
목적
- upgrade에 따른 데이터 정합성, 성능 간 이슈 등을 사전에 체크하여 장애 발생을 방지
- 지속적으로 dbms 생명주기를 관리하여 신기술에 대한 인지 및 도입 방안 마련
읽기 전에
- 아래 내용은 Release note 내용 중 필요하다고 판단되는 부분 위주로 정리함
- 버전의 A.B 에서 A는 년(ex_ 20의 경우 2020년)을 의미하며 B는 월(ex_ 6의 경우 6월)을 의미함. 즉, 버전에서 Release date를 유추할 수 있음
- 중복된 내용의 경우 가장 낮은 버전(이전 버전)에서 최초 기입하며 이후 중복 기입하지 않음
Backward Incompatible Change
- Ver. 21.10
- MergeTree 테이블 레벨 설정이 아래와 같이 변경됨
- 변경 전 삭제 대상 파라미터 목록
- replicated_max_parallel_sends
- replicated_max_parallel_sends_for_table
- replicated_max_parallel_fetches
- replicated_max_parallel_fetches_for_table
- 변경 후 파라미터
- max_replicated_fetches_network_bandwidth
- max_replicated_sends_network-bandwidth
- background_fetches_pool_size
- 변경 전 삭제 대상 파라미터 목록
- MergeTree 테이블 레벨 설정이 아래와 같이 변경됨
New Feature
- Ver. 21.10
- 람다 표현식을 이용하여 사용자 정의 함수(UDF)가 추가됨
- 문법 : CREATE FUNCTION {function_name} as ({parameters]) → {function core}
- 에시 : CREATE FUNCTION plus_one as (a) → a + 1
- Executable 스토리지 엔진과 executable 테이블 함수가 추가됨. 이는 스트리밍 방식으로 외부 스크립트에 대한 데이터 처리가 가능함
- ExecutablePool 스토리지 엔진이 추가됨. 이는 Executable과 유사하나 길게 실행 중인 프로세스의 pool을 사용함
- ALTER TABLE ... MATERIALIZE COLUMN 쿼리가 추가됨
- 데이터 import/export 시 lz4 압축 형식(gz, bz2, xz, zstd 뿐만 아니라)이 지원됨
- enable_positional_arguments 파라미터를 통해 positional arguments가 가능함
- SHA512 함수가 추가됨
- user가 system.query_log 시스템 테이블에 쿼리 샘플만 기입할 수 있도록 log_queries_probability 파라미터가 추가됨
- system.replicas 시스템 테이블에 last_queue_update_exception 컬럼이 추가됨
- 첫 번째 서버 시작 시 유일한 서버 UUID가 발생됨
- MySQL 엔진에 connection_wait_timeout(default는 5초, 0은 기다리지 않음) 파라미터가 추가됨
- PostgreSQL 테이블 엔진이나 테이블 함수에 삽입 시 ON CONFLICT 항목이 추가됨
- 호환 가능한 데이터를 attach하도록 Enum 데이터 타입의 제한이 낮아짐
- replication_wait_for_inactive_replica_timeout 파라미터가 추가됨. 이 기능은 비활성 replica가 ALTER/OPTIMIZE/TURNCATE 쿼리를 실행하는 데 걸리는 시간을 제어(기본값 120초)함. 만약 replication_alter_partitions_sync=2고 일부 replica가 replication_wiat_for_inactive_replica_timeout 초 이상 비활성화되면 "UNFINISHED" 문구가 반환됨
- APPLY 컬럼 변환기는 람다 인자를 통해 하나 이상의 인자를 받을 수 있음
- tcp_keep_alive_timeout 파라미터가 기본적으로 활성화됨
- 람다 표현식을 이용하여 사용자 정의 함수(UDF)가 추가됨
Bug Fix
- Ver. 21.10
- 널 허용 컬럼에서 조인되지 않은 행의 잘못된 동작이 수정됨
- 신규 part가 비어있는 part로 교체되었던 적이 있으면 part가 교차되는 버그가 수정됨
- optimize_read_in_order 파라미터가 활성화되었을 때 ORDER BY를 사용한 Merge 테이블의 쿼리가 일관적이지 않은 결과를 반환하는 버그가 수정됨
- rotate_logs_interval이 감소했을 때 clickhouse-keepeer가 끊임없이 기록하는 버그가 수정됨
Improvement
- Ver. 21.10
- 비어 있는 속성 목록으로 딕셔너리를 생성할 수 있음
- Add new column last_queue_update_exception to system.replicas table
Performance Improvement
- Ver. 21.10
- sumIf, countIf 집계 함수의 속도가 개선됨
- 테이블 시작 프로세스를 지연시켜 data parts 로딩 속도를 개선함
- optimize_distributed_group_by_sharding_key가 기본적으로 활성화됨
Experimental Feature
- Ver. 21.10
- BACKUP/RESTORE 명령어가 추가됨
Build/Testing/Packaging Improvement
- Ver. 21.10
- 테스트 환경에 test 라는 로그 레벨이 추가됨. 이는 trace보다 더 상세함
참고
- clickhouse change log doc_001
https://clickhouse.com/docs/en/whats-new/changelog/
728x90
반응형
'CDBMS > Clickhouse' 카테고리의 다른 글
[Clickhouse] Ver. 21.12 Release note 요약 (0) | 2024.04.20 |
---|---|
[Clickhouse] Ver. 21.11 Release note 요약 (0) | 2024.04.19 |
[Clickhouse] Ver. 21.9 Release note 요약 (0) | 2024.04.17 |
[Clickhouse] Ver. 21.8 Release note 요약 (0) | 2024.04.16 |
[Clickhouse] Ver. 21.7 Release note 요약 (0) | 2024.04.15 |