Che cos’è Azure SQL Data Warehouse?

Microsoft ha trasformato i suoi servizi Azure in soluzioni cloud di livello aziendale che incorporano funzionalità all’avanguardia come la gestione e l’analisi dei dati.

Microsoft ha lanciato Azure SQL Data Warehouse quando ha deciso di utilizzare il cloud. Microsoft sta spingendo Azure SQL Data Warehouse con grande energia. È un servizio di gestione del database flessibile che combina le funzionalità di data warehouse elastico con esso.

Che cos’è Azure SQL Data Warehouse?

Azure SQL Data Warehouse (ora denominato Azure Synapse Dedicated SQL Pool, un data warehouse basato su cloud, consente di creare e distribuire un data warehouse su Microsoft Azure. Azure Data Warehouse può elaborare grandi quantità di dati relazionali e non relazionali. Offre Funzionalità di data warehouse SQL e una piattaforma di cloud computing.

Supporta i server SQL in modo nativo e può migrare i server SQL esistenti in SQL Data Warehouse. Puoi anche utilizzare le stesse query e costrutti. Inoltre, gli abbonati hanno accesso istantaneo per ridimensionare, mettere in pausa e ridurre le proprie risorse di data warehouse.

Viene utilizzato per fornire una soluzione di data warehouse completa basata su SQL di classe enterprise. Può essere utilizzato anche nei seguenti modi:

  • Migrazione dei data warehouse esistenti (on-premise) nel cloud
  • Fornisci una soluzione di data warehouse per applicazioni e servizi che richiedono l’archiviazione e il recupero dei dati in fase di esecuzione, come le applicazioni Web.
  • Una soluzione di data warehouse ibrida che si connette a Data Warehouse ospitato in Azure e SQL Server in loco.

La caratteristica migliore di Azure SQL Data Warehouse è la sua natura elastica. Consente la scalabilità e la capacità di gestire separatamente sia lo storage che le risorse di calcolo. Crea una piattaforma vantaggiosa per tutti in cui gli utenti pagano solo per ciò che usano e quando lo usano.

Il lato informatico di Azure SQL Data Warehouse si basa su Data Warehouse Unit (DWU), che tiene traccia delle risorse di calcolo come l’I/O di archiviazione e la memoria in tutti i nodi di calcolo partecipanti.

Azure SQL Data Warehouse offre una funzionalità di sicurezza della connessione. Ciò consente di limitare l’accesso a indirizzi IP o intervalli IP specifici utilizzando le regole del firewall. L’integrazione con l’autenticazione di Azure Active Directory (AAD) consentirà di connettersi ad Azure SQL Data Warehouse usando le identità di Azure AD.

La crittografia multilivello fornisce protezione a riposo, in movimento e in uso per proteggere i tuoi dati dall’uso improprio. Sono disponibili strumenti aggiuntivi per controllare e monitorare i dati e identificare le violazioni della sicurezza.

Se combinato con altri strumenti Microsoft, Azure SQL Data Warehouse offre prestazioni senza precedenti, il che rappresenta un grande vantaggio rispetto ad altri servizi comparabili sul mercato.

Pool SQL dedicato di sinapsi di Azure

Pool SQL sinapsi di Azure Il pool SQL dedicato (in precedenza Azure SQL Data Warehouse) è una banca dati di elaborazione parallela massiccia simile alle tecnologie di database scale-out basate su colonne come Snowflake e Amazon Redshift. Sembra un server SQL tradizionale per l’utente finale, ma non archivia ed elabora i dati su un nodo.

Ciò può migliorare notevolmente le prestazioni dei data warehouse di dimensioni superiori a pochi terabyte, ma potrebbero esserci soluzioni migliori per implementazioni più piccole.

L’architettura sottostante è molto diversa dai tradizionali server SQL. Ciò significa che anche la sintassi e i metodi di sviluppo sono diversi.

Le distribuzioni vengono mappate ai nodi di calcolo in un pool SQL dedicato. Il pool rimappa le tue distribuzioni ai nodi Compute man mano che acquisti più risorse di elaborazione.

Puoi importare dati di grandi dimensioni utilizzando semplici query SQL PolyBase e quindi utilizzare il motore di query distribuito per analisi ad alte prestazioni.

Il pool SQL dedicato, precedentemente SQL DW, fornirà alla tua azienda un’unica fonte di verità che ti consente di integrare e analizzare i dati più velocemente e fornisce approfondimenti più solidi.

Qual è la differenza tra i pool SQL dedicati di Azure Synapse e i pool SQL dedicati in un’area di lavoro di Azure Synapse Analytics?

PowerShell è una delle aree più confuse nella documentazione tra “il pool SQL dedicato (in precedenza SQLDW) e i pool SQL dedicati “Synapse Analytics”.

L’implementazione originale di SQL DW usa un server logico simile al database SQL di Azure. Viene condiviso un modulo di PowerShell denominato Az.Sql.

Questo modulo crea un nuovo pool SQL (precedentemente SQLDW) utilizzando il cmdlet New.AzSqlDatabase. Ha un parametro “Edition” che ti permette di specificare che vuoi un DataWarehouse.

Synapse Analytics è stato fornito con un nuovo modulo PowerShell di Az.Synapse quando è stato rilasciato per la prima volta. Per creare un pool SQL dedicato in un’area di lavoro di analisi delle sinapsi, dovresti usare New-AzSynapseSqlPool.

Questo modulo di PowerShell non richiede l’inclusione del parametro “Edition”, poiché viene utilizzato solo per gli artefatti di sinapsi.

Un pool SQL dedicato fornisce elaborazione e archiviazione basate su T-SQL. I dati possono essere caricati, modellati ed elaborati in Synapse per fornire informazioni più rapide.

Azure Synapse offre pool Serverless SQL e Apache Spark oltre a pool SQL dedicati. Puoi scegliere quello giusto in base alle tue esigenze.
Un pool SQL serverless consente di eseguire query sui dati archiviati nel data lake.

Che cosa fa il pool SQL dedicato di sinapsi di Azure?

Il pool SQL dedicato di sinapsi di Azure usa un’architettura con scalabilità orizzontale per distribuire il calcolo dei dati su più nodi. Puoi ridimensionare il calcolo indipendentemente dall’archiviazione perché il calcolo è distinto dall’archiviazione.

I pool SQL serverless sono serverless e si ridimensionano automaticamente per soddisfare i requisiti delle risorse di query. Si adatta alle modifiche delle topologie aggiungendo, rimuovendo o eseguendo il failover dei nodi. Ciò garantisce che la tua query disponga di risorse sufficienti e possa essere completata correttamente.

Synapse SQL si basa su un’architettura basata su nodi. Synapse SQL utilizza un’architettura basata su nodi. Le applicazioni possono connettersi al nodo di controllo ed emettere comandi T-SQL. Questo è l’unico punto per Synapse SQL.

I nodi di controllo SQL di Azure Synapse usano un motore di query distribuito che ottimizza le query per l’elaborazione parallela e quindi passa le operazioni ai nodi di calcolo in modo che possano svolgere il proprio lavoro in parallelo.

Il nodo di controllo del pool SQL serverless utilizza il motore DQP (Distributed Query Processing) per ottimizzare e orchestrare l’esecuzione distribuita.

Questo viene fatto suddividendo la query dell’utente in query più piccole che possono essere eseguite sui nodi di calcolo. Ogni attività è un’unità di esecuzione distribuita. Recupera i dati da altre attività, raggruppa i file e li legge dalla memoria.

I nodi di calcolo archiviano tutti i dati utente ed eseguono query parallele. Data Movement Service (DMS), un servizio interno a livello di sistema, sposta i dati tra i nodi per consentire query parallele e restituisce risultati accurati.

Synapse SQL usa Archiviazione di Azure per la sicurezza dei dati degli utenti. Archiviazione di Azure archivia e gestisce i tuoi dati. È previsto un addebito separato per l’utilizzo dello spazio di archiviazione.

Funzionalità dei pool SQL dedicati di sinapsi di Azure

Di seguito sono elencate le funzionalità principali del pool SQL di sinapsi di Azure:

  • Puoi richiedere informazioni sui dati in vari formati come Parquet, JSON e CSV nel data lake.
  • Gli utenti possono visualizzare i dati più recenti utilizzando un’astrazione relazionale.
  • T-SQL ti permette di trasformare i dati nel lago in modo semplice e scalabile
  • I data scientist possono esaminare rapidamente la struttura e il contenuto dei dati del lago utilizzando OPENROWSET o le funzionalità di inferenza automatica dello schema.
  • I data engineer possono utilizzare il pool per esplorare il lago e trasformare, creare o semplificare le pipeline di trasformazione dei dati.
  • Gli analisti di dati possono accedere ai dati e attivare tabelle esterne tramite il linguaggio T-SQL e altri strumenti familiari. Questi strumenti possono anche essere collegati a un pool SQL serverless.
  • Genera istantaneamente report BI da parte di professionisti della business intelligence su tabelle Spark o data lake.

Pool SQL dedicato vs. Pool SQL senza server

Pool SQL senza server

Le aree di lavoro di Azure Synapse dispongono di un pool SQL serverless che funge da servizio di query sui data lake. Non richiede una configurazione aggiuntiva per accedere ai dati. È completamente serverless e non richiede alcuna infrastruttura per la configurazione o la manutenzione.

Il ridimensionamento può essere eseguito automaticamente per soddisfare i requisiti di risorse. L’utente paga solo per i dati trattati e non per le eventuali risorse riservate. Il pool SQL serverless crea anche statistiche per ottimizzare l’esecuzione delle query.

Ad esempio, quando eseguiamo una query due volte o eseguiamo due query con piani di esecuzione simili, queste statistiche possono essere riutilizzate.
Queste funzionalità ci consentono di analizzare rapidamente grandi quantità di dati senza copiarli o caricarli in un determinato negozio.

Pool SQL dedicato

Il pool SQL dedicato di Synapse è il successore di Azure SQL Data Warehouse e offre tutte le funzionalità di data warehousing aziendale. Tuttavia, non esiste un pool SQL serverless. Gli utenti devono invece creare ed eliminare il pool SQL dedicato di Synapse. Possiamo anche scegliere le risorse che utilizzerà.

Queste risorse vengono misurate utilizzando i pool SQL dedicati di Synapse. Si chiamano Data Warehousing Unit (DWU). Una DWU si riferisce a una combinazione di CPU, memoria e risorse IO.

Il numero di DWU determina le prestazioni e il costo del pool. Invece di essere addebitato per query, ci verrà addebitato per ogni volta che il pool è attivo, indipendentemente da quanto lavoro ha svolto.

Per evitare costi aggiuntivi, i pool dedicati possono essere arrestati e riavviati. Abbiamo creato un pool SQL dedicato da 100 DWU per il nostro test.

Dopo aver creato il pool, i dati possono essere caricati in esso utilizzando il comando COPY, PolyBase con query T–SQL o una pipeline. Questi dati verranno archiviati in una memoria colonnare in tabelle relazionali.

Pool SQL dedicato Pool Serverless SQL Consente di eseguire query sul data lake e acquisirlo. Gli utenti possono eseguire query sui file di data lake. È richiesta l’infrastruttura. Non è necessario stabilire un’infrastruttura o mantenere i cluster. Prima di poter eseguire qualsiasi operazione, è necessario ottenere server dedicati.Non è richiesta alcuna infrastruttura per la trasformazione o l’esplorazione dei dati.Le tabelle relazionali vengono utilizzate per archiviare i dati.Data Lake archivia i dati.Puoi gestire i costi sospendendo il pool SQL e ridimensionando il magazzino.Il costo viene gestito e fatturato automaticamente in base a una base di pagamento per richiesta.Le risorse riservate sono soggette a costo.I costi di elaborazione dei dati per query vengono addebitati.Paga per DWU fornita.Paga per TB elaborati.

Conclusione

Quindi, tutto riguardava Azure SQL Data Warehouse (ora chiamato Azure Synapse Dedicated SQL Pool). Sebbene un pool SQL dedicato possa sembrare simile a un SQL Server tradizionale da molti punti di vista, l’architettura sottostante (elaborazione in parallelo di massa) è completamente diversa. Ciò significa che alcuni concetti e tecniche sono applicabili solo a un pool SQL dedicato.

Puoi anche esplorare le differenze tra Data Lake e Data Warehouse.