
In 1996, Microsoft began its foray into the OLAP Server business by acquiring the OLAP software technology from Israeli-based Panorama Software. Just over two years later, in 1998, Microsoft released OLAP Services as part of SQL Server 7. OLAP Services supported MOLAP, ROLAP, and HOLAP architectures, and it used OLEDB for OLAP 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. The rename from OLAP Services happened because the inclusion of Data Mining services broadened the scope of the product from just OLAP. Analysis Services 2000 was considered an evolutionary release, since it was built on the same architecture as OLAP Services and therefore backward compatible with it. Some of the major improvements included more flexibility in dimension design through support of parent child dimensions, changing dimensions, and virtual dimensions. Another major area of improvement was a greatly enhanced calculation engine with support for unary operators, custom rollups, and cell calculations. Other new 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 and MDX continue 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.
Microsoft Analysis Services Events
- 1996-07-01 - Microsoft opens new team to build an OLAP product, codenamed Plato (permutation of letters from OLAP)
- 1996-07-15 - Panorama Software delegation meets with Microsoft
- 1996-10-27 - Microsoft announces acquisition of Panorama Software development team
- 1998-11 - OLAP Services 7.0 (codename Sphinx) ships
- 2000-08 - Analysis Services 2000 (codename Shiloh) ships
- 2001-11 - XML for Analysis SDK 1.0 ships
- 2003-04 - ADOMD.NET and XML for Analysis SDK 1.1 ship
- 2005-10-28 - Analysis Services 2005 (codename Yukon) ships
- 2008-08-06 - Analysis Services 2008 (codename Katmai) ships
Storage Modes
Microsoft Analysis Services takes a neutral position in the MOLAP vs. ROLAP arguments among OLAP products. It allows all the flavors of MOLAP, ROLAP and HOLAP 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. Partitions dimensioned by ROLAP dimensions must be in the ROLAP mode as well.
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 - The lowest level API. It can be used from any platform and in any language which support HTTP and XML
- OLE DB for OLAP - Extension of OLEDB. COM based and suitable for C/C++ programs on Windows platform.
- ADOMD - Extension of ADO. COM Automation based and suitable for VB programs on Windows platform.
- ADOMD.NET - Extension of ADO.NET. .NET based and suitable for managed code programs on CLR platforms.
Administration and Management
- DSO - For AS 2000. COM Automation based and suitable for VB programs on Windows platform.
- AMO - For AS 2005. .NET based and suitable for managed code programs on CLR platforms.
Query Languages
Microsoft Analysis Services supports the following query languages
- Data Definition Language (DDL)
- DDL in Analysis Services is XML based and supports commands such as <Create>, <Alter>, <Delete>, <Process> etc. For Data Mining models import and export, it also supports PMML.
- Data Manipulation Language (DML)
- MDX - for querying OLAP cubes
- SQL - small subset of SQL for querying OLAP cubes and dimensions as if they were tables
DMX - for querying Data Mining models