Amazon Redshift는 패치 198부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. 기존 Python UDF는 2026년 6월 30일까지 계속 작동합니다. 자세한 내용은 블로그 게시물
JDBC Fetch Size 파라미터 설정
기본적으로 Redshift JDBC 드라이버는 링 버퍼를 사용하여 메모리를 효율적으로 관리하고 메모리 부족 오류를 방지합니다. 가져오기 크기 파라미터는 링 버퍼가 명시적으로 비활성화된 경우에만 적용됩니다. 자세한 내용은 링크를 참조하세요. 이 구성에서는 가져오기 크기를 설정하여 각 배치에서 검색되는 행 수를 제어해야 합니다.
가져오기 크기는 언제 사용하나요?
다음과 같은 경우 가져오기 크기 파라미터를 사용합니다.
-
행 기반 일괄 처리를 세밀하게 제어해야 하는 경우
-
기존 가져오기 크기 동작이 필요한 레거시 애플리케이션 작업
가져오기 크기 설정
링 버퍼가 비활성화된 경우, JDBC 드라이버는 기본적으로 쿼리의 모든 결과를 한 번에 수집합니다. 큰 결과 집합을 반환하는 쿼리는 과도한 메모리를 소비할 수 있습니다. 결과 세트를 한 번에 모두 검색하는 대신 배치로 검색하려면 애플리케이션에서 JDBC 가져오기 크기 파라미터를 설정합니다.
참고
ODBC는 Fetch Size 파라미터가 지원되지 않습니다.
성능을 최적화하려면 메모리 부족 오류가 일어나지 않는 범위 내에서 페치 크기 값을 가장 높게 설정하세요. 페치 크기 값이 더 낮아지면 서버 전송이 늘어나서 실행 시간이 장기화될 수 있습니다. 서버는 클라이언트가 전체 결과 집합을 가져오거나 쿼리가 취소될 때까지 WLM 쿼리 슬롯이나 연결 메모리를 비롯한 리소스를 예약합니다. 이때 Fetch Size 값을 적절히 조정하면 이러한 리소스가 더욱 빠르게 해제되어 다른 쿼리에서도 사용할 수 있게 됩니다.
참고
대용량 데이터 집합을 추출해야 하는 경우에는 UNLOAD 문을 사용하여 데이터를 Amazon S3로 전송하는 것이 좋습니다. UNLOAD를 사용하면 컴퓨팅 노드가 병렬로 실행되어 데이터 전송 속도가 빨라집니다.
JDBC Fetch Size 파라미터 설정에 대한 자세한 내용은 PostgreSQL 설명서의 Getting results based on a cursor