Omezení materializovaných zobrazení a známé problémy
Platí pro: ✅Microsoft Fabric✅Azure Data Explorer
Materializovaný zdroj zobrazení
- Zdrojová tabulka materializovaného zobrazení:
- Musí to být tabulka, do které se data přímo ingestují, pomocí zásad aktualizace nebo ingestování z příkazů dotazu.
- Použití rozsahů přesunutí nebo nahrazení rozsahů z jiných tabulek do zdrojové tabulky materializovaného zobrazení je podporováno pouze v případě, že jako součást příkazu rozsahů přesunu použijete
setNewIngestionTime
vlastnost (další podrobnosti najdete v příkazech rozsahů .move a .replace extents). - Přesunutí rozsahů do zdrojové tabulky materializovaného zobrazení, zatímco použití
setNewIngestionTime
nemusí selhat s jednou z následujících chyb: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)
.
- Použití rozsahů přesunutí nebo nahrazení rozsahů z jiných tabulek do zdrojové tabulky materializovaného zobrazení je podporováno pouze v případě, že jako součást příkazu rozsahů přesunu použijete
- Musí to být tabulka, do které se data přímo ingestují, pomocí zásad aktualizace nebo ingestování z příkazů dotazu.
- Zdrojová tabulka materializovaného zobrazení musí mít povolenou zásadu IngestionTime. Tato zásada je ve výchozím nastavení povolená.
- Pokud materializované zobrazení používá
lookback
(viz podporované vlastnosti),ingestion_time()
je nutné zachovat v dotazu materializovaného zobrazení. Operátory, jako je mv-expand nebo modul plug-in kontingenčního modulu, nezachovajíingestion_time()
, a proto je nelze použít v materializovaném zobrazení s modulemlookback
. - Zdrojová tabulka materializovaného zobrazení nemůže být tabulka se zásadami omezeného přístupu k zobrazení.
- Materializované zobrazení nelze vytvořit nad jiným materializovaným zobrazením, pokud není první materializované zobrazení agregace typu
take_any(*)
. Zobrazit materializované zobrazení nad materializovaným zobrazením - Materializovaná zobrazení nelze definovat v externích tabulkách.
Upozorňující
- Materializované zobrazení bude systémem automaticky zakázáno, pokud se změní zdrojová tabulka materializovaného zobrazení nebo změny dat vedou k nekompatibilitě mezi materializovaným dotazem zobrazení a očekávaným materializovaným schématem zobrazení.
- Aby se této chybě zabránilo, musí být dotaz materializovaného zobrazení deterministický. Například bag_unpack nebo kontingenční moduly plug-in vedou k ne deterministickému schématu.
- Pokud používáte
arg_max(Timestamp, *)
agregaci a kdyautoUpdateSchema
je false, můžou změny zdrojové tabulky vést také k neshodám schématu.- Vyhněte se této chybě definováním dotazu zobrazení jako
arg_max(Timestamp, Column1, Column2, ...)
nebo pomocíautoUpdateSchema
možnosti.
- Vyhněte se této chybě definováním dotazu zobrazení jako
- Použití
autoUpdateSchema
může vést k nevratné ztrátě dat při vyřazení sloupců ve zdrojové tabulce. - Monitorujte automatické zakázání materializovaných zobrazení pomocí metriky MaterializedViewResult.
- Po opravě problémů s nekompatibilitou by mělo být zobrazení explicitně znovu povoleno pomocí příkazu povolit materializované zobrazení .
Dopad přijatých nebo vyřazených záznamů ze zdrojové tabulky
- Materializované zobrazení zpracovává pouze nové záznamy přijaté do zdrojové tabulky. Záznamy, které jsou ze zdrojové tabulky odebrané buď spuštěním rozsahů odstranění/obnovitelného odstranění/dat, nebo z důvodu zásad uchovávání informací nebo z jakéhokoli jiného důvodu, nemají žádný vliv na materializované zobrazení.
- Materializované zobrazení má vlastní zásady uchovávání informací, které jsou nezávislé na zásadách uchovávání informací zdrojové tabulky. Materializované zobrazení může obsahovat záznamy, které nejsou ve zdrojové tabulce.
Následnické databáze
- Materializovaná zobrazení nelze vytvořit v následných databázích. Následné databáze jsou jen pro čtení a materializovaná zobrazení vyžadují operace zápisu.
- Materializovaná zobrazení nelze vytvořit v klávesových zkratkách databáze. Klávesové zkratky databáze jsou jen pro čtení a materializovaná zobrazení vyžadují operace zápisu.
- Materializovaná zobrazení definovaná v databázích vedoucích uživatelů se dají dotazovat od sledujících, stejně jako jakákoli jiná tabulka v vedoucí tabulce.
- Pomocí clusteru leader můžete monitorovat materializovaná zobrazení databáze sledování. Další podrobnosti najdete v tématu Materializovaná zobrazení v následných databázích.
- Pomocí zdrojového objektu Eventhouse můžete monitorovat materializovaná zobrazení místní databáze. Další podrobnosti najdete v tématu Monitorování materializovaných zobrazení.
Jiný důvod
- Funkce kurzoru nelze použít nad materializovanými zobrazeními.
- Průběžný export z materializovaného zobrazení není podporovaný.