Trino 0.189 릴리스 노트
Trino 0.189 릴리스 노트
Trino 0.189 릴리스 노트입니다. 이번 릴리스에서는 일반 개선 사항과 보안, JDBC 드라이버, 리소스 그룹, Hive, 커넥터, SPI 관련 변경 사항이 들어 있어요.
출처: 문서
본문
일반 (General)
- 쿼리 계획 로깅 중 쿼리가 실패하던 문제를 수정했어요.
optimizer.force-single-node-output가 비활성화된 상태에서LIMIT쿼리를 실행할 때 클라이언트가 멈추던 버그를 수정했어요.bing_tile_at()와bing_tile_polygon()함수에서 타일 가장자리 가까운 점에 대해 잘못된 결과가 나오던 버그를 수정했어요.- 람다 인자가 테이블 컬럼과 같은 이름일 때 변수 해석을 수정했어요.
- 존재하지 않는 카탈로그에서
SHOW TABLES를 실행할 때 오류 메시지를 개선했어요. - 선택도가 매우 높은 필터가 있는 쿼리의 성능을 개선했어요.
- USE를 CLI가 아니라 서버에서 실행하도록 해 어떤 클라이언트에서도 지원되게 했어요. 이를 위해 클라이언트가 프로토콜 변경을 지원해야 해요(그렇지 않으면 문이 조용히 무시돼요).
JSON이ROW의 모든 필드를 포함하지 않아도JSON을ROW로 캐스팅할 수 있게 했어요.- 람다 표현식에서 행 필드 역참조(dereference)를 지원해요.
보안 (Security)
- 여러 인증 타입을 구성할 수 있게 했어요. 이렇게 하면 서로 다른 인증 요구 사항을 가진 클라이언트를 지원하거나, 모든 클라이언트를 한 번에 업데이트하지 않아도 인증 타입 간에 매끄럽게 마이그레이션할 수 있어요.
http-server.authentication.type에 여러 값을 쉼표로 구분해 지정해요. http-server.authentication.type에CERTIFICATE를 지정해 TLS 클라이언트 인증서를 인증 메커니즘으로 지원해요. 검증된 인증서의 고유 이름(distinguished name)이javax.security.auth.x500.X500Principal로 제공돼요. 클라이언트 인증서에 서명하는 데 사용된 인증 기관(CA)은 HTTP 서버 KeyStore에 추가해야 해요(기술적으로는 TrustStore여야 하지만 분리하는 것은 아직 지원되지 않아요).- Kerberos 사용 시 SPNEGO 인증의 마지막 구간 전송을 건너뛰도록 했어요.
JDBC 드라이버
- JDBC 사양에 따라
Statement가 닫힐 때ResultSet도 닫도록 했어요. SSLKeyStorePath와SSLKeyStorePassword파라미터를 구성해 TLS 클라이언트 인증서 인증을 지원해요.- SQL 문이나 표준 JDBC 메커니즘을 사용한 트랜잭션을 지원해요.
USE문 실행을 허용해요. 이는 주로 사용자를 대신해 임의 SQL을 실행할 때 유용하며, 프로그램적 사용에는Connection의setCatalog()와setSchema()를 계속 사용하는 것이 권장돼요.SET SESSION과RESET SESSION실행을 허용해요.
리소스 그룹 (Resource group)
WEIGHTED_FAIR리소스 그룹 스케줄링 정책을 추가했어요.
Hive
- 파일 메타스토어를 사용할 때
hive.metastore.uri설정을 요구하지 않도록 했어요. - ORC 또는 DWRF 파일에서 문자열 컬럼을 읽을 때 메모리 사용량을 줄였어요.
MySQL, PostgreSQL, Redshift, SQL Server 변경 사항
DECIMAL(p,s)데이터 타입의 컬럼 매핑을 PrestoDOUBLE타입에서 해당하는 PrestoDECIMAL타입으로 변경했어요.
Kafka
- raw 디코더 문서를 수정했어요.
Thrift 커넥터
- 인덱스 조인(index join)을 지원해요.
SPI
SliceArrayBlock을 더 이상 사용하지 않도록(deprecate) 했어요.- 기본 세션 속성을 동적으로 재정의할 수 있는
SessionPropertyConfigurationManager플러그인을 추가했어요.
더 알아보기 (Learn more)
Trino 0.189의 변경 사항을 더 자세히 확인하고 싶다면 공식 릴리스 노트를 참고해 주세요.