릴리스 355
릴리스 355 (2021년 4월 8일)
이번 릴리스에서는 쿼리 완료 이벤트에 테이블·컬럼 정보가 강화됐고, 컬럼 기반·코스트 기반 최적화 우선순위가 정리됐어요. 여러 커넥터 개선도 함께 담겼어요.
출처: Trino 릴리스 355 문서
본문
일반 (General)
QueryCompletedEvent에 쿼리가 직접 참조하는 테이블을 보고해요. (#7330)QueryCompletedEvent에INSERT나UPDATE쿼리의 대상 컬럼을 보고해요. 여기에는 어떤 입력 컬럼에서 파생됐는지 정보도 포함돼요. (#7425, #7465)optimizer.plan-with-table-node-partitioning구성값을optimizer.use-table-scan-node-partitioning으로 이름을 바꿨어요. (#7257)- 테이블 버켓 수가 노드 수에 비해 적을 때 쿼리 병렬성을 개선했어요. 테이블 버켓과 가능한 테이블 스캔 태스크 수의 비율이
optimizer.table-scan-node-partitioning-min-bucket-to-task-ratio이상이 되면 이 최적화가 자동으로 실행돼요. (#7257) - EXPLAIN ANALYZE에 디스크 스필 정보를 포함했어요. (#7427)
- 행 필터(row filters)가 있는 테이블로 데이터를 삽입하는 것을 금지했어요. (#7346)
- 코스트 기반 최적화와 조인 프러시다운을 모두 활용할 수 있는 쿼리에서 코스트 기반 최적화에 우선권을 줘 성능을 개선했어요. (#7331)
timestamp(p)타입 값에 대한to_unixtime()동작이 일관되지 않던 문제를 고쳤어요. (#7450)from_unixtime()과from_unixtime_nanos()의 반환 타입을timestamp(p) with time zone으로 바꿨어요. (#7460)
보안 (Security)
- 여러 비밀번호 인증 플러그인을 구성하는 것을 지원해요. (#7151)
JDBC 드라이버
DatabaseMetaData메서드 호출에서 스키마·테이블 이름을 제대로 이스케이프하지 않는 애플리케이션의 우회책으로assumeLiteralNamesInMetadataCallsForNonConformingClients매개변수를 추가했어요. (#7438)
ClickHouse 커넥터
- MergeTree 스토리지 엔진으로 테이블을 만드는 것을 지원해요. (#7135)
Hive 커넥터
LATERAL VIEW json_tuple(...) AS ...구문을 포함한 Hive 뷰를 지원해요. (#7242)- 배열 첨자 연산자를 쓰는 Hive 뷰를 읽을 때 결과가 잘못 나오던 문제를 고쳤어요. (#7271)
$file_modified_time숨은 컬럼을 조회할 때 결과가 잘못 나오던 문제를 고쳤어요. (#7511)
Phoenix 커넥터
- 쿼리 분석 중 테이블 메타데이터를 가져올 때 성능을 개선했어요. (#6975)
- 계산을 하부 데이터베이스로 프러시다운할 수 있는
ORDER BY ... LIMIT절이 있는 쿼리의 성능을 개선했어요. (#7490)
SQL Server 커넥터
- 쿼리 분석 중 테이블 메타데이터를 가져올 때 성능을 개선했어요. (#6975)
SPI
- 엔진이 이제
ConnectorMaterializedViewDefinition#storageTable로 구체화된 뷰의 스토리지 테이블을 결정해요. (#7319)