릴리스 355

릴리스 355 (2021년 4월 8일)

이번 릴리스에서는 쿼리 완료 이벤트에 테이블·컬럼 정보가 강화됐고, 컬럼 기반·코스트 기반 최적화 우선순위가 정리됐어요. 여러 커넥터 개선도 함께 담겼어요.

출처: Trino 릴리스 355 문서

본문

일반 (General)

  • QueryCompletedEvent에 쿼리가 직접 참조하는 테이블을 보고해요. (#7330)
  • QueryCompletedEventINSERTUPDATE 쿼리의 대상 컬럼을 보고해요. 여기에는 어떤 입력 컬럼에서 파생됐는지 정보도 포함돼요. (#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)

더 알아보기 (Learn more)