Requisiti dell'architettura client per lo sviluppo di Analysis Services

Si applica a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Microsoft SQL Server SQL Server Analysis Services supporta un'architettura thin client. Il motore di calcolo di SQL Server Analysis Services è interamente basato su server, quindi tutte le query vengono risolte nel server. Di conseguenza, è necessario un solo round trip tra il client e il server per ogni query, con conseguente scalabilità delle prestazioni man mano che le query aumentano di complessità.

Il protocollo nativo per SQL Server Analysis Services è XML for Analysis (XML/A). SQL Server Analysis Services offre diverse interfacce di accesso ai dati per le applicazioni client, ma tutti questi componenti comunicano con un'istanza di SQL Server Analysis Services tramite XML for Analysis.

Diversi provider vengono forniti con SQL Server Analysis Services per supportare linguaggi di programmazione diversi. Un provider comunica con un server SQL Server Analysis Services inviando e ricevendo XML for Analysis nei pacchetti SOAP su TCP/IP o su HTTP tramite Internet Information Services (IIS). Una connessione HTTP usa un oggetto COM di cui viene creata un'istanza da IIS, denominata data pump, che funge da canale per i dati di SQL Server Analysis Services. Il "data pump" non esamina in alcun modo i dati sottostanti contenuti nel flusso HTTP, né alcuna delle strutture di dati sottostanti è disponibile per alcun codice nella libreria dati stessa.

Architettura client logica per Analysis Services

Le applicazioni client Win32 possono connettersi a un server SQL Server Analysis Services tramite ole DB per interfacce OLAP o il modello a oggetti ADO (Microsoft® ActiveX® Data Objects) per i linguaggi di automazione COM (Component Object Model), ad esempio Microsoft Visual Basic®. Le applicazioni codificate con linguaggi .NET possono connettersi a un server SQL Server Analysis Services usando ADOMD.NET.

Le applicazioni esistenti possono comunicare con SQL Server Analysis Services senza alcuna modifica usando semplicemente uno dei provider di SQL Server Analysis Services.

Linguaggio di programmazione Interfaccia di accesso ai dati
C++ OLE DB per OLAP
Visual Basic 6 ADO MD
Linguaggi .NET ADO MD.NET
Qualsiasi linguaggio che supporta SOAP XML per l'analisi

SQL Server Analysis Services dispone di un'architettura Web con un livello intermedio completamente scalabile per la distribuzione da parte di organizzazioni di piccole e grandi dimensioni. SQL Server Analysis Services offre un ampio supporto di livello intermedio per i servizi Web. Le applicazioni ASP sono supportate da OLE DB per OLAP e ADO MD, ASP.NET applicazioni sono supportate da ADOMD.NET. Il livello intermedio, illustrato nella figura seguente, è scalabile a molti utenti simultanei.

Diagramma logico per l'architettura di livello intermedio

Le applicazioni client e di livello intermedio possono comunicare direttamente con SQL Server Analysis Services senza usare un provider. Le applicazioni client e di livello intermedio possono inviare XML for Analysis in pacchetti SOAP su TCP/IP, HTTP o HTTPS. Il client può essere codificato usando qualsiasi linguaggio che supporta SOAP. La comunicazione in questo caso è più facilmente gestita da Internet Information Services (IIS) tramite HTTP, anche se è possibile codificare anche una connessione diretta al server tramite TCP/IP. Si tratta della soluzione client più sottile possibile per SQL Server Analysis Services.

Analysis Services in modalità Tabulare o SharePoint

In SQL Server 2017 il server può essere avviato in modalità VertiPaq in memoria (VertiPaq) per i database tabulari e per le cartelle di lavoro di Power Pivot pubblicate in un sito di SharePoint.

PowerPivot per Excel e SQL Server Data Tools sono gli unici ambienti client supportati rispettivamente per la creazione e l'esecuzione di query su database in memoria che usano la modalità SharePoint o Tabulare. Il database Power Pivot incorporato creato utilizzando gli strumenti di Excel e PowerPivot è contenuto nella cartella di lavoro di Excel e viene salvato come parte del file di excel .xlsx.

Tuttavia, una cartella di lavoro di PowerPivot può usare i dati archiviati in un cubo tradizionale se si importano i dati del cubo nella cartella di lavoro. È anche possibile importare dati da un'altra cartella di lavoro di PowerPivot se è stata pubblicata in un sito di SharePoint.

Annotazioni

Quando si usa un cubo come origine dati per una cartella di lavoro di Power Pivot, i dati che si ottengono dal cubo vengono definiti come una query MDX; tuttavia, i dati vengono importati come snapshot bidimensionale. Non è possibile utilizzare in modo interattivo i dati o aggiornare i dati dal cubo.

Interfacce per il client PowerPivot

Power Pivot interagisce con il motore di archiviazione dell'analisi in memoria VertiPaq all'interno della cartella di lavoro, utilizzando le interfacce e le librerie stabilite per Analysis Services: AMO, ADOMD.NET, MDX e XMLA. All'interno del componente aggiuntivo, le misure vengono definite usando un linguaggio di formula simile a Excel, Data Analysis Expressions (DAX). Le espressioni DAX vengono incorporate all'interno dei messaggi XMLA inviati al server in-process.

Providers

Le comunicazioni tra Power Pivot ed Excel usano il provider OLEDB MSOLAP (versione 11.0). All'interno del provider MSOLAP sono disponibili quattro moduli o trasporti diversi, che possono essere usati per l'invio di messaggi tra il client e il server.

TCP / IP Usato per le normali connessioni client-server.

HTTP Usato per le connessioni HTTP tramite il servizio data pump di SSAS o tramite una chiamata al componente Servizio Web PowerPivot di SharePoint.

INPROC Usato per le connessioni al motore in process.

CANALE Riservato per le comunicazioni con il servizio di sistema PowerPivot nella farm di SharePoint.

Vedere anche

Componenti del server del motore OLAP