Ograniczenia i znane problemy dotyczące zmaterializowanych widoków
Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer
Zmaterializowane źródło widoku
- Tabela źródłowa zmaterializowanego widoku:
- Musi być tabelą, w której dane są pozyskiwane bezpośrednio, przy użyciu zasad aktualizacji lub pozyskiwane z poleceń zapytania.
- Używanie zakresów przenoszenia lub zastępowanie zakresów z innych tabel do tabeli źródłowej zmaterializowanego widoku jest obsługiwane tylko w przypadku używania
setNewIngestionTime
właściwości w ramach polecenia zakresów przenoszenia (zobacz .move extents i .replace extents polecenia, aby uzyskać więcej szczegółów). - Przeniesienie zakresów do tabeli źródłowej zmaterializowanego widoku, chociaż nie jest używane
setNewIngestionTime
, może zakończyć się niepowodzeniem z jednym z następujących błędów: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)
.
- Używanie zakresów przenoszenia lub zastępowanie zakresów z innych tabel do tabeli źródłowej zmaterializowanego widoku jest obsługiwane tylko w przypadku używania
- Musi być tabelą, w której dane są pozyskiwane bezpośrednio, przy użyciu zasad aktualizacji lub pozyskiwane z poleceń zapytania.
- Tabela źródłowa zmaterializowanego widoku musi mieć włączone zasady IngestionTime. Te zasady są domyślnie włączone.
- Jeśli zmaterializowany widok używa elementu
lookback
(zobacz obsługiwane właściwości),ingestion_time()
element musi zostać zachowany w zapytaniu zmaterializowanego widoku. Operatory, takie jak mv-expand lub wtyczka przestawna, nie zachowują elementuingestion_time()
i dlatego nie mogą być używane w zmaterializowanym widoku za pomocą elementulookback
. - Tabela źródłowa zmaterializowanego widoku nie może być tabelą z ograniczonymi zasadami dostępu do widoku.
- Nie można utworzyć zmaterializowanego widoku na podstawie innego zmaterializowanego widoku, chyba że pierwszy zmaterializowany widok jest agregacją typów
take_any(*)
. Zobacz zmaterializowany widok w zmaterializowanym widoku. - Zmaterializowane widoki nie mogą być definiowane za pośrednictwem tabel zewnętrznych.
Ostrzeżenie
- Zmaterializowany widok zostanie automatycznie wyłączony przez system, jeśli zmiany w tabeli źródłowej zmaterializowanego widoku lub zmiany w danych prowadzą do niezgodności między zmaterializowanym zapytaniem widoku a oczekiwanym schematem zmaterializowanego widoku.
- Aby uniknąć tego błędu, zmaterializowane zapytanie widoku musi być deterministyczne. Na przykład wtyczki bag_unpack lub pivot powodują niedeterministyczny schemat.
- W przypadku używania
arg_max(Timestamp, *)
agregacji iautoUpdateSchema
wartości false zmiany w tabeli źródłowej mogą również prowadzić do niezgodności schematu.- Unikaj tego błędu, definiując zapytanie widoku jako
arg_max(Timestamp, Column1, Column2, ...)
, lub używającautoUpdateSchema
opcji .
- Unikaj tego błędu, definiując zapytanie widoku jako
- Użycie
autoUpdateSchema
może prowadzić do nieodwracalnej utraty danych, gdy kolumny w tabeli źródłowej zostaną porzucone. - Monitoruj automatyczne wyłączanie zmaterializowanych widoków przy użyciu metryki MaterializedViewResult.
- Po rozwiązaniu problemów z niezgodnością widok powinien zostać jawnie ponownie włączony przy użyciu polecenia włącz zmaterializowany widok .
Wpływ rekordów pozyskanych do lub usuniętych z tabeli źródłowej
- Zmaterializowany widok przetwarza tylko nowe rekordy pozyskane do tabeli źródłowej. Rekordy, które są usuwane z tabeli źródłowej, uruchamiając zakresy usuwania nietrwałego/usuwania nietrwałego lub/z powodu zasad przechowywania lub innych przyczyn, nie mają wpływu na zmaterializowany widok.
- Zmaterializowany widok ma własne zasady przechowywania, które są niezależne od zasad przechowywania tabeli źródłowej. Zmaterializowany widok może zawierać rekordy, które nie są obecne w tabeli źródłowej.
Bazy danych obserwujących
- Nie można utworzyć zmaterializowanych widoków w bazach danych obserwowanych. Bazy danych obserwowanych to widoki tylko do odczytu i zmaterializowane wymagają operacji zapisu.
- Nie można utworzyć zmaterializowanych widoków w skrótach bazy danych. Skróty bazy danych to widoki tylko do odczytu i zmaterializowane widoki wymagają operacji zapisu.
- Zmaterializowane widoki zdefiniowane w bazach danych liderów mogą być odpytywane przez ich obserwatorów, podobnie jak każda inna tabela w rankingu.
- Użyj klastra lidera do monitorowania zmaterializowanych widoków bazy danych obserwowanych. Aby uzyskać więcej informacji, zobacz zmaterializowane widoki w kolejnych bazach danych.
- Użyj źródła eventhouse do monitorowania zmaterializowanych widoków bazy danych skrótów. Aby uzyskać więcej informacji, zobacz Monitorowanie zmaterializowanych widoków
Inne
- Funkcji kursora nie można używać na podstawie zmaterializowanych widoków.
- Eksport ciągły z zmaterializowanego widoku nie jest obsługiwany.