본문 바로가기
CDBMS/Clickhouse

[Clickhouse] Ver. 22.6 Release note 요약

by 연습장이 2024. 4. 26.
728x90
반응형

목적

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

 

읽기 전에

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

 

Upgrade Notes

  • Ver. 22.6
    • -

 

Backward Incompatible Change

  • Ver. 22.6
    • SQL 내 8진수 글자에 대해 더이상 지원하지 않음. 이전 버전에서는 Float64로 파싱되었음
    • 부동 소수점을 지원하기 위해 파라미터 설정 시 초를 사용하는 설정이 파싱되는 방식이 변경됨. 예를 들어 max_execution_time=0.5이 가능함
    • SQL 표준에 따라 LIKE 패턴 내 후행에 탈출 문자('\')가 허용되지 않음

 

New Feature

  • Ver. 22.6
    • GROUPING 함수가 추가됨. 이 기능은 ROLLUP, CUBE, GROUPING SETS와 함께 사용하여 쿼리 내 레코드를 더욱 명확하게 할 수 있음
    • 부동 소수점 데이터 압축을 위한 FPC 알고리즘 코덱이 추가됨
    • 컬럼 기반 JSON 포맷인 JSONColumns, JSONCompatColumns, JSONColumnsWithMetadata가 추가됨
    • system.zookeeper 시스템 테이블에 삽입이 지원됨(해당 테이블에 삽입 연산이 가능하다는 건지?)
    • LIKE, ILIKE, match 함수에 상수 패턴이 아닌 인자가 지원됨
    • system.part_log 시스템 테이블에 merges_reason 컬럼이 추가됨
    • 가상 파일 시스템으로 설정된 클릭하우스에 대해 내부 검사와 운영을 위한 clickhouse-disks 툴이 추가됨
    • CSV/TSV 포맷에서 파일의 시작 라인 수를 스킵하기 위한 아래 파라미터가 추가됨
      • input_format_csv_skip_first_lines
      • input_format_tsv_skip_first_lines
    • 현재 서버의 SSL 인증서를 확인할 수 있는 showCertificate 함수가 추가됨
    • 해당 테이블 삭제 여부와 상관 없이 모든 백업을 삭제하는 SYSTEM UNFREEZE 쿼리가 추가됨

 

Bug Fix

  • Ver. 22.6
    • ORDER BY ... WITH FILL 기능의 비일관적인 결과가 발생하는 버그가 수정됨
    • 집계함수, prewhere, join에서 상수 문자열의 충돌로 인한 예기치 못한 에러가 발생하는 버그가 수정됨
    • async_socket_for_remote, use_hedged_requests 파라미터가 비활성화되었을 경우 분산 쿼리에 대해 "No more packets are available" 에러가 발생할 수 있는 버그가 수정됨

 

Improvement

  • Ver. 22.6
    • 클라이언트는 성공적으로 연결될 때까지, DNS resolution에 의해 반환된 모든 IP 주소에 시도함
    • 볼륨 내 디스크에 대한 로드 밸런싱 알고리즘으로 least_used가 구현됨
    • 유저는 부여된 역할에서 권한을 조사할 수 있음
    • mark_cache_size가 명시적으로 설정되지 않은 경우 서버 시작을 더이상 강제로 중단하지 않음
    • global_memory_usage_overcommit_ma_wait_microseconds 값이 기본적으로 5초로 설정됨
    • clickhouse-client에 -0.0 CPU time이 더이상 표시되지 않음. 이 것은 반올림 에러 때문이였음
    • system.part_log 시스템 테이블에 part_type 열이 추가됨
    • 연이은 merge 후에 TTL에 의한 만료된 컬럼의 쓰기가 더이상 되지 않음. 이전에는 처음에만 안되었고 이 후엔 계속 쓰기 작업이 가능 했음
    • 서버 시작 시 clickhouse-server는 delete_tmp 디렉토리를 제거함
    • 타임아웃 후 손상된 detached parts를 정리함

 

Performance Improvement

  • Ver. 22.6
    • 조건이 하나일 경우 multiIf가 If로 대체됨
    • 단일 컬럼에 대한 정렬 연산이 개선됨
    • LIMIT이 사용된 ORDER BY의 성능이 개선됨
    • ORDER BY에 여러 컬럼이 있을 경우 MergeTree의 삽입 성능이 개선됨
    • 테이블이 많이 있을 경우 백그라운드에서의 과도한 CPU 사용이 수정됨
    • 쿼리 당 최대 캐시 사용량을 제한하면 캐시 풀 낭비를 효율적으로 예방할 수 있음

 

Experimental Feature

  • Ver. 22.6
    • 윈도우 뷰에 대해 ALTER TABLE ... MODIFIY QUERY가 지원됨

 

Build/Testing/Packaging Improvement

  • Ver. 22.6
    • -

 

참고

728x90
반응형