Trino 0.198 릴리스 노트

Trino 0.198 릴리스 노트

Trino 0.198 릴리스 노트입니다. 이번 릴리스에서는 일반 개선 사항과 리소스 그룹, CLI, Hive, JMX, SPI 관련 변경 사항이 들어 있어요.

출처: 문서

본문

일반 (General)

  • 쿼리를 큐에 넣기 전에 의미 분석(semantic analysis)을 수행하도록 했어요.
  • DISTINCT 인자 한정자와 함께 선택적 집계(FILTER)를 지원해요.
  • SHOW SCHEMASSHOW TABLES 쿼리에서 LIKE 조건자에 ESCAPE를 지원해요.
  • decimal 리터럴(예: 42.0)을 기본적으로 DECIMAL로 파싱하도록 했어요. 이전에는 DOUBLE로 파싱됐어요. parse-decimal-literals-as-double 구성 옵션이나 parse_decimal_literals_as_double 세션 속성으로 이 동작을 끌 수 있어요.
  • 세션 시간대가 1970-01-01 00:00:00에 "갭(gap)"이 있을 때 current_date 실패를 수정했어요. America/Bahia_Banderas 시간대가 그런 예 중 하나예요.
  • 암시적 1일 단위 증가로 DATE를 위한 sequence() 함수 변형을 추가했어요.
  • zip() 함수의 최대 인자 수를 4에서 5로 늘렸어요.
  • ST_IsValid(), geometry_invalid_reason(), simplify_geometry(), great_circle_distance() 함수를 추가했어요.
  • 입력 타입이 쿼리 분석 시점에 알려지지 않았을 때 min()max() 집계 함수를 지원해요. 특히 NULL 리터럴과 함께 사용할 수 있게 해 줘요.
  • 로컬 교환 버퍼 크기를 설정하는 task.max-local-exchange-buffer-size 구성 속성을 추가했어요.
  • 스케줄러와 교환 HTTP 클라이언트에 추적 토큰(trace token) 지원을 추가했어요. 스케줄러와 교환 HTTP 클라이언트가 보내는 각 HTTP 요청은 헤더에 "추적 토큰"(고유 ID)을 가지며 HTTP 요청 로그에 기록돼요. 이 정보는 디버깅 시 요청과 응답을 연관 짓는 데 사용할 수 있어요.
  • 동적 라이터 스케일링이 활성화됐을 때 쿼리 성능을 개선했어요.
  • ST_Intersects()의 성능을 개선했어요.
  • 쿼리 계획 중에 테이블이 비어 있음이 알려졌을 때 쿼리 지연 시간을 개선했어요.
  • G1 GC에서 과도한 객체 오버헤드와 네이티브 메모리 사용을 피하도록 array_agg()를 최적화했어요.
  • DISTINCT 인자 한정자가 있는 고카디널리티(high-cardinality) 집계의 성능을 개선했어요. use_mark_distinct 세션 속성이나 optimizer.use-mark-distinct 구성 옵션을 비활성화해 활성화할 수 있는 실험적 최적화예요.
  • 빈 그룹핑 세트가 있는 쿼리의 병렬성을 개선했어요.
  • ST_Distance() 함수가 포함된 조인 쿼리의 성능을 개선했어요.

리소스 그룹 (Resource groups)

  • Query Queues가 제거됐어요. 리소스 그룹은 항상 활성화돼요. experimental.resource-groups-enabled 구성 속성이 제거됐어요.
  • 활용도와 몫(share)이 동일한 그룹 중 가장 오래된 적격 하위 그룹을 선택하도록 WEIGHTED_FAIR 스케줄링 정책을 변경했어요.

CLI

  • --enable-authentication 옵션이 제거됐어요. Kerberos 인증은 --krb5-remote-service-name이 지정되면 자동으로 활성화돼요.
  • Kerberos 인증은 이제 HTTPS를 요구해요.

Hive

  • 메타스토어로 AWS Glue를 사용하는 것을 지원해요. hive.metastore 구성 속성을 glue로 설정하면 켤 수 있어요.
  • VARCHAR 또는 VARBINARY 타입의 잘못된 데이터를 파일에 쓰는 ORC 라이터 버그를 수정했어요.

JMX

  • 단일 쿼리로 여러 MBean을 조회할 수 있는 와일드카드 문자 *를 추가했어요.

SPI

  • QueryCompletedEvent의 쿼리 계획에 성능 통계를 추가했어요.
  • Page.getBlocks()를 제거했어요. 이 호출은 거의 사용되지 않았고 비싼 복사를 수행했어요. 대신 Page.getBlock(channel)이나 새 헬퍼 Page.appendColumn()을 사용해요.
  • ArrayBlock, MapBlock, RowBlock 생성 시 검증을 개선했어요.

더 알아보기 (Learn more)

Trino 0.198의 변경 사항을 더 자세히 확인하고 싶다면 공식 릴리스 노트를 참고해 주세요.