릴리스 407

릴리스 407 (2023년 2월 16일)

이번 릴리스에서는 단일 행 VALUES 절의 상관 쿼리 지원과 대형 클러스터 동시성 개선이 눈에 띄어요.

출처: Trino 릴리스 407 문서

본문

일반 (General)

  • 단일 행을 가진 VALUES 절이 포함된 상관 쿼리를 지원해요. (#15989)
  • 큰 스키마의 메모리 사용량을 줄였어요. query.remote-task.enable-adaptive-request-size 구성값으로 켜고 query.remote-task.max-request-size, query.remote-task.request-size-headroom, query.remote-task.guaranteed-splits-per-task 구성값(및 각 세션 속성)으로 구성할 수 있어요. (#15721)
  • 분산 조인·집계에 쓸 노드 수를 자동 결정해 대형 클러스터에서 작은 동시 쿼리를 실행할 때 동시성을 개선했어요. query.max-hash-partition-count(query.hash-partition-count에서 이름 변경)와 query.min-hash-partition-count 구성값으로 관리할 수 있어요. (#15489)
  • 쿼리 메모리 추적을 개선했어요. (#15983)
  • 동적 필터가 있는 쿼리의 메모리 사용량 회계를 개선했어요. (#16110)
  • 조건이 null 값으로 평가될 때 쿼리 성능을 개선했어요. (#15744)
  • 전역 집계 출력에 조인하는 쿼리의 성능을 개선했어요. (#15858)
  • 선별적 쿼리, 적은 수의 컬럼을 읽는 쿼리, 큰 Parquet 행 그룹·ORC 스트라이프가 있는 테이블을 처리하는 쿼리의 성능을 개선했어요. (#15579)
  • 윈도우 함수가 있는 쿼리의 성능을 개선했어요. (#15994)
  • Trino가 시작 중 크래시할 때 종료 코드 100을 반환하도록 했어요. (#16113)
  • 정밀도가 3보다 높은 time 값과 낮은 정밀도의 time with time zone 값을 변환할 때 발생하던 정밀도 손실을 고쳤어요. (#15861)
  • 쿼리가 실패하는 대신 정상 완료로 보고해 발생할 수 있는 잘못된 결과를 고쳤어요. (#15917)
  • 재사용 가능한 연결이 닫혀 발생하던 연결 오류를 고쳤어요. (#16121)
  • JOIN의 한 분기에서 SELECT 절의 항과 같은 WHERE 절의 등식 조건을 포함한 쿼리의 잘못된 결과를 고쳤어요. (#16101)

Cassandra 커넥터

  • 전체 쿼리를 커넥터로 통과시키는 query 테이블 함수를 추가했어요. (#15973)

Delta Lake 커넥터

  • unregister_table 프로시저 지원을 추가했어요. (#15784)
  • CHECK 제약 조건이 있는 테이블로의 삽입을 지원해요. (#15396)
  • 변경 데이터 피드(change data feed)에 쓰는 것을 지원해요. delta.enableChangeDataFeed 테이블 속성으로 켤 수 있어요. (#15453)
  • Delta Lake 테이블 히스토리를 조회할 수 있는 $history 시스템 테이블을 추가했어요. (#15683)
  • Parquet 파일에서 소수 타입 읽기 성능을 개선했어요. (#15713)
  • Parquet 파일에서 숫자 타입 읽기 성능을 개선했어요. (#15850)
  • Parquet 파일에서 문자열 타입 읽기 성능을 개선했어요. (#15897, #15923)
  • Parquet 파일에서 타임스탬프·부울 타입 읽기 성능을 개선했어요. (#15954)
  • Trino가 CREATE TABLE AS로 만든 테이블의 쿼리 성능을 개선했어요. (#15878)
  • 레거시 Parquet 라이터 지원을 제거했어요. (#15436)
  • Apache Impala가 쓴 Parquet 파일을 읽을 때 쿼리가 실패하던 문제를 고쳤어요. (#15942)
  • Glue 테이블에 테이블 타입이 설정돼 있지 않을 때 관계 나열이 실패하던 문제를 고쳤어요. (#15909)

Hive 커넥터

  • 쿼리 지연 시간을 줄였어요. (#15811)
  • Parquet 파일에서 소수 타입 읽기 성능을 개선했어요. (#15713)
  • Parquet 파일에서 숫자 타입 읽기 성능을 개선했어요. (#15850)
  • Parquet 파일에서 문자열 타입 읽기 성능을 개선했어요. (#15897, #15923)
  • Parquet 파일에서 타임스탬프·부울 타입 읽기 성능을 개선했어요. (#15954)
  • 파티션 수가 많은 테이블의 파티션 컬럼으로의 조건 프러시다운 성능을 개선했어요. (#16113)
  • 높은 부하 상황의 서버 오류를 줄였어요. hive.s3.connect-ttl 구성값으로 켤 수 있어요. (#16005)
  • hive.max-partitions-per-scan 구성값을 hive.max-partitions-for-eager-load에 설정된 값보다 낮게 설정할 수 있게 했어요. (#16111)
  • Apache Impala가 쓴 Parquet 파일을 읽을 때 쿼리가 실패하던 문제를 고쳤어요. (#15942)
  • Glue 테이블에 테이블 타입이 설정돼 있지 않을 때 관계 나열이 실패하던 문제를 고쳤어요. (#15909)

Hudi 커넥터

  • Parquet 파일에서 소수 타입 읽기 성능을 개선했어요. (#15713)
  • Parquet 파일에서 숫자 타입 읽기 성능을 개선했어요. (#15850)
  • Parquet 파일에서 문자열 타입 읽기 성능을 개선했어요. (#15897, #15923)
  • Parquet 파일에서 타임스탬프·부울 타입 읽기 성능을 개선했어요. (#15954)
  • Apache Impala가 쓴 Parquet 파일을 읽을 때 쿼리가 실패하던 문제를 고쳤어요. (#15942)

Iceberg 커넥터

  • unregister_table 프로시저 지원을 추가했어요. (#15784)
  • JDBC 카탈로그에서 register_table 프로시저를 지원해요. (#15853)
  • iceberg.jdbc-catalog.connection-user·iceberg.jdbc-catalog.connection-password 구성값으로 JDBC 카탈로그에 연결할 때 사용자·비밀번호를 지정하는 것을 지원해요. (#16040)
  • 매니페스트 비동기 컴팩팅을 지원해요. iceberg.merge_manifests_on_write 세션 속성을 false로 설정하면 켜져요. (#14822)
  • DROP TABLE 성능을 개선했어요. (#15981)
  • ORC 데이터가 있는 위치 삭제 파일(position delete files) 읽기 성능을 개선했어요. (#15969)
  • Parquet 파일에서 소수 컬럼 읽기 성능을 개선했어요. (#15713)
  • Parquet 파일에서 숫자 타입 읽기 성능을 개선했어요. (#15850)
  • Parquet 파일에서 문자열 타입 읽기 성능을 개선했어요. (#15897, #15923)
  • Parquet 파일에서 타임스탬프·부울 타입 읽기 성능을 개선했어요. (#15954)
  • 지정된 스키마가 존재하지 않을 때 테이블을 만들지 못하게 했어요. (#15779)
  • Apache Impala가 쓴 Parquet 파일을 읽을 때 쿼리가 실패하던 문제를 고쳤어요. (#15942)
  • Glue 테이블에 테이블 타입이 설정돼 있지 않을 때 관계 나열이 실패하던 문제를 고쳤어요. (#15909)
  • Glue metastore에서 구체화된 뷰를 나열할 때 접근 거부 예외를 만나면 실패하던 문제를 고쳤어요. (#15893)

Kudu 커넥터

  • Kerberos 티켓이 만료될 때 인증 실패가 나던 문제를 고쳤어요. (#14372)

Memory 커넥터

  • 동시 CREATE TABLE·DROP TABLE 작업과 함께 테이블 컬럼 메타데이터를 읽을 때 발생할 수 있는 실패를 고쳤어요. (#16062)

MongoDB 커넥터

  • 컬럼 타입 변경 지원을 추가했어요. (#15515)

MySQL 커넥터

  • zeroDateTimeBehaviorconvertToNull로 설정됐을 때 발생할 수 있는 실패를 고쳤어요. (#16027)

더 알아보기 (Learn more)