릴리스 354
릴리스 354 (2021년 3월 19일)
이번 릴리스에서는 조인·쓰기 파티셔닝 성능 개선과 여러 커넥터의 버그 수정이 담겨 있어요. OAuth 2.0 인증 지원도 추가됐어요.
출처: Trino 릴리스 354 문서
본문
일반 (General)
- 조인의 한쪽이 단일 행을 만든다고 알려진
LEFT,RIGHT,FULL JOIN이 포함된 일부 쿼리의 성능을 개선했어요. (#7090) - 예상 쓰기 파티션 수가
preferred-write-partitioning-min-number-of-partitions이상이 되면 선호 쓰기 파티셔닝(preferred write partitioning)이 자동으로 실행되도록 했어요. 이 추정은 쿼리 입력 테이블에 통계가 있어야 가능해요. 조건 없이 선호 파티셔닝을 쓰려면preferred-write-partitioning-min-number-of-partitions을1로 설정하면 되고, 끄려면use-preferred-write-partitioning을false로 설정하면 돼요. (#6920) ALL대DISTINCT한정자만 다른 여러 유사 서브쿼리에UNION절이 들어 있을 때 결과가 잘못 나오던 문제를 고쳤어요. (#7345)- 필터를 흡수(subsumes)하는 커넥터에서
DELETE와UPDATE를 고쳤어요. (#7302) - 서브쿼리에
EXCEPT나INTERSECT가 있을 때 발생하던 실패를 고쳤어요. (#7342) - 지연 구체화(late materialization)가 켜진 상태에서
RIGHT JOIN이 포함된 쿼리가 실패하던 문제를 고쳤어요. (#6784)
보안 (Security)
- OAuth 2.0 인증이 토큰 만료 시 재시도되지 않던 문제를 고쳤어요. (#7172)
CLI
- OAuth 2.0 인증을 지원해요. (#7054)
ClickHouse 커넥터
CREATE SCHEMA에서 스키마 이름의 대소문자를 올바르게 사용하도록 했어요. (#7239)
Elasticsearch 커넥터
- 배열 타입에 대해 단일 값 필드를 읽을 때 발생하던 실패를 고쳤어요. (#7012)
Hive 커넥터
- ACID 테이블의
DELETE와UPDATE에서 파티션 필터를 존중하도록 했어요. 이전에는 파티션 필터가 무시돼 너무 많은 행이 삭제·수정되곤 했어요. (#7302) - ACID 테이블의 문장 ID 할당을 고쳤어요. 같은 이름의 델타 파일이 여러 개 만들어져 쿼리 실패나 데이터 손실이 날 수 있었어요. (#7302)
- Spark가 metastore에 만들고 등록한 버켓 구성이 잘못된 테이블을 읽을 때 쿼리 결과가 잘못 나오던 문제를 고쳤어요. (#6848)
- Avro 파일 형식을 사용할 때 파일 시스템 연결이나 기타 리소스가 새지 않도록 했어요. (#7178)
- Glue metastore에서 CSV 테이블의 컬럼이
varchar(string)가 아닌 타입으로 선언된 경우 쿼리가 실패하던 문제를 고쳤어요. 이제 컬럼은varchar값으로 해석돼요. (#7059) - 구성값
hive.parallel-partitioned-bucketed-inserts를hive.parallel-partitioned-bucketed-writes로 이름을 바꿨어요. (#7259)
Iceberg 커넥터
- Spark가 만든, 스냅샷 ID가 없는 빈 테이블에 대한 쿼리를 고쳤어요. (#7233)
- 1970년 이전 날짜·시간의 변환에 Iceberg 0.11.0 동작을 적용했어요. 구버전 Trino·Iceberg로 쓴 데이터는 정상적으로 읽히고, 새 데이터도 올바르게 쓰여요. 다만 구버전 Trino·Iceberg로는 새 데이터가 잘못 읽힐 수 있어요. (#7049)
MemSQL 커넥터
- MemSQL 3.2 지원을 추가했어요. (#7179)
CREATE SCHEMA에서 스키마 이름의 대소문자를 올바르게 사용하도록 했어요. (#7239)- 계산을 하부 데이터베이스로 프러시다운할 수 있는
ORDER BY ... LIMIT절이 있는 쿼리의 성능을 개선했어요. (#7326)
MySQL 커넥터
timestamp(3)컬럼으로 테이블을 만들 때 MySQL에서 올바른 컬럼 타입(datetime(3))을 사용하도록 했어요. 이전에는 초 단위 이하 값이 잘려나갔어요. (#6909)CREATE SCHEMA에서 스키마 이름의 대소문자를 올바르게 사용하도록 했어요. (#7239)- 계산을 하부 데이터베이스로 프러시다운할 수 있는
ORDER BY ... LIMIT절이 있는 쿼리의 성능을 개선했어요. (#7326)
PostgreSQL 커넥터
char나varchar컬럼으로 정렬하고topn-pushdown.enabled구성값이 켜진 상태에서ORDER BY ... LIMIT절의 쿼리 결과가 잘못 나오던 문제를 고쳤어요. 이 최적화는 이제 기본으로 켜져요. (#7170, #7314)CREATE SCHEMA에서 스키마 이름의 대소문자를 올바르게 사용하도록 했어요. (#7239)
Redshift 커넥터
LIMIT가 2147483647을 초과하는 쿼리에서 발생하던 실패를 고쳤어요. (#7236)CREATE SCHEMA에서 스키마 이름의 대소문자를 올바르게 사용하도록 했어요. (#7239)
SQL Server 커넥터
- 매개변수화된
time타입 지원을 추가했어요. (#7122) CREATE SCHEMA에서 스키마 이름의 대소문자를 올바르게 사용하도록 했어요. (#7239)- 계산을 하부 데이터베이스로 프러시다운할 수 있는
ORDER BY ... LIMIT절이 있는 쿼리의 성능을 개선했어요. (#7324)