Release 0.116

Release 0.116

Trino(당시 Presto) 0.116 릴리스의 변경 사항이에요. JSON·VARCHAR 간 캐스트 제거, 클러스터 메모리 관리자 저메모리 킬러, 새 함수가 포함돼요.

출처: 문서

본문

JSON과 VARCHAR 사이의 캐스트 (Cast between JSON and VARCHAR)

JSON과 VARCHAR 사이 양방향 캐스트가 제거됐어요. 스크립트나 뷰에 그러한 캐스트가 있다면, 0.116으로 이동할 때 메시지와 함께 실패해요. 현재 캐스트의 의미를 얻으려면 다음을 사용해요.

  • CAST(x as JSON) 대신 JSON_PARSE(x)
  • CAST(x as VARCHAR) 대신 JSON_FORMAT(x)

향후 릴리스에서 JSON을 포함한 다른 캐스트와 함께 JSON과 VARCHAR 사이의 캐스트를 다시 도입할 계획이에요. 새 JSON·VARCHAR 캐스트의 의미는 도입 중인 다른 캐스트와 일치할 거예요. 하지만 0.115 이하의 의미와는 달라요. 그때가 되면 이전 스크립트와 뷰의 JSON·VARCHAR 캐스트는 예상하지 못한 결과를 낳을 거예요.

클러스터 메모리 관리자 개선 (Cluster memory manager improvements)

클러스터 메모리 관리자에 이제 저메모리 킬러(low memory killer)가 있어요. 클러스터 메모리가 부족해지면 킬러가 처리량을 개선하기 위해 쿼리를 종료해요. query.low-memory-killer.enabled 구성 플래그로 활성화할 수 있고, 클러스터 메모리가 부족해진 시점부터 킬러가 호출될 때까지의 지연은 query.low-memory-killer.delay 옵션으로 구성할 수 있어요.

일반 (General)

  • multimap_agg() 함수를 추가했어요.
  • checksum() 함수를 추가했어요.
  • 두 번째 인자를 받아 n개의 가장 큰 값 또는 n개의 가장 작은 값을 만드는 max()min()을 추가했어요.
  • query_max_run_time 세션 프로퍼티와 query.max-run-time 구성을 추가했어요. 지정된 시간이 지나면 쿼리가 실패해요.
  • experimental.cluster-memory-manager-enabled 구성을 제거했어요. 클러스터 메모리 관리자는 이제 항상 활성화돼요.
  • task.max-memory 구성을 제거했어요.
  • optimizer.optimize-hash-generationdistributed-joins-enabled 이제 둘 다 기본으로 활성화돼요.
  • 상수 조건에 대한 IF 최적화를 추가했어요.

더 알아보기 (Learn more)

0.116 릴리스의 변경 사항을 봤어요. 이어서 이전 버전인 Release 0.115를 살펴보면 좋아요.