Introduzione a PolyBase
- 8 minuti
PolyBase è la funzionalità usata da SQL Server per abilitare il concetto di virtualizzazione dei dati. PolyBase è stato originariamente rilasciato in SQL Server 2016 ed è stato migliorato in ogni versione successiva di SQL Server. Tuttavia, il concetto generale di accesso ai dati in modalità remota senza dover copiare i dati risale a SQL Server 7.0 con l'introduzione di Linked Server.
La tabella seguente elenca la prima versione di SQL Server per supportare varie funzionalità di PolyBase.
| SQL Server 2016 | SQL Server 2017 | SQL Server 2019 | SQL Server 2025 |
|---|---|---|---|
| •Hadoop • Archiviazione BLOB di Azure |
• Miglioramenti di OPENROWSET • CSV per Archiviazione BLOB di Azure • Credenziali con ambito database |
• SQL Server •Oracolo • Azure Cosmos DB •Mongodb •Teradata • Supporto linux • ODBC generico |
• Nuovo framework di connessione • Integrazione dell'archiviazione di oggetti •CSV • Parquet •Delta • CETAS |
Per altre informazioni su PolyBase, vedere Funzionalità e limitazioni di PolyBase.
Miglioramenti di PolyBase in SQL Server 2025
Supporto nativo per CSV, Parquet e Delta 1: il servizio query PolyBase per l'installazione di dati esterni non è più necessario per usare OPENROWSET, CREATE EXTERNAL TABLE o CREATE EXTERNAL TABLE AS SELECT con i tipi di dati esterni seguenti: Parquet, Delta, Archiviazione BLOB di Azure (ABS), Azure Data Lake Storage (ADLS) o Archiviazione oggetti compatibile con S3.
Usare origini dati ODBC generiche in Linux: per altre informazioni, vedere Configurare PolyBase per accedere a dati esterni con tipi generici ODBC.
Supporto TDS 8.0: quando si usa Microsoft ODBC Driver 18 per SQL Server, TDS 8.0 non è supportato per SQL Server come origine dati esterna.
Archiviazione di oggetti compatibile con S3
SQL Server 2025 supporta l'archiviazione oggetti compatibile con S3. Per abilitare questa integrazione, SQL Server 2025 usa un'architettura del framework del connettore API REST che segue il framework S3. Qualsiasi archiviazione di oggetti che supporta il framework S3 funziona anche con SQL Server 2025. Le soluzioni di archiviazione oggetti compatibili con S3 possono essere eseguite in locale, nella rete, nel cloud o in un ambiente ibrido.
L'archiviazione di oggetti, nota anche come archiviazione basata su oggetti, è una strategia che gestisce e modifica l'archiviazione dei dati come unità distinte, denominate oggetti. Questi oggetti vengono conservati in un unico magazzino e non sono radicati nei file all'interno di altre cartelle. L'archiviazione oggetti combina invece le parti di dati che costituiscono un file, aggiunge tutti i metadati pertinenti a tale file e allega un identificatore personalizzato.
Alcune funzionalità principali dell'archiviazione di oggetti rispetto a un file system tradizionale sono:
- Mantiene i metadati incorporati nel file.
- Consente ai file di avere attributi come tag.
- Più conveniente da ridimensionare e gestire più facilmente.
- Ottimizzato per grandi quantità di dati, ad esempio Big Data, Internet delle cose (IoT), intelligenza artificiale, Machine Learning e analisi.
- Non consigliato per carichi di lavoro ad alta transazionalità o per l'elaborazione delle transazioni online (OLTP).
È anche possibile usare l'archiviazione oggetti compatibile con S3 per scenari di backup e ripristino usando il comando BACKUP TO URL. Per altre informazioni, vedere Backup e ripristino di SQL Server con l'archiviazione di oggetti compatibile con S3.
Il framework standard S3 è ampiamente adottato e molti principali provider di archiviazione offrono ora soluzioni di archiviazione oggetti compatibili con S3. Se una soluzione offre compatibilità con le API REST S3, sarà compatibile con SQL Server 2025. Per un elenco dei provider di archiviazione oggetti supportati, vedere Provider di archiviazione oggetti compatibili con S3.
Alcuni partner di archiviazione oggetti offrono la possibilità di eseguire la soluzione come software in grado di virtualizzare lo spazio di archiviazione corrente. È possibile installare e provare queste soluzioni sul proprio computer o su una macchina virtuale (VM).
Servizi PolyBase e funzionalità dell'API REST PolyBase
Per usare PolyBase, è necessario installare il servizio query PolyBase per dati esterni e abilitare PolyBase a livello di istanza usando sp_configure. L'installazione di PolyBase installa due servizi PolyBase, il motore PolyBase di SQL Server e lo spostamento dei dati PolyBase di SQL Server.
Motore di ricerca PolyBase di SQL Server
- File eseguibile del servizio:
mpdwsvc.exe -dweng - Esegue l'analisi delle query.
- Genera piani di query.
- Distribuisce il lavoro ai nodi di calcolo (SQL Server 2019).
- Elabora i risultati del nodo di calcolo e li restituisce al client (SQL Server 2019).
- File eseguibile del servizio:
Movimento dei dati PolyBase di SQL Server
- File eseguibile del servizio:
mpdwsvc.exe -dms - Trasferisce dati tra origini dati esterne e tra nodi principali e di calcolo PolyBase (SQL Server 2019).
- Inserisce dati in altre origini dati, ad esempio Azure Storage.
- File eseguibile del servizio:
Le origini dati come SQL Server, Oracle, MongoDB o origini basate su ODBC usano questi servizi PolyBase. Le origini dati che usano l'architettura PolyBase basata sull'API REST di SQL Server 2025 non richiedono l'esecuzione o la configurazione di questi servizi, ma è comunque necessario che il Servizio query PolyBase per i dati esterni sia installato e abilitato.
Si possono usare le API REST di PolyBase per accedere ad Azure Data Lake Storage, Azure Blob Storage, qualsiasi storage di oggetti compatibile con S3 e formati di file come Parquet, Delta e CSV. Le origini dati supportate in precedenza usano ancora il motore PolyBase di SQL Server e i servizi di spostamento dati PolyBase di SQL Server .
| L'origine dei dati | Servizi PolyBase | Funzionalità dell'API REST PolyBase |
|---|---|---|
| Blob Storage di Azure |
|
|
| Azure Data Lake Storage |
|
|
| Archiviazione di oggetti compatibile con S3 |
|
|
| SQL Server |
|
|
| Oracolo |
|
|
| Teradata |
|
|
| MongoDB o l'API Azure Cosmos DB per MongoDB |
|
|
| Generic Open Database Connectivity (ODBC) |
|
|
| Operazioni in blocco |
|
|