릴리스 360

릴리스 360 (2021년 7월 30일)

이번 릴리스에서는 상관 서브쿼리 개선과 동적 필터 전송, 그리고 여러 커넥터의 쓰기 구성 확장이 핵심이에요.

출처: Trino 릴리스 360 문서

본문

일반 (General)

  • GROUP BYLIMIT, 복잡한 상관 필터 조건이 있는 상관 서브쿼리 지원을 개선했어요. (#8554)
  • 누적 쿼리 시스템 메모리 사용량을 보고해요. (#8615)
  • 스키마가 비어 있지 않을 때는 DROP SCHEMADROP SCHEMA RESTRICT가 스키마를 떨어뜨리지 않도록 고쳤어요. (#8660)
  • 어떤 컬럼 col에 상수 조건(예: col=1)이 있고 그 뒤에 ORDER BY colLIMIT가 있을 때 쿼리가 실패하던 문제를 고쳤어요. (#8535)
  • SHOW CREATE SCHEMA 실패를 고쳤어요. (#8598)
  • SHOW CREATE SCHEMA information_schema를 실행할 때 쿼리가 실패하던 문제를 고쳤어요. (#8600)
  • WHERE 절 평가 성능을 개선했어요. (#8624)
  • 코디네이터 네트워크 부하를 줄였어요. (#8460)
  • 수집된 동적 필터를 코디네이터에서 워커로 보내 쿼리 성능을 개선했어요. (#5183)
  • 조인 조건 양쪽 타입이 다른 부등식 조인의 성능을 개선했어요. (#8500)
  • IN () 표현식의 성능을 개선했어요. (#8639)

보안 (Security)

  • 보안 내부 통신을 위한 TLS 자동 구성을 지원해요. 이로써 워커별 TLS 인증서를 프로비저닝할 필요가 없어졌어요. (#7954)

CLI

  • 탭 버튼을 눌렀을 때 자동 완성 문제를 고쳤어요. (#8529)

ClickHouse 커넥터

  • 쓰기 중 사용하는 JDBC 배치 크기를 제어하는 write.batch-size 커넥터 구성값을 추가했어요. write_batch_size 세션 속성으로도 제어할 수 있어요. (#8434)
  • INSERT 쿼리가 대상 테이블에 직접 쓰도록 허용하는 insert.non-transactional-insert.enabled 구성값을 추가했어요. 트랜잭션 동작을 희생해 일부 경우 성능을 개선할 수 있어요. non_transactional_insert 세션 속성으로도 제어할 수 있어요. (#8496)

Elasticsearch 커넥터

  • IAM 역할 맡기(assume) 지원을 추가했어요. (#8714)

Hive 커넥터

  • ORC ACID 트랜잭션 테이블에서 UPDATEINSERT를 수행할 때 발생하던 데이터 손상을 고쳤어요. (#8268, #8452)

Iceberg 커넥터

  • Trino 뷰 지원을 추가했어요. (#8540)
  • Iceberg 테이블에 행 수준 삭제가 있을 때 쿼리를 실패시켜 잘못된 쿼리 결과를 방지했어요. (#8450)
  • 버켓 Iceberg 테이블과 조인할 때 발생하던 쿼리 실패를 고쳤어요. (#7502)
  • 버켓 Iceberg 테이블의 통계를 표시할 때 발생하던 쿼리 실패를 고쳤어요. (#8616)
  • 구조적 컬럼(array, map, row)이 있는 파티션 테이블과 조인할 때 발생하던 쿼리 실패를 고쳤어요. (#8647)
  • Parquet 형식으로 테이블을 쓰는 쿼리의 실패를 고쳤어요. (#5201)
  • metastore 호출을 줄여 쿼리 계획 시간을 개선했어요. (#8676, #8689)

MemSQL 커넥터

  • 쓰기 중 사용하는 JDBC 배치 크기를 제어하는 write.batch-size 커넥터 구성값을 추가했어요. write_batch_size 세션 속성으로도 제어할 수 있어요. (#8434)
  • INSERT 쿼리가 대상 테이블에 직접 쓰도록 허용하는 insert.non-transactional-insert.enabled 구성값을 추가했어요. 트랜잭션 동작을 희생해 일부 경우 성능을 개선할 수 있어요. non_transactional_insert 세션 속성으로도 제어할 수 있어요. (#8496)
  • 조건을 원격 데이터 소스로 완전히 프러시다운할 수 있는 DELETE 문을 부분 지원해요. (#6287)
  • 쓰기 성능 회귀를 고쳤어요. (#8559)

MongoDB 커넥터

  • json 타입 지원을 추가했어요. (#8352)
  • MongoDB DBRef 타입 읽기를 지원해요. (#3134)

MySQL 커넥터

  • 쓰기 중 사용하는 JDBC 배치 크기를 제어하는 write.batch-size 커넥터 구성값을 추가했어요. write_batch_size 세션 속성으로도 제어할 수 있어요. (#8434)
  • INSERT 쿼리가 대상 테이블에 직접 쓰도록 허용하는 insert.non-transactional-insert.enabled 구성값을 추가했어요. 트랜잭션 동작을 희생해 일부 경우 성능을 개선할 수 있어요. non_transactional_insert 세션 속성으로도 제어할 수 있어요. (#8496)
  • 조건을 원격 데이터 소스로 완전히 프러시다운할 수 있는 DELETE 문을 부분 지원해요. (#6287)
  • 쓰기 성능 회귀를 고쳤어요. (#8559)

Oracle 커넥터

  • 쓰기 중 사용하는 JDBC 배치 크기를 제어하는 write.batch-size 커넥터 구성값을 추가했어요. write_batch_size 세션 속성으로도 제어할 수 있어요. (#8434)
  • INSERT 쿼리가 대상 테이블에 직접 쓰도록 허용하는 insert.non-transactional-insert.enabled 구성값을 추가했어요. 트랜잭션 동작을 희생해 일부 경우 성능을 개선할 수 있어요. non_transactional_insert 세션 속성으로도 제어할 수 있어요. (#8496)
  • 조건을 원격 데이터 소스로 완전히 프러시다운할 수 있는 DELETE 문을 부분 지원해요. (#6287)

Phoenix 커넥터

  • 쓰기 중 사용하는 JDBC 배치 크기를 제어하는 write.batch-size 커넥터 구성값을 추가했어요. write_batch_size 세션 속성으로도 제어할 수 있어요. (#8434)
  • INSERT 쿼리가 대상 테이블에 직접 쓰도록 허용하는 insert.non-transactional-insert.enabled 구성값을 추가했어요. 트랜잭션 동작을 희생해 일부 경우 성능을 개선할 수 있어요. non_transactional_insert 세션 속성으로도 제어할 수 있어요. (#8496)
  • Phoenix 5에서 정렬된 데이터의 ORDER BY ... LIMIT 쿼리 성능을 개선했어요. (#8171)
  • 조건을 원격 데이터 소스로 완전히 프러시다운할 수 있는 DELETE 문을 부분 지원해요. (#6287)
  • 쓰기 성능 회귀를 고쳤어요. (#8559)

PostgreSQL 커넥터

  • 쓰기 중 사용하는 JDBC 배치 크기를 제어하는 write.batch-size 커넥터 구성값을 추가했어요. write_batch_size 세션 속성으로도 제어할 수 있어요. (#8434)
  • INSERT 쿼리가 대상 테이블에 직접 쓰도록 허용하는 insert.non-transactional-insert.enabled 구성값을 추가했어요. 트랜잭션 동작을 희생해 일부 경우 성능을 개선할 수 있어요. non_transactional_insert 세션 속성으로도 제어할 수 있어요. (#8496)
  • 조건을 원격 데이터 소스로 완전히 프러시다운할 수 있는 DELETE 문을 부분 지원해요. (#6287)

Redshift 커넥터

  • 쓰기 중 사용하는 JDBC 배치 크기를 제어하는 write.batch-size 커넥터 구성값을 추가했어요. write_batch_size 세션 속성으로도 제어할 수 있어요. (#8434)
  • INSERT 쿼리가 대상 테이블에 직접 쓰도록 허용하는 insert.non-transactional-insert.enabled 구성값을 추가했어요. 트랜잭션 동작을 희생해 일부 경우 성능을 개선할 수 있어요. non_transactional_insert 세션 속성으로도 제어할 수 있어요. (#8496)
  • 조건을 원격 데이터 소스로 완전히 프러시다운할 수 있는 DELETE 문을 부분 지원해요. (#6287)

SQL Server 커넥터

  • 쓰기 중 사용하는 JDBC 배치 크기를 제어하는 write.batch-size 커넥터 구성값을 추가했어요. write_batch_size 세션 속성으로도 제어할 수 있어요. (#8434)
  • INSERT 쿼리가 대상 테이블에 직접 쓰도록 허용하는 insert.non-transactional-insert.enabled 구성값을 추가했어요. 트랜잭션 동작을 희생해 일부 경우 성능을 개선할 수 있어요. non_transactional_insert 세션 속성으로도 제어할 수 있어요. (#8496)
  • 조건을 원격 데이터 소스로 완전히 프러시다운할 수 있는 DELETE 문을 부분 지원해요. (#6287)
  • 쓰기 성능 회귀를 고쳤어요. (#8559)

SPI

  • 구체화된 뷰 스토리지 테이블 컬럼을 캐스팅해 뷰 컬럼 타입과 일치시키도록 했어요. (#8408)
  • 지원 중단된 ConnectorSplitManager#getSplits 메서드 오버라이드를 제거했어요. (#8569)
  • 물리적으로 읽은 위치 추적을 위한 ConnectorPageSource#getCompletedPositions를 도입했어요. (#8524)
  • 지원 중단된 TupleDomain.transform을 제거했어요. (#8056)

더 알아보기 (Learn more)