Physical Architecture (Analysis Services - Data Mining)

Applies to: SQL Server 2019 and earlier Analysis Services Azure Analysis Services Fabric/Power BI Premium

Important

Data mining was deprecated in SQL Server 2017 Analysis Services and now discontinued in SQL Server 2022 Analysis Services. Documentation is not updated for deprecated and discontinued features. To learn more, see Analysis Services backward compatibility.

Microsoft SQL Server Analysis Services uses both server and client components to supply data mining functionality for business intelligence applications:

  • The server component is implemented as a Microsoft Windows service. You can have multiple instances on the same computer, with each instance of SQL Server Analysis Services implemented as a separate instance of the Windows service.

  • Clients communicate with SQL Server Analysis Services using the public standard XML for Analysis (XMLA), a SOAP-based protocol for issuing commands and receiving responses, exposed as a Web service. Client object models are also provided over XMLA, and can be accessed either by using a managed provider, such as ADOMD.NET, or a native OLE DB provider.

  • Query commands can be issued using Data Mining Extensions (DMX), an industry standard query language oriented toward data mining. Analysis Services Scripting Language (ASSL) can also be used to manage SQL Server Analysis Services database objects.

Architectural Diagram

An SQL Server Analysis Services instance runs as a stand-alone service and communication with the service occurs through XML for Analysis (XMLA), by using either HTTP or TCP.

AMO is a layer between the user application and the SQL Server Analysis Services instance that provides access to SQL Server Analysis Services administrative objects. AMO is a class library that takes commands from a client application and converts those commands into XMLA messages for the SQL Server Analysis Services instance. AMO presents SQL Server Analysis Services instance objects as classes to the end user application, with method members that run commands and property members that hold the data for the SQL Server Analysis Services objects.

The following illustration shows the SQL Server Analysis Services components architecture, including services within the SQL Server Analysis Services instance and user components that interact with the instance.

The illustration shows that the only way to access the instance is by using the XML for Analysis (XMLA) Listener, either by using HTTP or TCP.

Warning

DSO has been deprecated. You should not use DSO to develop solutions.

Analysis Services System Architecture Diagram

Server Configuration

One server instance can support multiple SQL Server Analysis Services databases, each with its own instance of the SQL Server Analysis Services service that responds to client requests and processes objects.

Separate instances must be installed if you want to work with both tabular models and data mining and/or multidimensional models. SQL Server Analysis Services supports side-by-side installation of instances running in tabular mode (which uses the VertiPaq in-memory analytics engine) and instances running in one of the conventional OLAP, MOLAP, or ROLAP configurations. For more information, see Determine the Server Mode of an Analysis Services Instance.

All communications between a client and the Analysis Services server use XMLA, which is a platform-independent and language-independent protocol. When a request is received from a client, Analysis Services determines whether the request relates to OLAP or data mining, and routes the request appropriately. For more information, see OLAP Engine Server Components.

See Also

Logical Architecture (Analysis Services - Data Mining)