Sdílet prostřednictvím


Monitorování materializovaných zobrazení

Platí pro: ✅Microsoft FabricAzure Data Explorer

Stav materializovaného zobrazení můžete monitorovat následujícími způsoby:

  • Monitorujte materializované metriky zobrazení na webu Azure Portal.
    • K monitorování aktuálnosti zobrazení by se měla použít materializovaná metrika MaterializedViewAgeSeconds stáří zobrazení. Tato metrika by měla být primární metrikou, která se má monitorovat.

Poznámka:

Materializace nikdy nepřekočí žádná data, i když dojde k konstantním selháním. Zobrazení je vždy zaručeno, že vrátí nejaktuálnější snímek dotazu na základě všech záznamů ve zdrojové tabulce. Konstantní selhání výrazně sníží výkon dotazů, ale nezpůsobí nesprávné výsledky v dotazech zobrazení.

Řešení potíží s materializovanými zobrazeními, která nejsou v pořádku

Metrika MaterializedViewHealth označuje, jestli je materializované zobrazení v pořádku. Před materializovaným zobrazením, které není v pořádku, se jeho věk, poznamenáný metrikou MaterializedViewAgeSeconds , postupně zvyšuje.

Materializované zobrazení může být v pořádku z libovolného nebo všech následujících důvodů:

  • Proces materializace selhává. Metrika MaterializedViewResult a .show materialized-view failures příkaz vám můžou pomoct identifikovat původní příčinu selhání.
  • Systém mohl automaticky zakázat materializované zobrazení kvůli změnám zdrojové tabulky. Pokud chcete zkontrolovat, jestli je zobrazení zakázané, zkontrolujte IsEnabled sloupec vrácený příkazem.show materialized-view. Další podrobnosti o omezeních materializovaných zobrazeních a známých problémech
  • Databáze nemá dostatečnou kapacitu pro materializaci všech příchozích dat včas. V takovém případě nemusí dojít k selháním při provádění. Věk zobrazení se ale postupně zvyšuje, protože není schopen držet krok s mírou příjmu dat. Tato situace může mít několik původních příčin:
    • Databáze má více materializovaných zobrazení a databáze nemá dostatečnou kapacitu ke spuštění všech zobrazení. Podívejte se na materializované zásady kapacity zobrazení a změňte výchozí nastavení počtu materializovaných zobrazení spuštěných souběžně.
    • Materializace je pomalá, protože nově ingestovaná data protínají s velkou částí zobrazení a v každém materializačním cyklu se aktualizuje mnoho záznamů. Další informace o tom, proč to má vliv na výkon zobrazení, najdete v tom , jak materializovaná zobrazení fungují.

MaterializedViewResult – metrika

Metrika MaterializedViewResult poskytuje informace o výsledku materializačního cyklu a lze ji použít k identifikaci problémů ve stavu materializovaného zobrazení. Metrika zahrnuje Database a MaterializedViewName Result dimenzi.

Dimenze Result může mít jednu z následujících hodnot:

  • Úspěch: Materializace byla úspěšně dokončena.

  • SourceTableNotFound: Zdrojová tabulka zobrazení materializace byla vyřazena. Materializované zobrazení je v důsledku toho automaticky zakázáno.

  • SourceTableSchemaChange: Schéma zdrojové tabulky se změnilo způsobem, který není kompatibilní s definicí materializovaného zobrazení (materializovaný dotaz zobrazení neodpovídá schématu materializovaného zobrazení). Materializované zobrazení je v důsledku toho automaticky zakázáno.

  • InsufficientCapacity: Databáze nemá dostatečnou kapacitu pro materializaci materializovaného zobrazení. To může indikovat chybějící kapacitu příjmu dat nebo chybějící materializovanou kapacitu zobrazení. Nedostatečná selhání kapacity může být přechodná, ale pokud se často opakuje, doporučujeme vertikálně navýšit kapacitu databáze nebo zvýšit příslušnou kapacitu v zásadách.

  • InsufficientResources: Databáze nemá dostatek prostředků (PROCESOR/paměť) k materializaci materializovaného zobrazení. Tato chyba může být přechodná, ale pokud dojde k opakování, zkuste vertikálně navýšit nebo zmenšit kapacitu databáze.

    • Pokud proces materializace dosáhne limitů paměti, je možné zvýšit limity skupiny úloh $materialized zobrazení, aby podporoval více paměti nebo procesoru, aby proces materializace spotřebovávat.

    Následující příkaz například změní skupinu materializovaných zobrazení úloh tak, aby během materializace používala maximálně 64 gigabajtů (GB) paměti na uzel (výchozí hodnota je 15 GB):

    .alter-merge workload_group ['$materialized-views'] ```
    {
      "RequestLimitsPolicy": {
        "MaxMemoryPerQueryPerNode": {
          "Value": 68719241216
        }
      }
    } ```
    

    Poznámka:

    MaxMemoryPerQueryPerNode nelze nastavit na více než 50 % celkové paměti každého uzlu.

Materializovaná zobrazení v následných databázích

Materializovaná zobrazení lze definovat v následných databázích. Monitorování těchto materializovaných zobrazení by však mělo být založeno na databázi vedoucí databáze, ve které je definováno materializované zobrazení. Konkrétně:

  • Metriky související se spouštěním materializovaného zobrazení (MaterializedViewResult, MaterializedViewExtentsRebuild) se nacházejí pouze v databázi vedoucího serveru. Metriky související s monitorováním (MaterializedViewAgeSeconds, MaterializedViewHealth, MaterializedViewRecordsInDelta) se také zobrazí v následných databázích.
  • Příkaz .show materialized-view failures funguje pouze v databázi leader.

Sledování spotřeby prostředků

Spotřeba prostředků materializovaných zobrazení: Prostředky spotřebované materializovaným procesem materializace zobrazení lze sledovat pomocí .show commands-and-queries příkazu. Vyfiltrujte záznamy pro konkrétní zobrazení pomocí následujícího příkazu (nahraďte DatabaseName a ViewName):

.show commands-and-queries 
| where Database  == "DatabaseName" and ClientActivityId startswith "DN.MaterializedViews;ViewName;"