구체화된 뷰 새로 고침 - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

구체화된 뷰 새로 고침

구체화된 뷰에는 쿼리 결과의 스냅샷이 포함됩니다. 주기적으로 업데이트하도록 Amazon Redshift를 구성하지 않는 한 구체화된 뷰는 주기적으로 업데이트되지 않습니다. 구체화된 뷰의 데이터를 수동으로 새로 고치고 업데이트하기 위해 언제든지 REFRESH MATERIALIZED VIEW 문을 사용할 수 있습니다. 이 명령은 기본 테이블에서 발생한 변경 사항을 식별한 다음 해당 변경 사항을 구체화된 뷰에 적용합니다.

구체화된 뷰를 새로 고치는 방법에는 수동 새로 고침과 자동 새로 고침(자동 새로 고침) 두 가지가 있습니다. 다음 예제 쿼리는 구체화된 뷰를 수동으로 새로 고치는 방법을 보여줍니다.

REFRESH MATERIALIZED VIEW mv_total_orders;

구체화된 뷰를 자동으로 새로 고치려면 다음 예와 같이 CREATE MATERIALIZED VIEW 문에 AUTO REFRESH YES 절을 추가합니다.

CREATE MATERIALIZED VIEW mv_total_orders AUTO REFRESH YES -- Add this clause to auto refresh the MV AS SELECT c.cust_id, c.first_name, sum(o.amount) as total_amount FROM orders o JOIN customer c ON c.cust_id = o.customer_id GROUP BY c.cust_id, c.first_name;

Amazon Redshift는 기본 테이블이 변경된 후 가능한 한 빨리 구체화된 뷰를 자동으로 새로 고칩니다. 새로 고침을 처리할 때 클러스터의 활성 워크로드가 미치는 영향을 최소화하기 위해 Amazon Redshift는 다음 요소를 고려합니다.

  • 현재 시스템 로드

  • 새로 고침에 필요한 리소스

  • 사용 가능한 클러스터 리소스

  • 구체화된 뷰의 사용 빈도

Amazon Redshift는 자동 새로 고침보다 워크로드에 우선순위를 두며 사용자 워크로드의 성능을 유지하기 위해 자동 새로 고침을 중지할 수 있습니다. 이 접근 방식은 일부 구체화된 뷰의 새로 고침을 지연시킬 수 있다는 점에 유의하세요. 새로 고침 상태는 SVL_MV_REFRESH_STATUS 뷰에서 확인할 수 있습니다. 이 뷰에는 사용자가 시작한 쿼리나 자동으로 새로 고친 쿼리가 기록됩니다.