Introduzione alla virtualizzazione dei dati con polibase

SI APPLICA A: SQL Server Database SQL di Azure Azure Synapse Analytics Parallel Data Warehouse

Polibase è una funzionalità di virtualizzazione dei dati per SQL Server .

Che cos'è PolyBase?

La polibase consente SQL Server all'istanza di eseguire query sui dati con T-SQL direttamente dai SQL Server cluster, Oracle, Teradata, MongoDB, Hadoop, Cosmos DB senza installare separatamente il software di connessione client. È anche possibile usare il connettore ODBC generico per connettersi a provider aggiuntivi tramite driver ODBC di terze parti. La polibase consente alle query T-SQL di unire i dati da origini esterne a tabelle relazionali in un'istanza di SQL Server .

Un caso d'uso chiave per la virtualizzazione dei dati con la funzionalità di base è quello di consentire ai dati di rimanere nella posizione e nel formato originali. È possibile virtualizzare i dati esterni tramite l' SQL Server istanza di, in modo che sia possibile eseguire query sul posto come qualsiasi altra tabella in SQL Server . Questo processo riduce al minimo la necessità di processi ETL per lo spostamento dei dati. Questo scenario di virtualizzazione dei dati è possibile con l'uso di connettori di base.

Nota

Alcune funzionalità della funzionalità di base sono in anteprima privata per le istanze gestite di SQL di Azure, inclusa la possibilità di eseguire query su dati esterni (file parquet) in Azure Data Lake Storage (ADLS) Gen2. L'anteprima privata include l'accesso alle librerie client e alla documentazione a scopo di test non ancora disponibili pubblicamente. Se si è interessati e si è pronti a investire del tempo per provare le funzionalità e condividere commenti e suggerimenti, consultare la Guida all' Anteprima privata di Azure SQL istanza gestita.

Prodotti e servizi SQL supportati

PolyBase offre queste stesse funzionalità per i prodotti SQL seguenti di Microsoft:

  • SQL Server 2016 (13.x) e versioni successive (solo Windows)
  • SQL Server 2019 (15.x) e versioni successive (Linux)
  • SQL ServerPiattaforma di strumenti analitici (PDW)(PDW), ospitato nel sistema di piattaforma di analisi (APS)
  • Azure Synapse Analytics

Connettori di polibase

La funzionalità di polibase fornisce connettività alle origini dati esterne seguenti:

Origini dati esterne SQL Server con polibase PDW APS Azure Synapse Analytics
Oracle, MongoDB, Teradata Lettura No No
ODBC generico Lettura (solo Windows) No No
Archiviazione di Azure Lettura/Scrittura Lettura/Scrittura Lettura/Scrittura
Hadoop Lettura/Scrittura Lettura/Scrittura No
SQL Server Lettura No No
  • SQL Server 2016 (13.x) introduzione di polibase con supporto per le connessioni a Hadoop e all'archiviazione BLOB di Azure.
  • SQL Server 2019 (15.x) sono stati introdotti connettori aggiuntivi, tra cui SQL Server , Oracle, Teradata e MongoDB.

Esempi di connettori esterni sono i seguenti:

* Polibase supporta due provider Hadoop, Hortonworks Data Platform (HDP) e Cloudera Distributed Hadoop (CDH).

Per utilizzare la polibase in un'istanza di SQL Server :

  1. Installare la polibase in Windows o installare la polibase in Linux.
  2. A partire da SQL Server 2019 (15.x) , abilitare la polibase in sp_configure, se necessario.
  3. Creare un' origine dati esterna.
  4. Creare una tabella esterna.

Integrazione con Azure

Con la guida sottostante di polibase, le query T-SQL possono anche importare ed esportare dati dall'archiviazione BLOB di Azure. Polibase consente inoltre Azure Synapse Analytics di importare ed esportare dati da Azure Data Lake Store e dall'archivio BLOB di Azure.

Perché usare PolyBase

La polibase consente di unire dati da un' SQL Server istanza di a dati esterni. Prima di PolyBase, per aggiungere i dati alle origini dati esterne era possibile eseguire una delle operazioni seguenti:

  • Trasferire la metà dei dati in modo che tutti i dati fossero in una posizione.
  • Eseguire query su entrambe le origini dati, quindi scrivere logica di query personalizzata per creare i join e integrare i dati a livello di client.

PolyBase consente di usare semplicemente Transact-SQL per unire i dati.

PolyBase non richiede di installare software aggiuntivo nell'ambiente Hadoop. Si possono eseguire query sui dati esterni usando la stessa sintassi T-SQL usata per eseguire query su una tabella di database. Le azioni di supporto implementate da PolyBase vengono tutte eseguite in modo trasparente. L'autore della query non deve conoscere l'origine esterna.

Usi di PolyBase

La polibase Abilita gli scenari seguenti in SQL Server :

  • Eseguire query sui dati archiviati in Hadoop da un' SQL Server istanza di o PDW. Gli utenti scelgono di archiviare i dati in sistemi distribuiti e scalabili convenienti, come Hadoop. PolyBase semplifica la query dei dati con T-SQL.

  • Eseguire query sui dati archiviati nell'archivio BLOB di Azure. Nell'archivio BLOB di Azure è possibile salvare i dati da usare con i servizi di Azure. PolyBase semplifica l'accesso ai dati con T-SQL.

  • Importa i dati da Hadoop, dall'archiviazione BLOB di Azure o da Azure Data Lake Store. Sfrutta la velocità della tecnologia columnstore e delle funzionalità di analisi di Microsoft SQL importando i dati da Hadoop, dall'archiviazione BLOB di Azure o Azure Data Lake Store nelle tabelle relazionali. Non è necessario uno strumento di importazione o ETL separato.

  • Esportare i dati in Hadoop, nell'archivio BLOB di Azure o in Azure Data Lake Store. Archivia i dati in Hadoop, nell'archivio BLOB di Azure o in Azure Data Lake Store per ottenere un'archiviazione conveniente e mantenerla online per semplificare l'accesso.

  • Integrarsi con strumenti BI. Usa la polibase con la business intelligence e lo stack di analisi di Microsoft oppure usa qualsiasi strumento di terze parti compatibile con SQL Server .

Prestazioni

  • Eseguire il push del calcolo in Hadoop. PolyBase esegue il push di alcuni calcoli sull'origine esterna per ottimizzare la query complessiva. Query Optimizer prende una decisione basata sui costi per eseguire il push in Hadoop se in questo modo migliorano le prestazioni della query. Per prendere la decisione basata sui costi, Query Optimizer usa le statistiche sulle tabelle esterne. Il push del calcolo crea processi MapReduce e sfrutta le risorse di calcolo distribuite di Hadoop. Per altre informazioni, vedere distribuzione Computing in polibase.

  • Ridimensionare le risorse di calcolo. Per migliorare le prestazioni delle query, è possibile usare i SQL Server gruppi con scalabilità orizzontale di base. Questo consente il trasferimento dei dati paralleli tra SQL Server le istanze e i nodi Hadoop e aggiunge risorse di calcolo per operare sui dati esterni.

Passaggi successivi

Prima di usare la polibase, è necessario installare la Polibase in Windows o installare la polibase in Linuxe abilitare la polibase in sp_configure , se necessario. Vedere quindi le guide di configurazione seguenti a seconda dell'origine dati: