Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why to build a SSAS Cube?

I was just searching for the best explanations and reasons to build a OLAP Cube from Relational Data. Is that all about performance and query optimization?

It will be great if you can give links or point out best explanations and reasons for building a cube, as we can do all the things from relational database that we can do from cube and cube is faster to show results.Is there any other explanation or reasons?

like image 673
MSU Avatar asked Sep 21 '12 10:09

MSU


People also ask

Why do we create SSAS cube?

An OLAP cube, also known as multidimensional cube or hypercube, is a data structure in SQL Server Analysis Services (SSAS) that is built, using OLAP databases, to allow near-instantaneous analysis of data.

Why is cube useful in SQL?

The CUBE operator generates multiple grouping sets inside a GROUP BY. CUBE generates subtotals across all column combinations specified in GROUP BY. CUBE is similar to ROLLUP (see below).

Why use SSAS tabular model?

Easier management of security access In the case of an SSAS Tabular model, you treat this information source as a database making it easier to regulate access. Just add or remove a user from a role that can access the Tabular model.


3 Answers

There are many reasons why you should use a cube for analytical proccessing.

  1. Speed. Olap wharehouses are read only infrastractures providing 10 times faster queries than their oltp counterparts. See wiki
  2. Multiple data integration. On a cube you can easily use multiple data sources and do minimal work with many automated tasks (especially when you use SSIS) to intergrate them on a single analysis system. See elt process
  3. Minimum code. That is, you need not write queries. Even though you can write MDX - the language of the cubes in SSAS, the BI Studio does most of the hard work for you. On a project I am working on, at first we used SSRS to provide reports for the client. The queries were long and hard to make and took days to implement. Their SSAS equivalent reports took us half an hour to make, writing only a few simple queries to trasform some data.
  4. A cube provides reports and drill up-down-through, without the need to write additional queries. The end user can traverse the dimension automatically, as the aggregations are already stored in the warehouse. This helps as the users of the cube need only traverse its dimensions to produce their own reports without the need to write queries.
  5. Is is part of the Bussiness Intelligence. When you make a cube it can be fed to many new technologies and help in the implementation of BI solutions.

I hope this helps.

like image 57
Athanasios Kataras Avatar answered Oct 20 '22 14:10

Athanasios Kataras


If you want a top level view, use OLAP. Say you have millions of rows detailing product sales and you want to know your monthly sales totals.

If you want bottom-level detail, use OLTP (e.g. SQL). Say you have millions of rows detailing product sales and want to examine one store's sales on one particular day to find potential fraud.

OLAP is good for big numbers. You wouldn't use it to examine string values, really...

like image 34
Magnus Smith Avatar answered Oct 20 '22 16:10

Magnus Smith


It's bit like asking why using JAVA/C++ when we can do everything with Assembly Language ;-) Building a cube (apart from performance) is giving you the MDX language; this language has higher level concepts than SQL and is better with analytic tasks. Perhaps this question gives more info.

My 2 centavos.

like image 1
Marc Polizzi Avatar answered Oct 20 '22 16:10

Marc Polizzi