Introduzione alla virtualizzazione dei dati con PolyBase
SI APPLICA A:
SQL Server
Database SQL di Azure
Azure Synapse Analytics
Parallel Data Warehouse
PolyBase è una funzionalità di virtualizzazione dei dati per SQL Server.
Che cos'è PolyBase?
PolyBase SQL Server consente all'istanza di eseguire query sui dati con T-SQL SQL Serverdirettamente da , Oracle, Teradata, MongoDB, cluster Hadoop, Cosmos DB senza installare separatamente il software di connessione client. È anche possibile usare il connettore ODBC generico per connettersi a provider aggiuntivi usando driver ODBC di terze parti. PolyBase 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à PolyBase è consentire ai dati di rimanere nella posizione e nel formato originali. È possibile virtualizzare i dati esterni SQL Server tramite l'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 PolyBase.
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 in Analytics Platform System (piattaforma di strumenti analitici)
- Azure Synapse Analytics
Nota
La virtualizzazione dei dati con la funzionalità PolyBase è disponibile in anteprima per Azure SQL Istanza gestita, con l'ambito di eseguire query sui dati esterni archiviati in file in Azure Data Lake Archiviazione (ADLS) Gen2 e Azure Blob Archiviazione. Per altre informazioni, vedere Virtualizzazione dei dati SQL Istanza gestita Azure.
Connettori PolyBase
La funzionalità PolyBase fornisce la connettività alle origini dati esterne seguenti:
Origini dati esterne | SQL Server con PolyBase | piattaforma di strumenti analitici PDW | Azure Synapse Analytics |
---|---|---|---|
Oracle, MongoDB, Teradata | Lettura | No | No |
ODBC generico | Lettura (Windows lettura) | 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) Ha introdotto PolyBase con il supporto per le connessioni ad Hadoop e all'archiviazione BLOB di Azure.
- SQL Server 2019 (15.x) sono stati introdotti connettori aggiuntivi, tra SQL Servercui , Oracle, Teradata e MongoDB.
Esempi di connettori esterni sono i seguenti:
*PolyBase supporta due provider Hadoop, Hortonworks Data Platform (HDP) e Cloudera Distributed Hadoop (CDH), fino SQL Server 2019. SQL Server supporto per le origini dati esterne HDFS Cloudera (CDP) e Hortonworks (HDP) verrà ritirato e non verrà incluso in SQL Server 2022. Per altre informazioni, vedere Opzioni per Big Data nella Microsoft SQL Server piattaforma.
Per usare PolyBase in un'istanza di SQL Server:
- Installare PolyBase in Windows o Installare PolyBase in Linux.
- A partire da SQL Server 2019 (15.x), abilitare PolyBase in sp_configure, se necessario.
- Creare un'origine dati esterna.
- Creare una tabella esterna.
Integrazione con Azure
Con l'aiuto sottostante di PolyBase, le query T-SQL possono anche importare ed esportare dati dall'archivio BLOB di Azure. PolyBase consente inoltre di Azure Synapse Analytics importare ed esportare dati da Azure Data Lake Store e dall'archiviazione BLOB di Azure.
Perché usare PolyBase
PolyBase consente di unire i dati di un'istanza con SQL Server 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
PolyBase consente gli scenari seguenti in SQL Server:
Eseguire query sui dati archiviati in Hadoop da un'istanza SQL Server 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.
Importare dati da Hadoop, archiviazione BLOB di Azure o azure Data Lake Store. Sfruttare la velocità della tecnologia columnstore e delle funzionalità di analisi di Microsoft SQL importando dati da Hadoop, archiviazione BLOB di Azure o azure Data Lake Store in tabelle relazionali. Non è necessario uno strumento di importazione o ETL separato.
Esportare i dati in Hadoop, archiviazione BLOB di Azure o azure Data Lake Store. Archiviare i dati in Hadoop, nell'archiviazione BLOB di Azure o in Azure Data Lake Store per ottenere un'archiviazione conveniente e mantenerla online per un facile accesso.
Integrarsi con strumenti BI. Usare PolyBase con lo stack di business intelligence e di analisi di Microsoft oppure usare strumenti di terze parti compatibili 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 Pushdown computations in PolyBase (Calcoli di pushdown in PolyBase).
Ridimensionare le risorse di calcolo. Per migliorare le prestazioni delle query, è possibile usare i gruppi SQL Server con scalabilità orizzontale polyBase. Ciò consente il trasferimento parallelo dei dati SQL Server tra istanze e nodi Hadoop e aggiunge risorse di calcolo per operare sui dati esterni.
Importante
I Microsoft SQL Server di scalabilità orizzontale di PolyBase verranno ritirati. La funzionalità del gruppo di scalabilità orizzontale verrà rimossa dal prodotto SQL Server 2022. La virtualizzazione dei dati polyBase continuerà a essere completamente supportata come funzionalità di scalabilità verticale in SQL Server. Per altre informazioni, vedere Opzioni big data nella piattaforma Microsoft SQL Server dati.
Passaggi successivi
Prima di usare PolyBase, è necessario installare PolyBase in Windows o installare PolyBase in Linux e abilitare PolyBase in sp_configure se necessario. Vedere quindi le guide di configurazione seguenti a seconda dell'origine dati: