Informazioni sui data warehouse in Fabric
Ora che si conoscono i concetti fondamentali di data warehouse, esploriamo cosa offre Microsoft Fabric per il data warehousing.
Descrivere un data warehouse di Fabric
Il data warehouse Fabric è un database relazionale completamente gestito e su scala aziendale basato su OneLake. Offre funzionalità T-SQL transazionali complete, incluse le istruzioni DDL (CREATE, ALTER, DROP) e DML (INSERT, UPDATE, DELETE, MERGE), con conformità ACID completa per la coerenza dei dati.
I dati vengono archiviati in formato Delta aperto in OneLake, il che significa che altri carichi di lavoro di Fabric possono access gli stessi dati senza duplicazione. Si usa T-SQL per creare tabelle, caricare dati, compilare viste e stored procedure ed eseguire trasformazioni, tutte all'interno di un'esperienza SQL familiare.
Le funzionalità principali includono:
- Supporto T-SQL completo: scrivere istruzioni DDL e DML, incluso MERGE per scenari upsert, usando una sintassi SQL Server nota.
- Completamente gestito : nessuna infrastruttura da configurare. L'ambiente di calcolo viene ridimensionato automaticamente e in modo indipendente dall'archiviazione.
- Integrazione di OneLake : i dati del warehouse vengono archiviati in formato Delta e accessibili da altri carichi di lavoro di Fabric senza duplicazione.
- Query incrociate tra database: eseguire query sui dati tra warehouse e lakehouse senza copiare dati. Usare la denominazione in tre parti (database.schema.table) per collegare le tabelle del warehouse alle tabelle del lakehouse in una singola query.
- Strumenti familiari - Connettersi con SQL Server Management Studio (SSMS), Azure Data Studio o qualsiasi client SQL tramite connessioni TDS standard.
- assistenza Copilot - Copilot per Data Warehouse genera query SQL dal linguaggio naturale, fornisce il completamento del codice durante la digitazione e può spiegare o correggere le query esistenti nell'editor SQL.
Endpoint di analisi di Warehouse e SQL
Le aree di lavoro Fabric possono contenere due tipi di elementi basati su SQL che servono obbiettivi diversi.
| Capability | Magazzino | Endpoint di analisi SQL |
|---|---|---|
| Leggere dati | Sì | Sì |
| Scrivere dati (INSERT, UPDATE, DELETE, MERGE) | Sì | NO |
| Creare tabelle (DDL) | Sì | NO |
| Creare viste e stored procedure | Sì | Sì |
| L'origine dei dati | Tabelle del warehouse native | Tabelle Lakehouse Delta |
Usare un warehouse quando sono necessarie funzionalità T-SQL di lettura/scrittura complete. Usare l'endpoint di analisi SQL quando è necessario un accesso SQL di sola lettura per i dati lakehouse.
Creare un data warehouse
È possibile creare un data warehouse in Fabric dal crea hub o in un workspace. Dopo aver creato un warehouse vuoto, è possibile aggiungere tabelle, viste e altri oggetti.
Dopo aver creato il warehouse, è possibile iniziare a creare tabelle e caricare i dati usando il query editor SQL nel portale di Fabric.
Inserire dati nel data warehouse
Esistono diversi modi per caricare i dati in un data warehouse di Fabric:
- COPY INTO: eseguire il caricamento bulk dei dati da file esterni (CSV, Parquet) nell'archiviazione di Azure nelle tabelle del warehouse.
- OPENROWSET - eseguire query sui file direttamente da percorsi di archiviazione esterni o OneLake per l'analisi o l'inserimento su richiesta, senza creare prima le tabelle.
- Pipelines e flussi di dati : usare Data Factory pipelines o Flussi di dati Gen2 per lo spostamento e la trasformazione orchestrati dei dati.
- Query tra database: eseguire query sulle tabelle del lakehouse direttamente dal warehouse usando la denominazione in tre parti, senza copiare i dati.
È possibile usare il COPY INTO comando T-SQL per caricare in blocco i dati dai file. Ad esempio, l'istruzione seguente carica i dati da un file CSV in una tabella:
COPY INTO dbo.Region
FROM 'https://mystorageaccount.blob.core.windows.net/data/Region.csv'
WITH (
FILE_TYPE = 'CSV',
CREDENTIAL = (
IDENTITY = 'Shared Access Signature',
SECRET = 'xxx'
),
FIRSTROW = 2
)
GO
Suggerimento
Se si dispone di tabelle in un lakehouse su cui eseguire query dal warehouse senza apportare modifiche, usare invece l'esecuzione di query tra database. Non è necessario copiare i dati.
Creare tabelle e caricare dati
Dopo aver creato un warehouse e aver scelto un metodo di inserimento, il passaggio successivo consiste nel definire le tabelle e caricarvi i dati.
Le tabelle vengono create usando istruzioni T-SQL CREATE TABLE . Definire colonne con tipi di dati appropriati per i carichi di lavoro di analisi.
CREATE TABLE dbo.DimCustomer
(
CustomerKey INT NOT NULL,
CustomerAltKey NVARCHAR(10) NOT NULL,
CustomerName NVARCHAR(100) NOT NULL,
Region NVARCHAR(50) NULL
);
GO
CREATE TABLE dbo.FactSales
(
SalesKey INT NOT NULL,
CustomerKey INT NOT NULL,
ProductKey INT NOT NULL,
DateKey INT NOT NULL,
SalesAmount DECIMAL(10,2) NOT NULL,
Quantity INT NOT NULL
);
GO
Scegliere i tipi di dati che bilanciano la precisione con l'efficienza di archiviazione. Usare INT per le colonne chiave, NVARCHAR per il testo che può includere caratteri speciali e DECIMAL per i valori finanziari che richiedono precisione.
Usare le tabelle di staging per il caricamento dei dati
Un pattern comune nel data warehousing consiste nel trasferire dati non elaborati in tabelle di staging prima di trasformarli e caricarli in tabelle dei fatti e delle dimensioni finali. Le tabelle di staging rispecchiano la struttura dei dati di origine e fungono da area di controllo temporanea.
Dopo aver caricato i dati in tabelle di staging usando COPY INTO o pipelines, è possibile trasformarli e inserirli nel modello dimensionale:
INSERT INTO dbo.FactSales (SalesKey, CustomerKey, ProductKey, DateKey, SalesAmount, Quantity)
SELECT
s.OrderID,
c.CustomerKey,
p.ProductKey,
d.DateKey,
s.Amount,
s.Qty
FROM dbo.StgSales AS s
INNER JOIN dbo.DimCustomer AS c ON s.CustomerID = c.CustomerAltKey
INNER JOIN dbo.DimProduct AS p ON s.ProductID = p.ProductAltKey
INNER JOIN dbo.DimDate AS d ON s.OrderDate = d.DateValue;
GO
Questo modello mantiene intatti i dati di origine mentre si applicano regole business e ricerche chiave durante il processo di caricamento.
Informazioni sui cloni di tabella
È possibile creare cloni di tabella senza duplicazione nel data warehouse *Fabric*. Clona i metadati della tabella mentre fa ancora riferimento agli stessi file di dati sottostanti in OneLake. I dati stessi non vengono duplicati, che mantiene bassi i costi di storage.
L'esempio di codice seguente illustra come creare un clone con T-SQL:
--Clone creation within the same schema
CREATE TABLE dbo.Employee AS CLONE OF dbo.EmployeeUSA;
I cloni di tabelle sono utili per lo sviluppo e il test, il ripristino dei dati dopo una versione non riuscita e il mantenimento dei dati in momenti specifici per la creazione di report cronologici.
Suggerimento
Per altre informazioni, vedere la tabella Clone nella documentazione di Microsoft Fabric.
Ora che si conoscono le funzionalità del warehouse di Fabric, si esaminerà come eseguire query e trasformare i dati.