본문 바로가기
CDBMS/Clickhouse

[Clickhouse] Ver. 22.12 Release note 요약

by 연습장이 2024. 5. 3.
728x90
반응형

목적

  • upgrade에 따른 데이터 정합성, 성능 간 이슈 등을 사전에 체크하여 장애 발생을 방지
  • 지속적으로 dbms 생명주기를 관리하여 신기술에 대한 인지 및 도입 방안 마련

 

읽기 전에

  • 아래 내용은 Release note 내용 중 필요하다고 판단되는 부분 위주로 정리함
  • 버전의 A.B 에서 A는 년(ex_ 20의 경우 2020년)을 의미하며 B는 월(ex_ 6의 경우 6월)을 의미함. 즉, 버전에서 Release date를 유추할 수 있음
  • 중복된 내용의 경우 가장 낮은 버전(이전 버전)에서 최초 기입하며 이후 중복 기입하지 않음

 

Upgrade Notes

  • Ver. 22.12
    • -

 

Backward Incompatible Change

  • Ver. 22.12
    • 문자열 인자를 사용한 min, max, any*, argMin, argMax 집계 함수에 대한 직렬화(비직렬화)의 비호환성 문제가 해결됨
      • 이 비호환성 문제는 22.9, 22.10, 22.11에 영향을 끼침. 하지만 22.9.6, 22.10.4, 22.11.2부터 고쳐짐
      • 22.3, 22.7, 22.8 또한 영향을 끼치며 22.3.15, 22.8.10부터 고쳐짐

 

New Feature

  • Ver. 22.12
    • BSONEachRow 입력/출력 포맷이 추가됨
    • grace_hash 조인 알고리즘이 추가됨. 이는 SET join_algorithm = 'grace_hash' 로 동작함
    • 암호 복잡성 구성을 설정할 수 있게 되었고 계정을 생성하거나 변경할 때 체크함
    • 로그 내 민감정보를 마스킹함. 에를 들어 SHOW CREATE TABLE과 SELECT FROM system.tables 쿼리에 대한 내용으로 비밀스런 부분을 마스킹
    • GROUP BY ALL 문법이 추가됨
    • FROM table SELECT column 문법이 추가됨
    • 현재 이동중인 part의 목록이 포함된 system.moves 테이블이 추가됨
    • 클릭하우스 키퍼에 대한 내장된 프로메테우스 endpoint 지원이 추가됨
    • system.data_skipping_indices 테이블 내 인덱스의 ㅍ현에 대한 컬럼이 추가됨

 

Bug Fix

  • Ver. 22.12
    • 비동기 삽입이 진행되는 동안 데드락이 발생할 수 있는 버그가 수정됨
    • if/multiIf 함수에 대해 "Cannot create non-empty column with type Nothing" 에러가 발생할 수 있는 버그가 수정됨
    • 쿼리에 DISTINCT, LIMIT BY, LIMIT이 사용되었을 때 예상했던 것보다 적은 행이 반환되는 버그가 수정됨
    • 다른 중첩 레벨이지만 같은 키 이름으로 쓰인 배열에 대한 JSON 타입을 파싱하는 동안 "Array sizes mismatched" 에러가 발생하는 버그가 수정됨
    • 집계 키 간 ALIAS 컬럼이 사용된 분산 GROUP BY 구문의 예외가 발생할 수 있는 버그가 수정됨
    • HAVING 구문을 사용하였지만 실제적인 집계를 포함하지 않는 서브쿼리에 대한 예외가 발생할 수 있는 버그가 수정됨

 

Improvement

  • Ver. 22.12
    • 진행 바가 읽어진/쓰여진 행에 대해 보여지게 변경됨
    • 설정 파일 내 query_masking_rules를 통해 민감 정보의 제거가 허용됨
    • 쿼리로부터의 분산 비동기 삽입에 대한 연결 timeout 설정이 적용됨
    • clickhouse-client에서 보다 정확하고 반응적인 cpu 부하 표시가 됨
    • system.parts 테이블에 table_uuid 컬럼이 추가됨
    • trace_type = 'ProfileEvent' 일 경우 system.trace-log에 프로파일 이벤트를 모으는 것이 허용됨

 

Performance Improvement

  • Ver. 22.12
    • max_streams_for_merege_tree-reading, allow_asynchronous-read_from_io_pool_for_merge_tree 설정이 추가됨
    • MergeTree 테이블에 대한 읽기 sterams의 수를 제한하는 max_streams_for_merge_tree_reading 설정이 추가됨
    • 병합할 part를 고를 때 주키퍼 혹은 클릭하우스 키퍼로의 요청 목록의 수를 최적화함
    • 낡은 data part의 정리를 피함으로써 서버 셧다운 속도가 개선됨

 

Experimental Feature

  • Ver. 22.12
    • 비동기 삽입에 대한 중복 제거가 지원됨

 

Build/Testing/Packaging Improvement

  • Ver. 22.12
    • -

 

참고

728x90
반응형