Novità di Machine Learning Services per SQL Server
Si applica a: SQL Server 2016 (13.x) e versioni successive
Questo articolo descrive le nuove capacità e funzionalità incluse in ogni versione di SQL Server Machine Learning Services. In ogni versione di SQL Server vengono aggiunte funzionalità di Machine Learning man mano che l'integrazione tra piattaforma dati, analisi avanzata e data science viene espansa, estesa e approfondita.
Nota
Le funzionalità e le opzioni di installazione variano a seconda della versione di SQL Server. Usare l'elenco a discesa del selettore di versione per scegliere la versione appropriata di SQL Server.
Novità di SQL Server 2022
A partire da SQL Server 2022(16.x), i runtime per R, Python e Java non vengono più installati con l'installazione di SQL. Occorre invece installare i runtime e i pacchetti personalizzati desiderati. Per altre informazioni, vedere Installare Machine Learning Services (Python e R) per SQL Server 2022 in Windows o Installare SQL Server Machine Learning Services (Python e R) in Linux.
Novità di SQL Server 2019
In questa versione sono state aggiunte le funzionalità più richieste per le operazioni di Machine Learning R e Python in SQL Server. Per altre informazioni su tutte le funzionalità di questa versione, vedere Novità di SQL Server 2019 e Note sulla versione per SQL Server 2019.
Per la documentazione sulle novità di Java e C# in SQL Server 2019, vedere Novità nelle estensioni del linguaggio di SQL Server.
Di seguito sono elencate le nuove funzionalità di Machine Learning Services per SQL Server disponibili sia in Windows che in Linux:
- Il supporto della piattaforma Linux è stato aggiunto in Machine Learning Services per Python e R. Per iniziare, vedere Installare Machine Learning Services per SQL Server in Linux.
- Connessione loopback a SQL Server da uno script Python o R.
- CREATE EXTERNAL LIBRARY (Transact-SQL) per Python e R.
- La stored procedure sp_execute_external_script introduce due nuovi parametri che consentono di generare facilmente più modelli da dati partizionati. Per altre informazioni, vedere l'esercitazione Creare modelli basati su partizioni in R.
- Il supporto per i cluster di failover è disponibile per il servizio Launchpad a condizione che Launchpad di SQL Server venga avviato in tutti i nodi. Per altre informazioni, vedere Installazione del cluster di failover di SQL Server.
- Modifiche al meccanismo di isolamento per Machine Learning Services. Per altre informazioni, vedere SQL Server 2019 in Windows: Modifiche all'isolamento per servizi di Machine Learning.
Novità di SQL Server 2017
In questa versione sono stati aggiunti il supporto di Python e algoritmi di Machine Learning leader del settore. Rinominato per riflettere il nuovo ambito, SQL Server 2017 vede l'introduzione di SQL Server Machine Learning Services (In-Database), con supporto del linguaggio sia per Python che per R.
Per informazioni complete sugli annunci di funzionalità, vedere Novità di SQL Server 2017.
Miglioramenti di R
Il componente R di SQL Server Machine Learning Services rappresenta la nuova generazione di SQL Server 2016 R Services, con versioni aggiornate di pacchetti R di base, RevoScaleR e altri pacchetti.
Le nuove funzionalità di R includono la gestione di pacchetti, con le interessanti caratteristiche seguenti:
- I ruoli del database aiutano gli amministratori di database a gestire i pacchetti e assegnare le autorizzazioni per l'installazione dei pacchetti.
- CREATE EXTERNAL LIBRARY consente agli amministratori di database di gestire i pacchetti nel linguaggio T-SQL familiare.
- Le funzioni RevoScaleR aiutano a installare, rimuovere o elencare i pacchetti di proprietà degli utenti. Per altre informazioni, vedere Usare funzioni RevoScaleR per trovare o installare pacchetti R in SQL Server.
Librerie R
Pacchetto | Descrizione |
---|---|
MicrosoftML | In questa versione, il pacchetto MicrosoftML è incluso in un'installazione di R predefinita, eliminando il passaggio di aggiornamento necessario in precedenza in SQL Server 2016 R Services. MicrosoftML fornisce algoritmi di Machine Learning e trasformazioni dei dati all'avanguardia che è possibile ridimensionare o eseguire in contesti di calcolo remoti. Gli algoritmi includono reti neurali profonde personalizzabili, foreste delle decisioni e alberi delle decisioni rapidi, regressione lineare e regressione logistica. |
Integrazione di Python per l'analisi nel database
Python è un linguaggio che offre flessibilità e potenza straordinarie per un'ampia gamma di attività di Machine Learning. Le librerie open source per Python includono diverse piattaforme per reti neurali personalizzabili, nonché librerie popolari per l'elaborazione del linguaggio naturale.
Poiché Python si integra con il motore di database, è possibile mantenere l'analisi vicina ai dati ed eliminare i costi e i rischi di sicurezza associati allo spostamento dei dati. È possibile distribuire soluzioni di Machine Learning basate su Python usando strumenti come Visual Studio. Le applicazioni di produzione possono ottenere stime, modelli o oggetti visivi dal runtime di Python 3.5 usando metodi di accesso ai dati di SQL Server.
L'integrazione di T-SQL e Python è supportata tramite la stored procedure di sistema sp_execute_external_script. È possibile chiamare qualsiasi codice Python usando questa stored procedure. Il codice viene eseguito in un'architettura doppia sicura, che consente la distribuzione di livello aziendale di script e modelli Python, che è possibile richiamare da un'applicazione usando una semplice stored procedure. Ulteriori miglioramenti delle prestazioni vengono ottenuti tramite la trasmissione del flusso di dati dai processi SQL ai processi Python e la parallelizzazione dei segnali MPI.
È possibile usare la funzione T-SQL PREDICT per eseguire l'assegnazione di punteggi a livello nativo in un modello con training preliminare salvato in precedenza nel formato binario richiesto.
Librerie Python
Pacchetto | Descrizione |
---|---|
revoscalepy | Equivalente Python di RevoScaleR. È possibile creare modelli Python per regressioni lineari e logistiche, alberi delle decisioni, alberi con boosting e foreste casuali, tutti parallelizzabili ed eseguibili in contesti di calcolo remoti. Questo pacchetto supporta l'uso di più origini dati e contesti di calcolo remoti. Il data scientist o lo sviluppatore può eseguire codice Python in un'istanza remota di SQL Server, per esplorare i dati o creare modelli senza spostare i dati. |
microsoftml | Equivalente Python del pacchetto MicrosoftML R. |
Modelli con training preliminare
Sono disponibili modelli con training preliminare per Python e R. Usare questi modelli per il riconoscimento delle immagini e l'analisi del sentiment positivo-negativo, per generare stime sui dati.
Server autonomo come funzionalità condivisa nell'installazione di SQL Server
In questa versione viene aggiunto anche SQL Server Machine Learning Server (Standalone), un server di data science completamente indipendente che supporta l'analisi predittiva e statistica in R e Python. Come per R Services, questo server è la versione successiva di SQL Server 2016 R Server (Standalone). Con il server autonomo è possibile distribuire e ridimensionare soluzioni R o Python senza dipendenze in SQL Server.
Novità di SQL Server 2016
In questa versione sono state introdotte funzionalità di Machine Learning in SQL Server tramite SQL Server 2016 R Services, un motore di analisi nel database per l'elaborazione di script R sui dati residenti all'interno di un'istanza del motore di database.
È stato inoltre rilasciato SQL Server 2016 R Server (Standalone) come strumento per l'installazione di R Server in un server Windows. Inizialmente, l'installazione di SQL Server rappresentava l'unico modo per installare R Server per Windows. Con le versioni successive, sviluppatori e data scientist che vogliono installare R Server in Windows possono usare un altro programma di installazione autonomo per ottenere lo stesso obiettivo. Il server autonomo in SQL Server è equivalente dal punto di vista funzionale al prodotto server autonomo Microsoft R Server per Windows.
Per informazioni complete sugli annunci di funzionalità, vedere Novità di SQL Server 2016.
Rilascio | Aggiornamento delle funzionalità |
---|---|
Aggiunte tramite aggiornamento cumulativo | L'assegnazione di punteggi in tempo reale si basa sulle librerie C++ native per leggere un modello archiviato in un formato binario ottimizzato e quindi generare stime senza dover chiamare il runtime di R. Ciò rende molto più rapide le operazioni di assegnazione dei punteggi. Con l'assegnazione dei punteggi in tempo reale, è possibile eseguire una stored procedure o assegnare punteggi in tempo reale dal codice R. L'assegnazione dei punteggi in tempo reale è disponibile anche per SQL Server 2016, se l'istanza viene aggiornata alla versione più recente di Microsoft R Server. |
Versione iniziale | Integrazione di R per l'analisi nel database. Pacchetti R per la chiamata di funzioni R in T-SQL e viceversa. Le funzioni RevoScaleR forniscono funzionalità di analisi R su larga scala tramite suddivisione dei dati in parti componenti, coordinamento e gestione dell'elaborazione distribuita e aggregazione dei risultati. In SQL Server 2016 R Services (In-Database), il motore RevoScaleR è integrato con un'istanza del motore di database, quindi dati e analisi vengono riuniti nello stesso contesto di elaborazione. Integrazione di T-SQL e R tramite sp_execute_external_script. È possibile chiamare qualsiasi codice R usando questa stored procedure. Questa infrastruttura sicura consente la distribuzione di livello aziendale di script e modelli R, che è possibile chiamare da un'applicazione usando una semplice stored procedure. Ulteriori miglioramenti delle prestazioni vengono ottenuti tramite la trasmissione del flusso di dati dai processi SQL ai processi R e la parallelizzazione dei segnali MPI. È possibile usare la funzione T-SQL PREDICT per eseguire l'assegnazione di punteggi a livello nativo in un modello con training preliminare salvato in precedenza nel formato binario richiesto. |
Supporto di Linux
In SQL Server 2019 viene aggiunto il supporto di Linux per R e Python quando si installano i pacchetti di Machine Learning con un'istanza del motore di database. Per altre informazioni, vedere Installare SQL Server Machine Learning Services in Linux.
In Linux, SQL Server 2017 non ha l'integrazione di R o Python, ma è possibile usare l'assegnazione di punteggi a livello nativo in Linux perché tale funzionalità è disponibile tramite la funzione T-SQL PREDICT, che viene eseguita in Linux. L'assegnazione di punteggi a livello nativo consente prestazioni elevate per l'assegnazione di punteggi da un modello con training preliminare, senza necessità di chiamate e nemmeno del runtime R.