Limitazioni delle visualizzazioni materializzate e problemi noti

Origine vista materializzata

  • Tabella di origine di una vista materializzata:
    • Deve essere una tabella in cui i dati vengono inseriti direttamente, usando uno dei metodi di inserimento, usando un criterio di aggiornamento o l'inserimento da comandi di query.
      • L'uso degli extent di spostamento da altre tabelle alla tabella di origine della vista materializzata è supportato solo se si usa setNewIngestionTime la proprietà come parte del comando move extents (per altri dettagli, fare riferimento al comando .move extents).
      • Lo spostamento di extent nella tabella di origine di una vista materializzata, mentre non è in uso setNewIngestionTime può non riuscire con uno degli errori seguenti:
        • 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).
  • La tabella di origine di una vista materializzata deve avere i criteri IngestionTime abilitati (è abilitato per impostazione predefinita).
  • La tabella di origine di una vista materializzata non può essere una tabella con criteri di accesso con visualizzazione limitata.
  • Non è possibile creare una vista materializzata sopra un'altra vista materializzata, a meno che la prima vista materializzata non sia di tipo take_any(*) aggregazione. Vedere la vista materializzata sulla vista materializzata.
  • Le viste materializzate non possono essere definite su tabelle esterne.

Avviso

  • Una vista materializzata verrà disabilitata automaticamente dal sistema se le modifiche apportate alla tabella di origine della vista materializzata o le modifiche apportate ai dati causano incompatibilità tra la query di visualizzazione materializzata e lo schema della vista materializzata prevista.
    • Per evitare questo errore, la query di visualizzazione materializzata deve essere deterministica. Ad esempio, i plug-in bag_unpack o pivot generano uno schema non deterministico.
    • Quando si usa un'aggregazione arg_max(Timestamp, *) e quando autoUpdateSchema è false, anche le modifiche apportate alla tabella di origine possono causare mancate corrispondenze dello schema.
      • Evitare questo errore definendo la query di visualizzazione come arg_max(Timestamp, Column1, Column2, ...)o usando l'opzione autoUpdateSchema .
  • L'uso autoUpdateSchema di può causare una perdita irreversibile di dati quando le colonne nella tabella di origine vengono eliminate.
  • Monitorare la disabilitazione automatica delle viste materializzate usando la metrica MaterializedViewResult.
  • Dopo aver risolto i problemi di incompatibilità, la visualizzazione deve essere riabilitata in modo esplicito usando il comando abilita vista materializzata .

Impatto dei record inseriti o eliminati dalla tabella di origine

  • Una vista materializzata elabora solo i nuovi record inseriti nella tabella di origine. I record rimossi dalla tabella di origine, eseguendo gliextent dieliminazione temporanea dell'eliminazione/ dei dati/ o a causa di criteri di conservazione o qualsiasi altro motivo, non hanno alcun impatto sulla vista materializzata.
  • La vista materializzata dispone di criteri di conservazione propri, indipendentemente dai criteri di conservazione della tabella di origine. La vista materializzata può includere record non presenti nella tabella di origine.

Database di follower

  • Le viste materializzate non possono essere create nei database follower. I database follower sono viste di sola lettura e materializzate richiedono operazioni di scrittura.
  • Le viste materializzate definite nei database leader possono essere sottoposte a query dai propri follower, come qualsiasi altra tabella nel leader.
  • Usare il cluster leader per monitorare le viste materializzate del database follower. Per altre informazioni, vedere Viste materializzate nei database follower.

Altro

  • Le funzioni cursori non possono essere usate sopra le viste materializzate.
  • L'esportazione continua da una vista materializzata non è supportata.