본문 바로가기
CDBMS/Clickhouse

[Clickhouse] Ver. 22.7 Release note 요약

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

목적

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

 

읽기 전에

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

 

Upgrade Notes

  • Ver. 22.7
    • enable_positional_arguments 파라미터가 기본적으로 활성화됨. 이 것은 SELECT ... ORDER BY 1, 2과 같은 쿼리에서 1, 2가 select 절의 컬럼을 참조함을 의미함
    • Ordinary database 엔진의 지원이 만료됨. 이제 Ordinary 엔진으로 신규 데이터베이스를 생성할 수 없으며 system 데이터베이스가 Ordinary 엔진일 경우 서버 시작과 함께 Atomic 엔진으로 자동 변환됨

 

Backward Incompatible Change

  • Ver. 22.7
    • -

 

New Feature

  • Ver. 22.7
    • full sorting merge join 알고리즘이 추가됨
    • mongodb 테이블 함수가 추가됨. 이 것은 MongDB 스토리지나 테이블 함수에 쓰기할 수 있음
    • additional_tatble_filters 파라미터가 추가됨. 이 파라미터를 사용함으로써 테이블의 결과 행수에 한번 더 필터를 할 수 있음. 예시는 아래와 같음
      select number, x, y from (select number from system.numbers limit 5) f any left join (select x, y from table_1) s on f.number = s.x settings additional_table_filters={'system.numbers : 'number != 3', 'table_1' : 'x != 2'}
    • 호환성 설정과 system.settings_changes 시스템 테이블이 추가됨. 이 것은 클릭하우스 버전을 통한 설정의 변경 정보를 포함함
    • ROLLUP, CUBE, GROUPING SETS의 경우 널 허용 컬럼에 대하여 집계 키로 사용할 수 있도록 group_by_use_nulls 파라미터가 추가됨
    • data export 시 압축 레벨을 명시할 수 있는 기능이 추가됨
    • system 데이터베이스 조회에 대한 명시적인 권한 부여가 요구되도록 하는 기능이 추가됨
    • isNullable 함수가 추가됨

 

Bug Fix

  • Ver. 22.7
    • ON CLUSTER 명령어와 함께 GRANT ALL ON . 수행 시 충돌이 발생하는 버그가 수정됨
    • 널 허용 파티션 키가 있을 경우 부정확한 파티션 pruning이 발생하는 버그가 수정됨
    • extremes = 1이고 attache된 MATERIALIZED VIEW에 삽입 시 "Block structure mismatch" 에러가 발생하는 버그가 수정됨
    • 서브쿼리의 select 절에 중복된 컬럼이 잘못된 결과를 야기할 경우 UNION의 서브쿼리에 컬럼 순서가 부정확한 버그가 수정됨
    • 컬럼 명에 .이 포함될 경우 MODIFY ALTER column이 잘못 동작하는 버그가 수정됨
    • DISTINCT와 LIMIT 명령어를 포함한 분산 쿼리의 잘못된 결과가 발생할 수 있는 버그가 수정됨

 

Improvement

  • Ver. 22.7
    • SQL 표준인 CREATE INDEX, DROP INDEX 문법이 추가됨
    • store/ 내 하위폴더의 백그라운드 cleanup이 추가됨
    • 설정으로부터 캐시 설정을 볼 수 있는 DESCRIBE CACHE 쿼리가 추가됨. 사용가능한 파일시스템 캐시 목록을 볼 수 있는 SHOW CACHES 쿼리가 추가됨
    • EXPLAIN AST에 rewrite 옵션이 추가됨
    • system.part_log 시스템 테이블에 merge_algorithm 컬럼이 추가됨

 

Performance Improvement

  • Ver. 22.7
    • FINAL 명령어가 포함된 쿼리의 더 많은 병렬 수행이 가능해짐
    • 집계후에 실행된 쿼리 플랜의 병렬도가 증가함
    • JSON 타입 컬럼에 대한 삽입 성능이 개선됨
    • ORDER BY (a, b)가 ORDER BY a, b와 같은 효과를 가지게 됨
    • 모든 컬럼이 선택되지 않았다면 system.stack_trace 시스템 테이블에 대한 접근이 최적화됨

 

Experimental Feature

  • Ver. 22.7
    • -

 

Build/Testing/Packaging Improvement

  • Ver. 22.7
    • -

 

참고

728x90
반응형