자동화된 구체화된 보기 - Amazon Redshift

자동화된 구체화된 보기

구체화된 보기는 Amazon Redshift에서 쿼리 성능 개선을 위한 강력한 도구입니다. 미리 계산된 결과 집합을 저장하여 이를 수행합니다. 유사한 쿼리는 기존 결과 집합에서 레코드를 검색할 수 있으므로 매번 동일한 논리를 다시 실행할 필요가 없습니다. 개발자와 분석가는 워크로드를 분석한 후 구체화된 보기를 생성하여 어떤 쿼리에 도움이 될지, 각 구체화된 보기의 유지 관리 비용이 가치가 있는지 여부를 결정합니다. 워크로드가 증가하거나 변경됨에 따라 이러한 구체화된 보기를 검토하여 실질적인 성능 이점을 계속 제공하는지 확인해야 합니다.

Redshift의 AutoMV(Automated Materialized Views) 기능은 사용자가 생성한 구체화된 보기와 동일한 성능 이점을 제공합니다. Amazon Redshift는 기계 학습을 사용하여 워크로드를 지속적으로 모니터링하고, 유용한 경우 새로운 구체화된 뷰를 생성합니다. AutoMV는 구체화된 보기를 생성하고 최신 상태로 유지하는 비용과 쿼리 대기 시간에 대한 예상 이점의 균형을 맞춥니다. 시스템은 또한 이전에 생성된 AutoMV를 모니터링하고 더 이상 유용하지 않을 경우 이를 삭제합니다.

AutoMV 동작 및 기능은 사용자가 생성한 구체화된 보기와 동일합니다. 동일한 기준과 제한 사항을 사용하여 자동으로 증분 방식으로 새로 고쳐집니다. 사용자가 생성한 구체화된 뷰와 마찬가지로 구체화된 뷰를 사용하기 위한 자동 쿼리 재작성는 시스템 생성 AutoMV의 이점을 얻을 수 있는 쿼리를 식별합니다. 이러한 쿼리를 자동으로 다시 작성하여 AutoMV를 사용하므로 쿼리 성능이 향상됩니다. 개발자는 AutoMV를 활용하기 위해 쿼리를 수정할 필요가 없습니다.

참고

자동 구체화된 뷰는 간헐적으로 새로 고쳐집니다. AutoMV를 사용하도록 재작성된 쿼리는 항상 최신 결과를 반환합니다. Redshift가 데이터가 최신이 아님을 감지하면 자동화된 구체화된 뷰에서 읽기 위해 쿼리가 다시 작성되지 않습니다. 대신 쿼리는 기본 테이블에서 최신 데이터를 선택합니다.

반복적으로 사용되는 쿼리가 있는 모든 워크로드는 AutoMV의 이점을 누릴 수 있습니다. 일반적인 사용 사례는 다음과 같습니다.

  • 대시보드 - 대시보드는 주요 비즈니스 지표(KPI), 이벤트, 추세 및 기타 지표에 대한 빠른 보기를 제공하는 데 널리 사용됩니다. 대시보드는 차트 및 테이블과 함께 공통 레이아웃을 사용하는 경우가 많지만 필터링 또는 드릴다운과 같은 차원 선택 작업에 대해 다른 보기를 표시합니다. 대시보드에는 종종 다른 파라미터와 함께 반복적으로 사용되는 공통 쿼리 집합이 있습니다. 대시보드 쿼리는 자동화된 구체화된 보기에서 큰 이점을 얻을 수 있습니다.

  • 보고서 - 보고 쿼리는 비즈니스 요구 사항 및 보고서 유형에 따라 다양한 빈도로 예약할 수 있습니다. 또한 자동화되거나 온디맨드일 수 있습니다. 보고 쿼리의 일반적인 특징은 오래 실행되고 리소스를 많이 사용한다는 것입니다. AutoMV를 사용하면 이러한 쿼리를 실행할 때마다 다시 계산할 필요가 없으므로 Redshift에서 각 쿼리의 런타임과 리소스 사용률이 감소합니다.

자동화된 구체화된 뷰를 끄려면 auto_mv 파라미터 그룹을 false로 업데이트합니다. 자세한 내용은 Amazon Redshift 클러스터 관리 안내서의 Amazon Redshift 파라미터 그룹 섹션을 참조하세요.

