릴리스 376
릴리스 376 (2022년 4월 7일)
이번 릴리스에서는 테이블 RENAME 리다이렉션 인지, 누락 null 함수 의미론 통일, 그리고 여러 커넥터의 기능 확장이 핵심이에요.
출처: Trino 릴리스 376 문서
본문
일반 (General)
RENAME table작업에 테이블 리다이렉션 인지(redirection awareness)를 추가했어요. (#11277)- 커넥터가 이 기능을 지원하지 않으면 주석과 함께 컬럼을 추가하는 것을 거부하도록 했어요. (#11486)
- 부등식 표현식이 포함된 쿼리의 성능을 개선했어요. (#11518)
array_except,array_union,map_concat,map_from_entries,multimap_from_entries,multimap_agg함수에서 null 값을 동일한 값으로 간주하도록 했어요. (#560)- 입력 데이터가 사전 인코딩(dictionary encoded)일 때
DISTINCT .. LIMIT연산자의 실패를 고쳤어요. (#11776) - 입력 데이터가 사전 인코딩일 때 distinct 집계의 잘못된 결과 반환을 고쳤어요. (#11776)
- 인덱스 조회를 지원하는 커넥터와 조인을 수행할 때 쿼리가 실패하던 문제를 고쳤어요. (#11758)
retry-policy가TASK로 설정된 상태에서 실행되는 쿼리의 잘못된 스테이지 메모리 통계 보고를 고쳤어요. (#11801)
보안 (Security)
- LDAP 인증에서 양방향 TLS/SSL 인증서 검증을 지원해요. 또한
ldap.ssl-trust-certificate구성은ldap.ssl.truststore.path로 대체됐어요. (#11070) - 시스템 역할을 쓰는 카탈로그의 information schema 역할 테이블 오류를 고쳤어요. (#11694)
웹 UI (Web UI)
- 클러스터의 모든 워커 런타임 정보를 표시하는 새 페이지를 추가했어요. (#11653)
JDBC 드라이버
SSLUseSystemTrustStore매개변수로 시스템 truststore를 사용하는 것을 지원해요. (#10482)ResultSet.getAsciiStream()과ResultSet.getBinaryStream()을 지원해요. (#11753)user속성 요구를 제거했어요. (#11350)
CLI
--use-system-truststore옵션으로 시스템 truststore를 사용하는 것을 지원해요. (#10482)
Accumulo 커넥터
- 스키마 추가·삭제 지원을 추가했어요. (#11808)
- 존재하지 않는 스키마에서 테이블을 만드는 것을 금지했어요. (#11808)
ClickHouse 커넥터
- 새 테이블 생성 시 컬럼 주석을 지원해요. (#11606)
- 새 컬럼 추가 시 컬럼 주석을 지원해요. (#11606)
Delta Lake 커넥터
- 오류 허용 실행으로 Delta Lake 테이블의
INSERT,UPDATE,DELETE쿼리를 지원해요. (#11591) delta.dynamic-filtering.wait-timeout구성값으로 동적 필터링 완료 시간을 설정할 수 있게 했어요. (#11600)ALTER TABLE ... EXECUTE optimize후 항상 트랜잭션 로그 체크포인트를 만들어 쿼리 계획 시간을 개선했어요. (#11721)- 자동 커밋 모드가 꺼진 상태에서 Delta Lake 테이블 읽기를 지원해요. (#11792)
Hive 커넥터
- 실제 min·max 값이 64바이트를 초과해도 문자열 컬럼의 파일 min/max ORC 통계를 저장하도록 했어요. 이로써 그런 컬럼으로 필터링할 때 쿼리 성능이 개선돼요. (#11652)
- Parquet 데이터를 읽을 때 성능을 개선했어요. (#11675)
- 같은 테이블이 쿼리 안에서 여러 번 참조될 때 쿼리 성능을 개선했어요. (#11650)
Iceberg 커넥터
- Iceberg Glue 카탈로그를 쓸 때 뷰를 지원해요. (#11499)
- 삭제 파일(deleteion files)이 포함된 Iceberg v2 테이블 읽기를 지원해요. (#11642)
- Hive 커넥터로의 테이블 리다이렉션을 지원해요. (#11356)
- Hive 카탈로그에서 테이블을 나열할 때 비Iceberg 테이블을 포함하도록 했어요. (#11617)
$partitions메타데이터 테이블에nan_count를 노출했어요. (#10709)- 실제 min·max 값이 64바이트를 초과해도 문자열 컬럼의 파일 min/max ORC 통계를 저장하도록 했어요. 이로써 그런 컬럼으로 필터링할 때 쿼리 성능이 개선돼요. (#11652)
- Parquet 데이터를 읽을 때 성능을 개선했어요. (#11675)
- Iceberg 데이터 파일에 null 개수 통계가 없을 때 발생하던 NPE를 고쳤어요. (#11832)
Kudu 커넥터
- 주석과 함께 컬럼을 추가하는 것을 지원해요. (#11486)
MySQL 커넥터
- 계산을 MySQL 데이터베이스로 프러시다운해 조인이 포함된 쿼리의 성능을 개선했어요. (#11638)
Oracle 커넥터
- 집계 계산을 Oracle 데이터베이스로 프러시다운해 집계가 포함된 쿼리의 성능을 개선했어요. (#11657)
SPI
- 코디네이터에서만 실행되는 테이블 프로시저를 지원해요. (#11750)