Omezení materializovaných zobrazení a známé problémy

Materializovaný zdroj zobrazení

  • Zdrojová tabulka materializovaného zobrazení:
    • Musí to být tabulka, do které se data přímo ingestují, používají zásady aktualizace nebo ingestují 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 se jako součást příkazu přesunout rozsahy používá setNewIngestionTime vlastnost (další podrobnosti najdete v příkazech .move extents a .replace extents ).
      • Přesunutí rozsahů do zdrojové tabulky materializovaného zobrazení bez použitísetNewIngestionTime může 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).
  • Zdrojová tabulka materializovaného zobrazení musí mít povolenou zásadu IngestionTime (ve výchozím nastavení je povolená).
  • Zdrojovou tabulkou materializovaného zobrazení nemůže být tabulka se zásadami přístupu omezeného zobrazení.
  • Materializované zobrazení nelze vytvořit nad jiným materializovaným zobrazením, pokud první materializované zobrazení není typu take_any(*) agregace. Viz materializované zobrazení nad materializovaným zobrazením.
  • Materializovaná zobrazení nelze definovat pro externí tabulky.

Upozornění

  • Materializované zobrazení bude systémem automaticky zakázáno, pokud změny zdrojové tabulky materializovaného zobrazení nebo změny dat vedou k nekompatibilitě mezi dotazem materializovaného zobrazení a očekávaným schématem materializovaného zobrazení.
    • Chcete-li se této chybě vyhnout, musí být dotaz materializovaného zobrazení deterministický. Například bag_unpack nebo kontingenční moduly plug-in mají za následek ne deterministické schéma.
    • Při použití arg_max(Timestamp, *) agregace a v autoUpdateSchema případě hodnoty false můžou změny ve zdrojové tabulce vést také k neshodě schématu.
      • Tomuto selhání se vyhněte tak, že definujete dotaz zobrazení jako arg_max(Timestamp, Column1, Column2, ...)nebo použijete autoUpdateSchema možnost .
  • Použití autoUpdateSchema může vést k nevratné ztrátě dat při vyřazení sloupců ve zdrojové tabulce.
  • Monitorování automatického zakázání materializovaných zobrazení pomocí metriky MaterializedViewResult
  • Po opravě problémů s nekompatibilitou by se mělo zobrazení explicitně znovu povolit pomocí příkazu povolit materializované zobrazení .

Dopad záznamů přijatých do zdrojové tabulky nebo vyřazených ze zdrojové tabulky

  • Materializované zobrazení zpracovává pouze nové záznamy ingestované do zdrojové tabulky. Záznamy odebrané ze zdrojové tabulky, ať už spuštěnímrozsahuobnovitelného odstranění/ vymazání dat/, nebo kvůli zásadám uchovávání informací nebo z jakéhokoli jiného důvodu, nemají na materializované zobrazení žádný vliv.
  • Materializované zobrazení má vlastní zásady uchovávání informací, které jsou nezávislé na zásadách uchovávání informací ve zdrojové tabulce. Materializované zobrazení může obsahovat záznamy, které nejsou ve zdrojové tabulce k dispozici.

Následnické databáze

  • Materializovaná zobrazení nelze vytvořit v databázích sledujících. Databáze sledujících jsou jen pro čtení a materializovaná zobrazení vyžadují operace zápisu.
  • Materializovaná zobrazení, která jsou definovaná v databázích vodicích instancí, se můžou dotazovat od jejich sledujících, stejně jako jakákoli jiná tabulka v vedoucí databázi.
  • Pomocí vedoucího clusteru můžete monitorovat materializovaná zobrazení sledující databáze. Další podrobnosti najdete v tématu Materializovaná zobrazení v databázích sledujících.

Jiné

  • Funkce kurzoru se nedají použít nad materializovanými zobrazeními.
  • Průběžný export z materializovaného zobrazení se nepodporuje.