자동화되고 구체화된 보기의 SQL 범위 및 고려 사항

  • 자동화된 구체화된 뷰는 쿼리 또는 하위 쿼리에 의해 시작되고 생성될 수 있습니다. 단, 쿼리가 SUM, COUNT, MIN, MAX 또는 AVG 집계 함수 중 하나 또는 GROUP BY 절을 포함해야 합니다. 하지만 다음은 포함할 수 없습니다.

    • 왼쪽, 오른쪽 또는 전체 외부 조인

    • SUM, COUNT, MIN, MAX, AVG 이외의 집계 함수. (이런 함수에서 자동 쿼리 재작성이 작동합니다.)

    • DISTINCT를 포함하는 모든 집계 함수

    • 모든 윈도 함수

    • SELECT DISTINCT 또는 HAVING 절

    • 다른 구체화된 뷰

    기준을 충족하는 쿼리가 자동화된 구체화된 뷰의 생성을 시작한다는 보장은 없습니다. 시스템은 워크로드에 대한 예상 이점과 유지 관리할 리소스 비용(시스템 새로 고침 비용 포함)을 기반으로 뷰를 생성할 후보를 결정합니다. 생성되는 각 구체화된 뷰는 자동 쿼리 재작성에서 사용할 수 있습니다.

  • AutoMV가 하위 쿼리 또는 집합 연산자의 개별 구간에 의해 시작될 수 있지만 생성되는 구체화된 뷰에는 하위 쿼리 또는 집합 연산자가 포함되지 않습니다.

  • AutoMV가 쿼리에 사용되었는지 확인하려면 EXPLAIN 계획을 보고 출력에서 %_auto_mv_%를 찾습니다. 자세한 내용은 EXPLAIN을 참조하세요.

  • 자동화된 구체화된 뷰는 데이터 공유 및 페더레이션된 테이블과 같은 외부 테이블에서는 지원되지 않습니다.

자동화되고 구체화된 보기 제한 사항

다음은 자동화되고 구체화된 보기와 관련한 작업의 제한 사항입니다.

  • 최대 AutoMV 수 - 자동화된 구체화된 뷰의 제한은 클러스터의 데이터베이스당 200개입니다.

  • 스토리지 공간 및 용량 - AutoMV의 중요한 특징은 예비 백그라운드 주기를 사용하여 수행되어 사용자 워크로드가 영향을 받지 않도록 한다는 것입니다. 클러스터가 사용 중이거나 스토리지 공간이 부족한 경우 AutoMV는 작업을 중단합니다. 특히 총 클러스터 용량의 80%에서는 자동화된 구체화된 새로운 뷰가 생성되지 않습니다. 총 용량의 90%에서는 성능 저하 없이 사용자 워크로드를 계속 진행할 수 있도록 삭제할 수 있습니다. 클러스터 용량 결정에 대한 자세한 내용은 STV_NODE_STORAGE_CAPACITY 단원을 참조하세요.

자동 구체화된 뷰에 대한 요금 청구

Amazon Redshift의 자동 최적화 기능은 자동 구체화된 뷰를 생성하고 새로 고칩니다. 이 프로세스의 컴퓨팅 리소스에는 요금이 부과되지 않습니다. 자동 구체화된 뷰의 스토리지에는 일반 스토리지 요금이 청구됩니다. 자세한 내용은 Amazon Redshift 요금을 참조하세요.

추가적인 리소스

다음 블로그 게시물은 자동 구체화된 뷰에 대한 자세한 설명을 제공합니다. 자동 구체화된 뷰를 생성, 유지 관리 및 삭제하는 방법을 자세히 설명합니다. 또한 이러한 결정을 이끄는 기본 알고리즘인 자동 구체화된 뷰를 이용해 Amazon Redshift 쿼리 성능 최적화에 대해서도 설명합니다.

이 비디오는 구체화된 뷰에 대한 설명으로 시작하며 구체화된 뷰가 성능을 개선하고 리소스를 절약하는 방법을 보여줍니다. 그런 다음 프로세스 흐름 애니메이션과 실시간 데모를 통해 자동 구체화된 뷰를 심층적으로 설명합니다.