본문 바로가기
CDBMS/Clickhouse

[Clickhouse] Ver. 22.2 Release note 요약

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

목적

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

 

읽기 전에

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

 

Backward Incompatible Change

  • Ver. 22.2
    • -

 

New Feature

  • Ver. 22.2
    • Projection이 운영 단계 수준으로 준비됨
    • INSERT 문에 DEFAULT 키워드가 지원됨
    • CREATE TABLE 쿼리에 EPHEMERAL 컬럼 정의어가 추가됨
    • TTL expr TO [DISK|VOLUME] [IF EXISTS] 'xxx' 처럼 IF EXISTS 항목이 추가됨
    • 엔진을 명시하지 않고 기본 테이블 엔진을 지정하거나 생성할 수 있음
    • 설정 reload로 서버의 TLS 인증서의 동적 reload가 가능함
    • 해당 디스크의 일부가 훼손되었을 경우 ReplicatedMergeTree가 회복될 수 있음 
    • MySQL과의 호환성을 위해 DEGREES와 RADIANS 함수가 추가됨

 

Bug Fix

  • Ver. 22.2
    • small 타입의 integer 값이 반올림 되면 round/roundBankers의 값이 잘못되는 버그가 수정됨
    • Memory 엔진에 대한 데이터베이스에 SHOW CREATE DATABASE 쿼리 수행 시 잘못된 엔진 문법이 반환되는 버그가 수정됨
    • 주키퍼 연결이 끊어진 후 아주 드물게 "intersecting parts" 에러가 반환되는 사소한 경쟁 상태가 발생하는 버그가 수정됨
    • 중첩된 tuple을 읽는 동안 충돌이 발생하는 버그가 수정됨
    • UDF가 아무런 식별자 인자도 없이 람다 표현식으로 생성되면 충돌이 발생하는 버그가 수정됨
    • replica가 실제로 읽기전용일 때 SYSTEM RESOTRE REPLICA 쿼리 시 "replica is not readonly"라는 논리적 에러가 수정됨
    • clickhouse-keeper가 압축을 사용할때(기본값임) 메모리 누수가 발생하는 버그가 수정됨

 

Improvement

  • Ver. 22.2
    • lined data가 있는 쿼리에 대한 clickhouse-client 내 비동기 삽입이 지원됨
    • CREATE/ALTER/DROP ROW POLICY 권한이 이제 테이블에 혹은 database.* 혹은 . 에 부여될 수 있음
    • 로그 내 "Canceeld mergeing parts" 메시지의 심각도를 변경함. 이 것은 에러가 아님
    • ON CLUSTER 항목에 대한 모든 타입의 SYSTEM 쿼리가 지원됨
    • Decimal과 Float 타입 간 이진 연산(plus, minus, multiply, division, least, greatest)이 가능함
    • clickhouse-keeper에 대하여 min_session_timeout_ms 파라미터가 추가됨. 이제 clickhouse-keeper는 클라이언트 세션 타임아웃을 min_session_timeout_ms, session_timeout_ms에 따라 결정함
    • hex, bin 함수에 대한 UUID 타입이 지원됨

 

Performance Improvement

  • Ver. 22.2
    • 만약 정렬키의 앞부분이 이미 정렬되었다면 optimize_read_in_order 파라미터가 지원됨. 예를 들어 ORDER BY (a, b)이고 where절에 a = const ORDER BY b 항목이 있는 경우임
    • data part의 적재 성능이 개선됨. 이 전에는 병렬로 동작하지 않았음. part_loading_threads 파라미터는 관련 없음
    • Regexp 형식의 성능이 약간 개선됨
    • 스칼라 서브쿼리의 분석에 대한 성능이 약간 개선됨
    • ORDER BY columns 만큼 ORDER BY tuple도 빨라짐

 

Experimental Feature

  • Ver. 22.2
    • MemoryTracker에 메모리 오버커밋이 추가됨. soft 메모리 제한을 보여주는 guaranteed 파라미터가 추가됨. 이 경우 hard 메모리 제한에 도달하면 MemoryRacker는 가장 많이 오버커밋한 쿼리를 취소함

 

Build/Testing/Packaging Improvement

  • Ver. 22.2
    • -

 

  •  

참고

728x90
반응형