Amazon Redshift Spectrum의 외부 데이터 레이크 테이블에 대한 구체화된 뷰 - Amazon Redshift

Amazon Redshift Spectrum의 외부 데이터 레이크 테이블에 대한 구체화된 뷰

구체화된 뷰는 외부 데이터 레이크 테이블에 대한 증분 유지 관리를 제공할 수 있습니다. 증분 유지 관리에서는 Amazon Redshift가 마지막 새로 고침 이후 기본 테이블의 데이터 변경 사항만으로 구체화된 뷰의 데이터를 업데이트합니다. 증분 유지 관리는 기본 테이블에서 데이터를 변경할 때마다 구체화된 뷰를 완전히 다시 계산하는 것보다 비용 효율적입니다.

하나 이상의 외부 테이블에서 구체화된 뷰를 사용하는 경우 구체화된 뷰는 다음 항목에 대해 증분 방식으로 생성됩니다.

  • 지원되는 모든 형식의 데이터 파일(Parquet, Avro, CSV 등)이 포함된.파티셔닝 및 파티셔닝되지 않은 표준 데이터 레이크 테이블.

  • Copy-on-write 및 merge-on-read가 포함된 파티셔닝 및 파티셔닝되지 않는 Apache Iceberg 테이블.

  • 동일한 데이터베이스의 Amazon Redshift 테이블과 조인된 Amazon Redshift Spectrum 테이블.

구체화된 뷰는 다음 항목에 대해 증분 방식으로 새로 고쳐집니다.

  • 구체화된 뷰가 집계를 수행하지 않는 경우 S3 DELETE 또는 PUT 덮어쓰기(데이터 파일 삭제) 후 표준 데이터 레이크 테이블.

  • INSERT, DELETE, UPDATE 또는 테이블 압축 후 Apache Iceberg 테이블.

Amazon Redshift Spectrum에 대한 자세한 내용은 Amazon Redshift Spectrum 섹션을 참조하세요.

제한 사항

구체화된 뷰에 대한 일반적인 제한은 데이터 레이크 테이블의 구체화된 뷰에 여전히 적용됩니다. 자세한 내용은 구체화된 뷰 새로 고침 섹션을 참조하세요. 또한 외부 데이터 레이크 테이블에서 구체화된 뷰를 사용할 때는 다음 제한 사항을 고려하세요.

  • 구체화된 뷰는 다음 항목에 대해 비증분식으로 생성됩니다.

    • Hudi 또는 Delta 레이크 테이블.

    • 스펙트럼 중첩 데이터 액세스.

    • VARBYTE 열에 대한 참조입니다.

  • 다음 항목에 대한 구체화된 뷰 새로 고침은 전체 재계산으로 돌아갑니다.

    • 구체화된 뷰가 집계를 수행하는 경우 필요한 스냅샷이 만료된 후 Apache Iceberg 테이블.

    • 구체화된 뷰가 집계를 수행하는 경우 Amazon S3에서 데이터 파일을 삭제하거나 업데이트한 후 표준 데이터 레이크 테이블.

    • 트랜잭션 블록 내에서 두 번 이상 새로 고쳐진 표준 데이터 레이크 테이블.

    • 매니페스트에서 관리하는 표준 데이터 레이크 테이블. 매니페스트에 대한 자세한 내용은 매니페스트를 사용한 데이터 파일 지정을 참조하세요.

    • Amazon Redshift는 특히 조인을 포함하고 마지막 새로 고침 이후 둘 이상의 기본 테이블이 업데이트된 구체화된 뷰의 경우 성능이 더 좋을 것으로 예상되면 전체 재계산으로 돌아갑니다.

  • Apache Iceberg 테이블에서 구체화된 뷰 새로 고침은 단일 데이터 파일에서 삭제된 최대 4백만 개의 위치만 처리할 수 있습니다. 이 한도에 도달한 후 구체화된 뷰를 계속 새로 고치려면 Apache Iceberg 기본 테이블을 압축해야 합니다.

  • Apache Iceberg 테이블에서는 구체화된 뷰 생성 및 새로 고침에 동시성 규모 조정이 지원되지 않습니다.

  • 자동 제어 기능은 지원되지 않습니다. 여기에는 자동화된 구체화된 뷰 , 자동 새로 고침자동 쿼리 다시 쓰기가 포함됩니다.

  • 구체화된 증분 뷰가 새로 고쳐지면 IAM 권한은 Amazon Redshift 기본 테이블의 액세스된 부분에만 적용됩니다.

  • Lake Formation에서 관리하는 권한의 변경 사항은 구체화된 뷰를 쿼리할 때 확인되지 않습니다. 즉, 구체화된 뷰가 데이터 레이크 테이블에 정의되고 Lake Formation에서 테이블의 선택 권한이 제거된 경우에도 구체화된 뷰를 쿼리할 수 있습니다.