구체화된 뷰 제한 및 알려진 문제
적용 대상: ✅Microsoft Fabric✅Azure Data Explorer
구체화된 뷰 원본
- 구체화된 뷰의 원본 테이블:
- 데이터가 직접 수집되거나, 업데이트 정책을 사용하거나, 쿼리 명령에서 수집되는 테이블이어야 합니다.
- 다른 테이블에서 구체화된 뷰의 원본 테이블로 이동 익스텐트 또는 바꾸기 익스텐트를 사용하는 것은 이동 익스텐트 명령의 일부로 속성을 사용하는
setNewIngestionTime
경우에만 지원됩니다(자세한 내용은 .move 익스텐트 및 .replace 익스텐트 명령 참조). - 구체화된 뷰의 원본 테이블로 익스텐트를 이동하는 동안 사용하지
setNewIngestionTime
않으면 다음 오류 중 하나로 실패할 수 있습니다.Cannot drop/move extents from/to table 'TableName' since Materialized View 'ViewName' is currently processing some of these extents
.Cannot move extents to 'TableName' since materialized view 'ViewName' will not process these extents (can lead to data loss in the materialized view)
.
- 다른 테이블에서 구체화된 뷰의 원본 테이블로 이동 익스텐트 또는 바꾸기 익스텐트를 사용하는 것은 이동 익스텐트 명령의 일부로 속성을 사용하는
- 데이터가 직접 수집되거나, 업데이트 정책을 사용하거나, 쿼리 명령에서 수집되는 테이블이어야 합니다.
- 구체화된 뷰의 원본 테이블에는 IngestionTime 정책이 활성화되어 있어야 합니다. 이 정책은 기본적으로 사용하도록 설정됩니다.
- 구체화된 뷰에서 지원되는 속성
ingestion_time()
참조를lookback
사용하는 경우 구체화된 뷰의 쿼리에서 유지되어야 합니다. mv-expand 또는 피벗 플러그 인과 같은 연산자는 유지ingestion_time()
되지 않으므로 구체화된 뷰lookback
에서 사용할 수 없습니다. - 구체화된 뷰의 원본 테이블은 제한된 뷰 액세스 정책이 있는 테이블일 수 없습니다.
- 구체화된 첫 번째 뷰가 형식
take_any(*)
집계인 경우가 아니면 구체화된 뷰를 다른 구체화된 뷰 위에 만들 수 없습니다. 구체화된 뷰를 통해 구체화된 뷰를 참조 하세요. - 구체화된 뷰는 외부 테이블에 대해 정의할 수 없습니다.
Warning
- 구체화된 뷰의 원본 테이블을 변경하거나 데이터의 변경으로 인해 구체화된 뷰 쿼리와 예상되는 구체화된 뷰 스키마 간의 호환성이 없는 경우 시스템에서 구체화된 뷰를 자동으로 비활성화합니다.
- 이 오류를 방지하려면 구체화된 뷰 쿼리가 결정적이어야 합니다. 예를 들어 bag_unpack 또는 피벗 플러그 인은 비결정적 스키마를 생성합니다.
- 집계를
arg_max(Timestamp, *)
사용하는 경우 및 false인 경우autoUpdateSchema
원본 테이블을 변경하면 스키마 불일치가 발생할 수도 있습니다.- 뷰 쿼리를 로
arg_max(Timestamp, Column1, Column2, ...)
정의하거나 옵션을 사용하여 이 오류를 방지합니다autoUpdateSchema
.
- 뷰 쿼리를 로
- 사용하면
autoUpdateSchema
원본 테이블의 열이 삭제될 때 되돌릴 수 없는 데이터 손실이 발생할 수 있습니다. - MaterializedViewResult 메트릭을 사용하여 구체화된 뷰의 자동 비활성화를 모니터링합니다.
- 비호환성 문제를 해결한 후 구체화된 뷰 사용 명령을 사용하여 뷰를 명시적으로 다시 사용하도록 설정해야 합니다.
원본 테이블에서 수집되거나 삭제된 레코드의 영향
- 구체화된 뷰는 원본 테이블에 수집된 새 레코드만 처리합니다. 데이터 제거/일시 삭제/삭제 익스텐트를 실행하거나 보존 정책 또는 기타 이유로 인해 원본 테이블에서 제거된 레코드는 구체화된 뷰에 영향을 주지 않습니다.
- 구체화된 뷰에는 원본 테이블의 보존 정책과 독립적인 자체 보존 정책이 있습니다. 구체화된 뷰에는 원본 테이블에 없는 레코드가 포함될 수 있습니다.
팔로워 데이터베이스
- 구체화된 뷰는 팔로워 데이터베이스에서 만들 수 없습니다. 팔로워 데이터베이스는 읽기 전용이며 구체화된 뷰에는 쓰기 작업이 필요합니다.
- 구체화된 뷰는 데이터베이스 바로 가기에서 만들 수 없습니다. 데이터베이스 바로 가기는 읽기 전용이며 구체화된 뷰에는 쓰기 작업이 필요합니다.
- 리더 데이터베이스에 정의된 구체화된 뷰는 리더의 다른 테이블과 마찬가지로 팔로워로부터 쿼리할 수 있습니다.
- 리더 클러스터를 사용하여 팔로워 데이터베이스 구체화된 뷰를 모니터링합니다. 자세한 내용은 팔로워 데이터베이스의 구체화된 뷰를 참조 하세요.
- 원본 Eventhouse를 사용하여 데이터베이스 구체화된 바로 가기 보기를 모니터링합니다. 자세한 내용은 구체화된 뷰 모니터링을 참조 하세요.
기타
- 커서 함수는 구체화된 뷰 위에 사용할 수 없습니다.
- 구체화된 뷰에서 연속 내보내기가 지원되지 않습니다.