Compare Alternatives

LINQ to OLAP cubes and SSAS Tabular in-memory DB (ADO.NET Entity Framework API) MDX to OLAP cubes (ADOMD.NET, ADOMD, OLE DB or XMLA API-s) SQL to MS SQL Server columnstore indexes (Apollo) SQL to MS SQL Server without columnstore indexes (record oriented RDBMS)
Requires MS SQL Server No No Yes No
Minimal MS SQL Server edition Standard (if OLAP) Standard Enterprise Any
Amazon EC2 cloud support Yes Yes No Yes
SQL Azure cloud support No No No Yes
Supports query refactoring for Agile software development Yes No Yes, if used via LINQ Yes, if used via LINQ
Supports frameworks for OData, REST, scaffolding and domain-driven design based on ADO.NET Entity Framework (e.g. WCF Data Services, Dynamic Data Entities and Naked Objects MVC) Yes No Yes, if used via LINQ Yes, if used via LINQ
Requires MDX skills No Yes No No
Can use MDX expressions and functions Yes Yes No No
SDX - streamlined LINQ dialect supported Yes No No No
Can use OLAP cube metadata (e.g. captions, translations, default aggregations and relations) Yes (with OLAP) Yes No No
Requires denormalization to star schema for optimal performance No (with OLAP) No Yes Yes
Can query aggregated Big Data in seconds Yes (with OLAP) Yes ? No
Can query Big Data consistently fast on a regular PC without denormalization Yes (with OLAP) Yes No No
Can query Big Data fast with RAM size hundreds times smaller than DB size Yes (with OLAP) Yes No No
Option to automatically create and maintain aggregations from usage Yes (with OLAP) Yes No No
Can use the same DB structure for both operational OLTP database and for BI/reporting relational data source without loosing query performance Yes (with OLAP) Yes No No
Requires complex ETL for denormalization and pre-aggregation for optimal performance No (if OLAP) No Yes for normalization, no for pre-aggregation Yes
MOLAP and HOLAP supported Yes Yes No No
ROLAP supported Yes Yes Yes Yes
Data refresh latency Latency equals time for snapshot/replication + cube processing. Tabular model has cold run latency but no cube processing latency. OLAP cube processing latency depends on MOLAP / ROLAP / HOLAP design of partitions. We recommend to use ROLAP for a partition with the latest data.
ROLAP means no cube processing latency.
Latency equals time for snapshot/replication + cube processing. It depends on MOLAP / ROLAP / HOLAP design of partitions. We recommend to use ROLAP for a partition with the latest data.
ROLAP means no cube processing latency.
Latency equals time for ETL + time to build columnstore indexes + time for slow cold run. Complex ETL with denormalization takes more time. Latency equals time for ETL.
Complex ETL with denormalization takes more time.
Requires built cubes or basic skills to design them using a wizard Yes for OLAP, No for Tabular Yes No No
Requires troubleshooting skills with cube processing for operational support Yes, for MOLAP or HOLAP, No for ROLAP and Tabular Yes, if MOLAP or HOLAP No No
Client applications are limited to .NET Yes No No No