Analysis Services Architecture
SQL Server Analysis Services (SSAS) provides an analytical engine for building multidimensional and tabular data models in the Microsoft BI stack. This page describes the core architectural components that enable high‑performance data modeling, querying, and management.
Core Components
Storage Engine
The storage engine stores data in compressed, columnar, and tabular structures optimized for read‑heavy analytical workloads. It includes:
- VertiPaq Engine – In‑memory columnar storage for tabular models.
- Aggregations – Pre‑computed summary data for multidimensional cubes.
- Partitions – Logical data slices for parallel processing.
Query Processor
The query processor interprets and optimizes MDX, DAX, and XMLA requests. Key sub‑components:
- MDX Engine – Parses and optimizes Multidimensional Expressions.
- DAX Engine – Optimizes Data Analysis Expressions for tabular models.
- Cache Manager – Stores query results and intermediate calculations.
Communication Layer
SSAS uses XMLA (XML for Analysis) over HTTP/HTTPS for client‑server communication. It also supports native OLE DB and ADOMD.NET providers.
Data Models
SSAS supports two primary model types:
| Model Type | Key Features | Typical Use Cases |
|---|---|---|
| Multidimensional (Cubes) | MDX queries, complex hierarchies, sparse data | Traditional OLAP, financial reporting |
| Tabular (xVelocity) | In‑memory columnar, DAX queries, rapid prototyping | Self‑service BI, Power BI datasets |
Deployment & Scaling
Analysis Services can be deployed on a single server or as a scale‑out farm using the following options:
- Scale‑out query processing – Distributes query load across multiple nodes.
- High availability – Failover clustering using Windows Server Failover Clustering (WSFC).
- Azure Analysis Services – Platform‑as‑a‑Service offering with built‑in scaling.
Security Model
SSAS security is role‑based, with support for both static and dynamic row‑level security (RLS). Permissions include:
Read – Allows browsing and query execution.
ReadWrite – Allows processing and data modifications.
Admin – Full administrative rights.
Roles can be assigned using Windows groups, Azure AD groups, or custom SIDs.