Gruppi con scalabilità orizzontale di PolyBase

Si applica a: SQL Server (solo Windows)Not supported. Database SQL di Azure Not supported. Azure Synapse Analytics Not supported. Piattaforma di strumenti analitici (PDW)

Un'istanza di SQL Server autonomo con PolyBase può diventare un collo di bottiglia in termini di prestazioni quando si lavora con grandi set di dati in Hadoop o in archiviazione BLOB di Azure. La funzionalità Gruppo di PolyBase consente di creare un cluster di istanze di SQL Server per elaborare grandi quantità di set di dati da origini dati esterne, come ad esempio Hadoop o archiviazione BLOB di Azure, in un meccanismo di scalabilità orizzontale che consente di migliorare le prestazioni delle query. È ora possibile ridimensionare le risorse di calcolo di SQL Server per soddisfare le esigenze di prestazioni del carico di lavoro. I gruppi con scalabilità orizzontale PolyBase, ovvero un gruppo di istanze di SQL Server, consentono di elaborare grandi set di dati esterni in un'architettura di elaborazione parallela. Le prestazioni di caricamento dei dati e query possono aumentare in modo lineare con l'aggiunta di altre istanze di SQL Server al gruppo.

Importante

I gruppi con scalabilità orizzontale PolyBase di Microsoft SQL Server verranno ritirati. La funzionalità dei gruppi con scalabilità orizzontale verrà rimossa dal prodotto in SQL Server 2022 (16.x). La virtualizzazione dei dati PolyBase continuerà a essere completamente supportata come funzionalità di aumento delle prestazioni in SQL Server. Per altre informazioni, vedere Opzioni per i Big Data nella piattaforma Microsoft SQL Server.

Vedere Get started with PolyBase (Introduzione a PolyBase) e PolyBase Guide(Guida di Polybase).

Diagram showing PolyBase scale-out groups.

Nodo head

Il nodo head contiene l'istanza di SQL Server alla quale vengono inviate le query PolyBase. Ogni gruppo di PolyBase può avere un solo nodo head. Un nodo head è un gruppo logico costituito dal motore di database SQL Server, dal motore PolyBase e da PolyBase Data Movement Service nell'istanza di SQL Server. Con SQL Server 2017 e SQL Server 2016, il nodo head deve essere un'edizione Enterprise. A partire da SQL Server 2019 il nodo head di PolyBase può essere un'edizione Enterprise o Standard.

Nodo di calcolo

Un nodo di calcolo contiene l'istanza di SQL Server che assiste nell'elaborazione delle query di scalabilità orizzontale sui dati esterni. Un nodo di calcolo è un gruppo logico costituito da SQL Server e da PolyBase Data Movement Service nell'istanza di SQL Server. Un gruppo di PolyBase può presentare più nodi di calcolo. Il nodo head e tutti i nodi di calcolo devono eseguire la stessa versione di SQL Server. La versione iniziale di SQL Server 2016 consentiva ai nodi di calcolo di essere un'edizione Enterprise o Standard. A partire da SQL Server 2016 SP1, tutte le edizioni di SQL Server possono essere un nodo di calcolo.

Letture con scalabilità orizzontale

Quando si eseguono query su istanze esterne di SQL Server, Oracle o Teradata, le tabelle partizionate trarranno vantaggio dalle letture con scalabilità orizzontale. Ogni nodo in un gruppo con scalabilità orizzontale PolyBase può alternare fino a 8 lettori per la lettura dei dati esterni. E a ogni lettore viene assegnata una partizione per la lettura nella tabella esterna.

Ad esempio, si supponga di avere una tabella esterna di SQL Server con 12 partizioni mensili e un gruppo con scalabilità orizzontale PolyBase da 3 nodi. Ogni nodo userà 4 lettori di PolyBase per l'elaborazione di ciascuna delle 12 partizioni. L’esempio è illustrato nell’immagine seguente.

Nota

C’è una differenza rispetto alle letture scale-out su Hadoop.

PolyBase scale-out reads

Elaborazione delle query distribuite

Le query PolyBase vengono inviate a SQL Server nel nodo head. La parte della query che fa riferimento a tabelle esterne viene passata al motore PolyBase.

Il motore PolyBase è il componente principale alla base delle query PolyBase. Il motore, infatti, analizza la query su dati esterni, genera il piano di query e distribuisce il lavoro al servizio di spostamento dati nei nodi di calcolo ai fini dell'esecuzione. Dopo il completamento del lavoro, riceve i risultati dei nodi di calcolo e li invia a SQL Server per l'elaborazione e la restituzione al client.

Il servizio di spostamento dati di PolyBase riceve istruzioni dal motore PolyBase e trasferisce i dati tra HDFS e SQL Server e tra istanze di SQL Server nei nodi head e di calcolo.

Passaggi successivi

Per configurare un gruppo con scalabilità orizzontale PolyBase, vedere la guida seguente:

Migliorare i gruppi con scalabilità orizzontale PolyBase in Windows

Vedi anche

sys-dm-exec-compute-nodes
sys-dm-exec-compute-node-status
sys.dm_exec_compute_node_errors