Release 321

Release 321 (2019년 10월 15일)

Presto 321 릴리스예요. 브로드캐스트 조인의 동적 필터링, 버킷팅 버전 2 읽기·쓰기, AWS Glue 메타스토어 회귀 수정 등이 담겼어요. 다만 이 릴리스의 서버 RPM은 깨져 있어요.

출처: Trino Release 321

본문

⚠️ 경고: 이 릴리스의 서버 RPM은 깨져 있습니다.

General

  • tinyint, smallint, integer, bigint 타입에 음수 소수 자릿수(decimal places)를 적용했을 때 round()의 잘못된 결과를 고쳤어요(#42).
  • information_schema 테이블 위에 LIMIT이 있는 쿼리 성능을 개선했어요(#1543).
  • 동적 필터링을 사용해 브로드캐스트 조인 성능을 개선했어요. experimental.enable-dynamic-filtering 설정 옵션이나 enable_dynamic_filtering 세션 속성으로 활성화할 수 있어요(#1686).

Security

  • 일회용 토큰(one-time tokens)으로 쿼리 결과의 보안을 개선했어요(#1654).

Hive 커넥터

  • Hive 3.0 이전 버전이 설정한 TEXT 파일 컬렉션 구분자 집합을 읽는 문제를 고쳤어요(#1714).
  • Presto가 AWS Glue 메타스토어를 사용하지 못하게 하던 회귀를 고쳤어요(#1698).
  • skip_header_line_countskip_footer_line_count 테이블 속성으로 CSV 형식 테이블의 헤더·푸터 줄을 건너뛸 수 있게 했어요(#1090).
  • 테이블 속성 textfile_skip_header_line_countskip_header_line_count로, textfile_skip_footer_line_countskip_footer_line_count로 이름을 바꿨어요(#1090).
  • LZOP 압축(.lzo) 파일 지원을 추가했어요. 이전에는 모든 파일이 작지 않으면 LZOP 압축 파일에 접근하는 쿼리가 실패했어요(#1701).
  • 버킷팅 버전 2를 사용하는 테이블의 버킷 인식 읽기(bucket-aware read) 지원을 추가했어요(#538).
  • 버킷팅 버전 2를 사용하는 테이블에 대한 쓰기 지원을 추가했어요(#538).
  • 모든 테이블이나 스키마에 대한 디렉터리 목록 캐싱을 허용하게 됐어요(#1668).
  • 브로드캐스트 조인에 대한 동적 필터링 지원을 추가했어요(#1686).

PostgreSQL 커넥터

  • PostgreSQL 배열을 JSON 데이터 타입으로 읽는 것을 지원하게 됐어요. postgresql.experimental.array-mapping 설정 속성이나 array_mapping 카탈로그 세션 속성을 AS_JSON으로 설정하면 활성화돼요(#682).

Elasticsearch 커넥터

  • Amazon Elasticsearch Service 지원을 추가했어요(#1693).

Cassandra 커넥터

  • TLS 지원을 추가했어요(#1680).

JMX 커넥터

  • 히스토리 테이블 설정에서 와일드카드 지원을 추가했어요(#1572).

SPI

  • QueryStatistics.getWallTime()이 총 스케줄 시간이 아니라 경과 시간(elapsed time)을 보고하도록 고쳤어요(#1719).

더 알아보기 (Learn more)

브로드캐스트 조인의 동적 필터링은 조인 성능에 큰 영향을 줘요. 서버 RPM이 깨져 있으니 이 버전은 RPM 배포에 주의하고, 다음 릴리스로 넘어가는 걸 추천해요.