Release 303

Release 303 (2019년 2월 13일)

Presto 303 릴리스예요. CHAR 패딩 오류와 윈도우 함수 성능 개선, grouped execution 확장 등이 담겼어요.

출처: Trino Release 303

본문

General

  • Unicode 보충 문자(supplementary characters)를 포함한 CHAR 값의 잘못된 패딩을 고쳤어요. 이전에는 그런 값이 공백을 너무 적게 채워 패딩됐어요(#195).
  • 테이블과 VALUES 문의 union이 단일 노드에서 실행되면서 OOM이 발생할 수 있던 문제를 고쳤어요(#207).
  • 모든 플러그인이 등록·초기화된 후에 시작 상태(started status)를 보고하도록 /v1/info를 고쳤어요(#213).
  • 네트워크상 불필요한 데이터 교환을 피해 윈도우 함수 성능을 개선했어요(#177).
  • join_distribution_type 세션 속성이 AUTOMATIC일 때, 세미 조인(semi joins)의 분포 타입을 비용 기반으로 선택하도록 했어요(#160).
  • grouped execution 지원을 윈도우 함수로 확장해, 더 낮은 피크 메모리로 실행할 수 있게 했어요(#169).

Web UI

  • 라이브 계획(live plan)에 추가 세부 정보를 넣고 렌더링을 개선했어요(#182).

CLI

  • 배치 모드에서 쿼리 진행 상황을 보여 주는 --progress 옵션을 추가했어요(#34).

Hive 커넥터

  • 선택된 컬럼이 없을 때 Parquet 데이터를 읽으면 쿼리가 실패하던 문제를 고쳤어요. SELECT count(*) 같은 쿼리에 영향을 주는 문제예요(#203).

Mongo 커넥터

  • ObjectId 타입에 대한 조인이나 집계가 포함된 쿼리의 실패를 고쳤어요(#215).

Base-JDBC 커넥터 라이브러리

  • 쿼리 조건자가 기본 데이터베이스로 push down되는 방식을 커스터마이즈할 수 있게 했어요(#109).
  • 기본 데이터베이스로 값이 기록되는 방식을 커스터마이즈할 수 있게 했어요(#109).

SPI

  • SchemaTablePrefix 클래스에서 더 이상 쓰이지 않는 getSchemaNamegetTableName 메서드를 제거했어요. 이들은 getSchemagetTable 메서드로 대체됐어요(#89).
  • ConnectorMetadata 클래스에서 더 이상 쓰이지 않는 listTableslistViews 메서드의 변형들을 제거했어요(#89).

더 알아보기 (Learn more)

grouped execution은 메모리를 아끼는 중요한 실행 모드예요. 이후 버전에서도 확장됐으니, 최신 Trino 쿼리 실행 문서를 함께 보는 걸 추천해요.