Condividi tramite


Tabelle dei fatti e delle dimensioni

Quando si progetta lo schema per un database di Azure Esplora dati, considerare le tabelle come ampiamente appartenenti a una delle due categorie.

Tabelle dei fatti

Le tabelle dei fatti sono tabelle i cui record sono "fatti" non modificabili, ad esempio i log di servizio e le informazioni di misurazione. I record vengono aggiunti progressivamente alla tabella in modo di streaming o in blocchi di grandi dimensioni. I record rimangono lì fino a quando non vengono rimossi a causa del costo o perché hanno perso il loro valore. In caso contrario, i record non vengono mai aggiornati.

I dati delle entità vengono talvolta mantenuti nelle tabelle dei fatti, in cui i dati dell'entità cambiano lentamente. Ad esempio, i dati relativi a un'entità fisica, ad esempio un componente dell'ufficio che cambia raramente la posizione. Poiché i dati in Kusto non sono modificabili, la procedura comune consiste nell'avere ogni tabella contenente due colonne:

  • Colonna Identity (string) che identifica l'entità
  • Colonna timestamp dell'ultima modifica (datetime)

Viene quindi recuperato solo l'ultimo record per ogni identità di entità.

Tabelle delle dimensioni

Tabelle delle dimensioni:

  • Contenere i dati di riferimento, ad esempio le tabelle di ricerca da un identificatore di entità alle relative proprietà
  • Conservare dati simili a snapshot in tabelle il cui intero contenuto cambia in una singola transazione

Le tabelle delle dimensioni non vengono inserite regolarmente con nuovi dati. Al contrario, l'intero contenuto dei dati viene aggiornato contemporaneamente, usando operazioni quali .set-or-replace, extent di spostamento o tabelle con estensione rename.

In alcuni casi, le tabelle delle dimensioni possono essere derivate dalle tabelle dei fatti. Questo processo può essere eseguito tramite una vista materializzata nella tabella dei fatti, con una query sulla tabella che accetta l'ultimo record per ogni entità.

Distinguere le tabelle dei fatti e delle dimensioni

Esistono processi in Kusto che distinguono tra tabelle dei fatti e tabelle delle dimensioni. Uno di essi è l'esportazione continua.

Questi meccanismi sono garantiti per elaborare i dati nelle tabelle dei fatti esattamente una volta. Si basano sul meccanismo del cursore del database .

Ad esempio, ogni esecuzione di un processo di esportazione continua esporta tutti i record inseriti dall'ultimo aggiornamento del cursore del database. I processi di esportazione continua devono distinguere tra tabelle dei fatti e tabelle delle dimensioni. Le tabelle dei fatti elaborano solo i dati appena inseriti e le tabelle delle dimensioni vengono usate come ricerche. Di conseguenza, l'intera tabella deve essere presa in considerazione.

Non è possibile "contrassegnare" una tabella come una "tabella dei fatti" o una "tabella delle dimensioni". Il modo in cui i dati vengono inseriti nella tabella e come viene usata la tabella è ciò che identifica il tipo.