728x90
반응형
목적
- upgrade에 따른 데이터 정합성, 성능 간 이슈 등을 사전에 체크하여 장애 발생을 방지
- 지속적으로 dbms 생명주기를 관리하여 신기술에 대한 인지 및 도입 방안 마련
읽기 전에
- 아래 내용은 Release note 내용 중 필요하다고 판단되는 부분 위주로 정리함
- 버전의 A.B 에서 A는 년(ex_ 20의 경우 2020년)을 의미하며 B는 월(ex_ 6의 경우 6월)을 의미함. 즉, 버전에서 Release date를 유추할 수 있음
- 중복된 내용의 경우 가장 낮은 버전(이전 버전)에서 최초 기입하며 이후 중복 기입하지 않음
Upgrade Notes
- -
Backward Incompatible Change
- print_pretty_type_names 설정이 기본적으로 활성화됨
- MergeTree 설정 중에 clean_deleted_rows가 더이상 사용되지 않음
- reverseDNSQuery 함수 사용이 불가함
- 설정 파일의 접근 제얼 개선을 위한 다양한 변경을 화럿ㅇ화함
- sumMapFiltered의 NaN 값 처리를 개선함
- visibleWidth 함수가 문서대로 동작하도록 변경됨
- Kusto 방언 사용을 중지함
- FINAL 수정자의 더 효율적인 구현이 순서 보장을 더 이상 제공하지 않음. max_threads = 1일지라도 순서를 보장하지 않음
New Feature
- 다양한 데이터 타입의 조합을 나타내는 Variant 데이터 타입을 구현함
- min_compress_block_size, max_compress_block_size 설정을 컬럼 수준에서 지정 가능
- quantileDD 집계 함수를 추가함
- 모든 종류의 오브젝트 스토리지와 메타데이터 타입 구성을 허용함
- 분산 DDL 출력 모드에 대한 null_status_on_timeout_only_active 및 throw_only_active 모드를 추가함
- 다른 파티션 표현식을 가진 테이블 간 파티션 부착을 허용함
- arraySingles 함수를 추가하여, 주어진 배열에서 지정된 크기의 연속적인 서브배열을 계산할 수 있음
- Punycode 및 IDNA 관련 함수를 추가함
- 문자열 유사성 함수를 추가함
- Pretty 포맷에서 ANSI 이스케이프 시퀀스 자동을 비활성화함
- sqidDecode 함수 추가로 Sqids 디코딩이 가능함
- JSON 입력 포맷에서 Bool 값을 String으로 읽을 수 있도록 설정을 추가함
- 시계열 데이터를 계절성, 추세성, 잔차성 요소로 분해하는 seriesDecomposeSTL 함수를 추가함
- MaterializedMySQL을 위한 MySQL Binlog 클라이언트를 도입함
- S3 디스크를 위한 객체 저장소 키 생성 방식을 변경함
- 삭제된 테이블의 파트를 포함하는 시스템 테이블 system.dropped_tables_parts를 추가함
- 테이블에 부착된 materialized view의 수를 제한하는 설정이 추가됨
- clickhous-format이 values를 포함한 insert 쿼리를 지원함
- clickhouse-local에서 모든 시스템 테이블을 포함하도록 함
- transform 함수에서 Enum 데이터 유형을 지원함
- 새로운 시스템 테이블인 system.database_engines를 추가함
- SYSTEM SYNC REPLICA LIGHTWEIGHT 쿼리에 대한 FROM <Replicas> 수정자를 추가함
- 독립적 materialized view에 대한 삽입 중복 제거 토큰 업데이트 설정을 추가함
- 비동기 메트릭을 업데이트하는 SYSTEM RELOAD ASYNCHRONOUS METRICS 문을 추가함
Performance Improvement
- 병렬 복제를 위한 조정 개선으로 성능이 향상됨
- HTTP 외부 버퍼링을 Clickhouse 버퍼로 교체하여 성능으 개선함
- uniqExact의 대규모 집계 상태 병렬 병합을 지원함
- MergeTree 테이블에서 읽은 후 메모리 사용량을 감소함
- 수직 병합 중 메모리 사용량을 감소함
- Keeper 시작 시 메모리 소비를 감소함
- Keeper의 메모리 사용을 최적화함
- 최종 구현의 캐시를 친화적으로 개선함
- S3에서의 읽기 시 추가 복사를 우회하도록 함
- 배열 요소 함수 최적화로 성능이 개선됨
- 컴팩트 파트에서 하나의 컬럼을 한 번에 여러 서브컬럼으로 읽을 수 있도록 함
- sum(column + constant) 함수의 AST 재작성으로 쿼리를 최적화함
- match 함수의 평가 성능이 향상됨
- match 함수의 평가가 역인덱스를 활용하도록 하여 성능이 향상됨
- MergeTree FINAL의 행 비교를 최적화함
- iota 호출 속도를 향상함
- non-numeric 타입의 MIN/MAX 성능이 향ㅅ아됨
- 필터 조합 최적화가 이루어짐
- clickhouse-local에서 스레드 수를 감소함
- Nullable 타입의 multiIf 함수 성능이 향ㅅ아됨
- JEMALLOC 관련 시스템 명령어 추가로 성능 및 메모리 관리가 개선됨
- S3로 백업 시 메모리 소비를 감소함
Experimental Feature
- -
Improvement
- 시스템 테이블의 모든 컬럼에 간략한 설명이 추가됨
- PASTE JOIN에 대해 서브쿼리의 별칭 없이 쿼리를 수행할 수 있도록 함
- macOS에서 MySQL/MariaDB 통합이 활성화됨
- max_rows_in_set_to_optimize_join 설정이 기본적으로 비활성화됨
- <host_name> 설정이 추가되어 ON CLSUTER DDL 쿼리와 복제된 DB 엔진에서 호스트 이름을 해석하는 것을 피할 수 있도록 함
- 파일 시스템 캐시에 대한 load_metadata_threads를 16으로 증가시킴
- 병합/변이(merge, mutation) 제한 기능을 추가함
- system.server_settings 테이블의 is_hot_reloadable 컬럼을 changeable_without_restart 컬럼으로 교체함
- 클러스터 발견 시 사용자 이름과 비밀번호 설정을 지원함
- ALTER TABLE ... PART에 쿼리 파라미터를 지원함
- Kafka 테이블의 소비자 동적 생성 및 관리를 지원함
- sparkBar를 sparkbar의 별칭으로 추가함
- GCS 업로드 후 ComposeObject 요청을 방지함
- 설정 XML에서 점(.)이 포함된 키의 처리를 개선함
- 상수 인자에 대한 format 함수의 반환값을 최적화함
- 실행 시간 추정을 위한 max_estimated_execution_time 설정을 추가함
- 잘못된 DB 엔진 이름 사용 시 힌트를 제공함
- Arrow 딕셔너리의 인덱스 타입 제어를 위한 설정을 추가함
- CLICKHOUSE_PASSWORD_FILE 환경 변수를 지원함
- Paste join에 필요한 스트림 수를 조정함
- INVALID_IDENTIFIER 오류 메시지를 개선함
- signed numeric literals의 처리를 개선함
- MySQL용 Point 데이터 타입을 지원함
- Float32 컬럼과 문자열 비교를 최적화함
- S3 호환성 개선 및 ECloud EOS 스토리지 지원을 추가함
- 백업/복원 작업 취소를 위한 KILL QUERY를 지원함
- Avro 포맷의 ZSTD 코덱을 지원함
- MySQL 인터페이스의 타임아웃 설정 지원을 강화함
- 동일한 이름의 딕셔너리와 테이블 생성 충돌 시 예외 메시지를 개선함
- 사용자 지정 디스크 생성 시 파일 시스템 캐시 경로 설정을 강화함
- MySQL 인터페이스가 SHOW WARNINGS/SHOW COUNT() WARNINGS 쿼리를 지원함
- 병렬 분산 INSERT SELECT 실행 시 사용할 수 없는 복제본을 건너뜀
- JSON 구조화된 로그 포맷팅에서 로그 레벨 표시를 개선함
- MySQL 인터페이스의 CAST(x AS SIGNED) 및 CAT(x AS UNSIGNED) 문을 지원함
- Docker 컨테이너 내 데이터 경로로 작업 디렉토리를 변경함
- Azure Blob Storage에 대한 최대 재시도 설정을 추가함
- 손상된 데이터 레이크 테이블로 서버 시작을 허용함
- Iceberg 테이블 엔진의 스키마 진화 무시 설젇ㅇ을 추가함
- 읽기 전용 및 한 번 쓰기 스토리지에 대한 변경 작업을 금지함
- _block_number 컬럼 관련 버그를 수정함
- Play UI에서 JSON 내 예외 처리를 개선함
- /biary HTTP 핸들러에서 사용자, 호스트, 비밀번호 지정을 지원함
- 압축된 인메모리 테이블에 대한 백업을 지원함
- BACKUP 및 RESTORE 쿼리에서 FORMAT 절을 지원함
- concatWithSeparator 함수에서 임의의 인수 타입을 지원함
Build/Testing/Packaging Improvement
- -
Bug Fix
- insert 시 aggregate_functions_null_for_empty 설정과 관련된 버그를 수정함
- 오래된 프로필 UUID로 인한 잠재적 예외를 수정함
- StreamingFormatExector에서 읽기 버퍼 작업을 수정함
- 삭제된 대상 테이블이 있는 mv를 무시하는 처리를 추가함
- ALTER_METADATA와 MERGE_PARTS 사이의 가능한 경쟁 조건을 제거함
- rollup을 사용한 group by에서 표현식 순서 버그를 수정함
- "zero-copy" 복제 기능에 대한 수정함
- user_files_path에서 심볼릭 링크 작업을 허용함
- graphite 테이블에 집계 함수가 없을 때의 충돌을 수정함
- StorageKafka에서의 지연된 읽기를 통해 mv에서 다중 읽기를 허용함
- 겹치는 파트의 문제를 수정함
- LIMIT만 있는 쿼리에서 MergeTreePrefetchedReadPool을 비활성화함
- 복원 중에 일반 DB를 활성화함
- Apache Hive의 ORC/Parquet 등을 위한 쓰레드풀 읽기를 수정함
- system.backup_log의 base_backup_name 컬럼에서 자격 증명을 숨김
- 밀리초 및 마이크로초 값의 toStartOfInterval 라운딩을 수정함
- ConcurrentHashJoin에서 max_joined_block_rows를 비활성화함
- 오래된 분석기에서 nullable을 사용하는 조인을 수정함
- makeDateTime64 함수에서 비상수 분수 인수를 허용함
- 인라인 프레임 심볼화 중 NULL 참조 가능성을 수정함
- 사용자 또는 역할 변경 시 쿼리 캐시 항목의 격리를 개선함
- 프로젝션 최적화 시 파티션 키 분석 오류를 수정함
- 쿼리 캐시에 대한 사용자별 할당량 버그를 수정함
- 병렬 창 함수에서 스트림 분할 문제를 수정함
- addBatchLoopupTable8에서 예외 발생 시 이중 파괴 호출을 수정함
- 종료 중인 Keeper에서 요청 처리를 금지함
- SlabPolygonIndex::find에서 NULL 포인터 참조 문제를 수정함
- LowCardinality(Nullable) 컬럼에 대한 JSONExtarct 함수를 수정함
- 대량의 테이블 생성 및 삭제로 인한 메모리 사용량 증가 문제를 수정함
- mv에서 파일 로그 저장소의 다중 읽기를 지원함
- S3에 대한 액세스 키 ID 접근을 제한함
- clickhouse-local에서 제안 로딩 중에 충돌을 수정함
- indexHint 사용 시 충돌을 수정함
- 서버 재시작 시 StorageURL이 헤더를 누락하는 버그가 수정됨
- 분석기에서 삽입 블록으로 스토리지 교체를 수정함
- ReadBufferFromZipArchive에서의 탐색(seek)를 수정함
- 실험적인 역인덱스에 대한 수정이 이루어짐
- query_factories_info에 대한 데이터 경쟁을 수정함
- "Too many redirects" 오류 재시도를 비활성화함
- 시작되지 않은 DB를 종료할 때 발생할 수 있는 교착상태를 수정함
- 분산 쿼리에서의 limit by 및 limit 처리를 수정함
- nullable timezone을 가진 toString 함수 사용 시 충돌을 수정함
- Iceberg 메타데이터의 잘못된 파일 경로 처리를 수정함
- Rust 타겟 선택 시 아키텍처 이름을 수정함
- system.tables에서 서브쿼리를 사용한 쿼리 실행 시 "not-ready set"에 관한 논리적 오류를 수정함
참고
- clickhouse change log doc_001
2024 Changelog | ClickHouse Docs
728x90
반응형
'CDBMS > Clickhouse' 카테고리의 다른 글
[Clickhouse] Ver. 23.12 Release note 요약 (0) | 2024.05.27 |
---|---|
[Clickhouse] Ver. 23.11 Release note 요약 (0) | 2024.05.26 |
[Clickhouse] Ver. 23.10 Release note 요약 (0) | 2024.05.25 |
[Clickhouse] Ver. 23.9 Release note 요약 (0) | 2024.05.24 |
[Clickhouse] Ver. 23.8 Release note 요약 (0) | 2024.05.23 |