Microsoft SQL Server Analysis Services (SSAS) is an
online analytical processing
In computing, online analytical processing (OLAP) (), is an approach to quickly answer multi-dimensional analytical (MDA) queries. The term ''OLAP'' was created as a slight modification of the traditional database term online transaction proces ...
(OLAP) and
data mining
Data mining is the process of extracting and finding patterns in massive data sets involving methods at the intersection of machine learning, statistics, and database systems. Data mining is an interdisciplinary subfield of computer science and ...
tool in
Microsoft SQL Server
Microsoft SQL Server is a proprietary relational database management system developed by Microsoft using Structured Query Language (SQL, often pronounced "sequel"). As a database server, it is a software product with the primary function of ...
. SSAS is used as a tool by organizations to analyze and make sense of information possibly spread out across multiple databases, or in disparate tables or files.
Microsoft
Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
has included a number of services in SQL Server related to
business intelligence
Business intelligence (BI) consists of strategies, methodologies, and technologies used by enterprises for data analysis and management of business information. Common functions of BI technologies include Financial reporting, reporting, online an ...
and
data warehousing
In computing, a data warehouse (DW or DWH), also known as an enterprise data warehouse (EDW), is a system used for Business intelligence, reporting and data analysis and is a core component of business intelligence. Data warehouses are central Re ...
. These services include Integration Services, Reporting Services and Analysis Services. Analysis Services includes a group of OLAP and
data mining
Data mining is the process of extracting and finding patterns in massive data sets involving methods at the intersection of machine learning, statistics, and database systems. Data mining is an interdisciplinary subfield of computer science and ...
capabilities and comes in two flavors multidimensional and tabular, where the difference between the two is how the data is presented. In a tabular model, the information is arranged in two-dimensional tables which can thus be more readable for a human. A multidimensional model can contain information with many degrees of freedom, and must be unfolded to increase readability by a human.
History
In 1996, Microsoft began its foray into the OLAP Server business by acquiring the OLAP software technology from Canada-based
Panorama Software.
Just over two years later, in 1998, Microsoft released OLAP Services as part of SQL Server 7. OLAP Services supported
MOLAP
In computing, online analytical processing (OLAP) (), is an approach to quickly answer multi-dimensional analytical (MDA) queries. The term ''OLAP'' was created as a slight modification of the traditional database term online transaction proces ...
,
ROLAP
In computing, online analytical processing (OLAP) (), is an approach to quickly answer multi-dimensional analytical (MDA) queries. The term ''OLAP'' was created as a slight modification of the traditional database term online transaction proces ...
, and
HOLAP
In computing, online analytical processing (OLAP) (), is an approach to quickly answer multi-dimensional analytical (MDA) queries. The term ''OLAP'' was created as a slight modification of the traditional database term online transaction proces ...
architectures, and it used
OLE DB for OLAP
OLE DB for OLAP (Object Linking and Embedding Database for Online Analytical Processing abbreviated ODBO) is a Microsoft published specification and an industry standard for multi-dimensional data processing. ODBO is the standard application progra ...
as the client access API and
MDX as a query language. It could work in client-server mode or offline mode with local cube files.
In 2000, Microsoft released Analysis Services 2000. It was renamed from "OLAP Services" due to the inclusion of data mining services. Analysis Services 2000 was considered an evolutionary release, since it was built on the same architecture as OLAP Services and was therefore
backward compatible
In telecommunications and computing, backward compatibility (or backwards compatibility) is a property of an operating system, software, real-world product, or technology that allows for interoperability with an older legacy system, or with inpu ...
with it. Major improvements included more flexibility in dimension design through support of parent child dimensions, changing dimensions, and virtual dimensions. Another feature was a greatly enhanced calculation engine with support for
unary operators, custom rollups, and cell calculations. Other features were dimension security, distinct count, connectivity over HTTP, session cubes, grouping levels, and many others.
In 2005, Microsoft released the next generation of OLAP and data mining technology as Analysis Services 2005. It maintained backward compatibility on the API level: although applications written with
OLE DB for OLAP
OLE DB for OLAP (Object Linking and Embedding Database for Online Analytical Processing abbreviated ODBO) is a Microsoft published specification and an industry standard for multi-dimensional data processing. ODBO is the standard application progra ...
and
MDX continued to work, the architecture of the product was completely different. The major change came to the model in the form of UDM -
Unified Dimensional Model.
Timeline
The key events in the history of Microsoft Analysis Services cover a period starting in 1996.
Multidimensional Storage modes
Microsoft Analysis Services takes a neutral position in the
MOLAP
In computing, online analytical processing (OLAP) (), is an approach to quickly answer multi-dimensional analytical (MDA) queries. The term ''OLAP'' was created as a slight modification of the traditional database term online transaction proces ...
vs.
ROLAP
In computing, online analytical processing (OLAP) (), is an approach to quickly answer multi-dimensional analytical (MDA) queries. The term ''OLAP'' was created as a slight modification of the traditional database term online transaction proces ...
arguments among OLAP products.
It allows all the flavors of
MOLAP
In computing, online analytical processing (OLAP) (), is an approach to quickly answer multi-dimensional analytical (MDA) queries. The term ''OLAP'' was created as a slight modification of the traditional database term online transaction proces ...
,
ROLAP
In computing, online analytical processing (OLAP) (), is an approach to quickly answer multi-dimensional analytical (MDA) queries. The term ''OLAP'' was created as a slight modification of the traditional database term online transaction proces ...
and
HOLAP
In computing, online analytical processing (OLAP) (), is an approach to quickly answer multi-dimensional analytical (MDA) queries. The term ''OLAP'' was created as a slight modification of the traditional database term online transaction proces ...
to be used within the same model.
Partition storage modes
* MOLAP - Multidimensional OLAP - Both fact data and aggregations are processed, stored, and indexed using a special format optimized for multidimensional data.
* ROLAP - Relational OLAP - Both fact data and aggregations remain in the relational data source, eliminating the need for special processing.
* HOLAP - Hybrid OLAP - This mode uses the relational data source to store the fact data, but pre-processes aggregations and indexes, storing these in a special format, optimized for multidimensional data.
Dimension storage modes
* MOLAP - dimension attributes and hierarchies are processed and stored in the special format
* ROLAP - dimension attributes are not processed and remain in the relational data source.
Tabular storage mode
* In-Memory - Tabular storage mode compresses data and stores the model in memory for faster execution of queries.
APIs and object models
Microsoft Analysis Services supports different sets of APIs and object models for different operations and in different programming environments.
Querying
*
XML for Analysis XML for Analysis (XMLA) is an industry standard for data access in analytical systems, such as online analytical processing (OLAP) and data mining. XMLA is based on other industry standards such as XML, SOAP and HTTP. XMLA is maintained by XMLA Coun ...
- The lowest level API. It can be used from any platform and in any language that supports
HTTP
HTTP (Hypertext Transfer Protocol) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, wher ...
and
XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing data. It defines a set of rules for encoding electronic document, documents in a format that is both human-readable and Machine-r ...
*
OLE DB for OLAP
OLE DB for OLAP (Object Linking and Embedding Database for Online Analytical Processing abbreviated ODBO) is a Microsoft published specification and an industry standard for multi-dimensional data processing. ODBO is the standard application progra ...
- Extension of
OLEDB
OLE DB (''Object Linking and Embedding, Database'', sometimes written as OLEDB or OLE-DB) is an API designed by Microsoft that allows accessing data from a variety of sources in a uniform manner. The API provides a set of interfaces implemented ...
.
COM based and suitable for
C/
C++ programs on
Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
platform.
* ADOMD - Extension of
ADO.
COM Automation based and suitable for
VB programs on
Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
platform.
* ADOMD.NET - Extension of
ADO.NET
ADO.NET is a data access technology from the Microsoft .NET Framework that provides communication between relational and non-relational systems through a common set of components.
ADO.NET is a set of computer software components that programmers ...
.
.NET based and suitable for
managed code
Managed code is computer program code that requires and will execute only under the management of a Common Language Infrastructure (CLI); Virtual Execution System (VES); virtual machine, e.g. .NET, CoreFX, or .NET Framework; Common Language R ...
programs on
CLR platforms.
*
ADO.NET Entity Framework - Entity Framework and
LINQ
LinQ (pronounced "link") is a Japanese girl group. Their name stands for "Love in Qshu", in reference to their hometown of Fukuoka, on the island of Kyushu.
Members
The members were formerly divided into two groups, Qty and Lady.
Current
*Yuumi ...
can be used on top of ADOMD.NET (SSAS Entity Framework Provider is required)
Administration and management
* DSO - For AS 2000.
COM Automation based and suitable for
VB programs on
Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
platform.
* AMO - For AS 2005 and later versions.
.NET based and suitable for
managed code
Managed code is computer program code that requires and will execute only under the management of a Common Language Infrastructure (CLI); Virtual Execution System (VES); virtual machine, e.g. .NET, CoreFX, or .NET Framework; Common Language R ...
programs on
CLR platforms.
Query languages
Microsoft Analysis Services supports the following
query languages
A query language, also known as data query language or database query language (DQL), is a computer language used to make queries in databases and information systems. In database systems, query languages rely on strict theory to retrieve informa ...
Data definition language
In the context of SQL, data definition or data description language (DDL) is a syntax for creating and modifying database objects such as tables, indices, and users. DDL statements are similar to a computer programming language for defining d ...
(DDL)
DDL in Analysis Services is XML based and supports commands such as
, , , and .
For data mining models import and export, it also supports PMML.
Data manipulation language
A data manipulation language (DML) is a computer programming language used for adding (inserting), deleting, and modifying (updating) data in a database. A DML is often a sublanguage of a broader database language such as SQL, with the DML com ...
(DML)
* MDX - for querying OLAP cubes
* LINQ
LinQ (pronounced "link") is a Japanese girl group. Their name stands for "Love in Qshu", in reference to their hometown of Fukuoka, on the island of Kyushu.
Members
The members were formerly divided into two groups, Qty and Lady.
Current
*Yuumi ...
- for querying OLAP cubes from .NET using ADO.NET Entity Framework and Language INtegrated Query (SSAS Entity Framework Provider is required)
* SQL
Structured Query Language (SQL) (pronounced ''S-Q-L''; or alternatively as "sequel")
is a domain-specific language used to manage data, especially in a relational database management system (RDBMS). It is particularly useful in handling s ...
- small subset of SQL (in form of management views also called as DMV's) for querying OLAP cubes and dimensions as if they were tables
* DMX - for querying Data Mining models
* DAX
The DAX (''Deutscher Aktienindex'' (German stock index); ) is a stock market index consisting of the 40 major German blue chip companies trading on the Frankfurt Stock Exchange. It is a total return index. Prices are taken from the Xetra t ...
- for querying Tabular models
See also
* Comparison of OLAP servers
The following tables compare general and technical information for a number of online analytical processing (OLAP) servers. Please see the individual products articles for further information.
General information
Data storage modes
APIs and q ...
References
Bibliography
* Sivakumar Harinath, Stephen Quinn: ''Professional SQL Server Analysis Services 2005 with MDX''.
* Teo Lachev: ''Applied Microsoft Analysis Services 2005 : And Microsoft Business Intelligence Platform''.
* Reed Jacobson: ''Microsoft(r) SQL Server(tm) 2000 Analysis Services Step by Step''.
* Claude Seidman: Data Mining with Microsoft SQL Server 2000 Technical Reference''.'
* George Spofford: ''MDX-Solutions''. Wiley, 2001,
* Mosha Pasumansky, Mark Whitehorn, Rob Zare: ''Fast Track to MDX''.
* ZhaoHui Tang, Jamie MacLennan: ''Data Mining with SQL Server 2005''.
* Edward Melomed, Irina Gorbach, Alexander Berger, Py Bateman: ''Microsoft SQL Server 2005 Analysis Services''.
* Chris Webb, Marco Russo, Alberto Ferrari: ''Expert Cube Development with Microsoft SQL Server 2008 Analysis Services''.
External links
Microsoft Analysis Services
*
Microsoft Data Mining Information
*
Microsoft Analysis Services information hub - FAQs, tools, blogs, forums
{{MS DevTools
Business intelligence software
Data warehousing products
Analysis Services
Microsoft database software
Data analysis software
Online analytical processing