Caricare le tabelle di un data warehouse
A livello di base, il caricamento di un data warehouse viene in genere eseguito aggiungendo i nuovi dati dai file in un data lake nelle tabelle nel data warehouse. L'istruzione COPY
è un modo efficace per eseguire questa attività, come illustrato nell'esempio seguente:
COPY INTO dbo.StageProducts
(ProductID, ProductName, ProductCategory, Color, Size, ListPrice, Discontinued)
FROM 'https://mydatalake.blob.core.windows.net/data/stagedfiles/products/*.parquet'
WITH
(
FILE_TYPE = 'PARQUET',
MAXERRORS = 0,
IDENTITY_INSERT = 'OFF'
);
Considerazioni sulla progettazione di un processo di caricamento del data warehouse
Uno dei modelli più comuni per il caricamento di un data warehouse consiste nel trasferimento dei dati dai sistemi di origine ai file in un data lake, nell'inserimento dei dati dei file nelle tabelle di staging e quindi nell'uso di istruzioni SQL per caricare i dati dalle tabelle di staging nelle tabelle delle dimensioni e dei fatti. Il caricamento dei dati viene in genere eseguito come processo batch periodico, in cui gli inserimenti e gli aggiornamenti nel data warehouse sono programmati a intervalli regolari, ad esempio su base giornaliera, settimanale o mensile.
In genere, è consigliabile implementare il processo di caricamento del data warehouse affinché esegua le attività nell’ordine seguente:
- Inserire i nuovi dati da caricare in un data lake, applicando la pulizia o le trasformazioni di pre-caricamento in base alle esigenze.
- Caricare i dati dai file nelle tabelle di staging nel data warehouse relazionale.
- Caricare le tabelle delle dimensioni dai dati delle dimensioni nelle tabelle di staging, aggiornando le righe esistenti o inserendo nuove righe e generando valori di chiave sostitutiva, in base alle esigenze.
- Caricare le tabelle dei fatti dai dati dei fatti nelle tabelle di staging, cercando le chiavi sostitutive appropriate per le dimensioni correlate.
- Eseguire l'ottimizzazione post-caricamento aggiornando gli indici e le statistiche di distribuzione delle tabelle.
Dopo aver usato l'istruzione COPY
per caricare i dati nelle tabelle di staging, è possibile usare una combinazione di istruzioni INSERT
, UPDATE
, MERGE
e CREATE TABLE AS SELECT
(CTAS) per caricare i dati di gestione temporanea nelle tabelle delle dimensioni e dei fatti.
Nota
L'implementazione di una soluzione di caricamento efficace del data warehouse richiede un'attenta considerazione su come gestire le chiavi surrogate, le dimensioni a modifica lenta e altri aspetti complessi intrinseci in uno schema di data warehouse relazionale. Per altre informazioni sulle tecniche per il caricamento di un data warehouse, è consigliabile completare il modulo Caricare dati in un data warehouse relazionale.