SlideShare a Scribd company logo
Tabular Cube Solutions
Introduction and comparison to MOLAP in GDW
Created by: Deepak Kumar( Deepak.Kum@HCL.com)
Why Tabular Came?
• Not a replacement for multidimensional.
• Push for self service BI, compatibility with Power BI.
• Demand for Low latency(real time BI) solutions.
• Push from competitors for in memory solution.
• Design more adept for OLAP workloads using relational source.
• Less steep learning curve.
Architecture in brief
• Two deployment models: In-Memory and Direct Query.
• In-Memory used columnar based data storage in compressed format on
disk for backup and the database resides in memory.
• Direct Query makes just a semantic model at the top of relational model
and no data is stored in memory.
• Different from MOLAP as that is mainly disk based storage, designed to be
able to return data in a better way for OLAP workload.
• Also require a workspace server where database can reside during the
development stage. Doing this on desktop could cause performance
problem as RAM will be consumed. For multiple developers working on the
same server could demand more memory.
Some more details on In-Memory
• We need to evaluate memory need for a tabular database before
starting development. There is no direct formula to calculate the
memory need as it depends on the data spread.
• Memory needed could nearly double up when processing full is
needed and we need to keep two copies of data in memory.
• Data stored in columnar format could lead to a different
storage/memory required based on the distinct values of the fields.
• Memory required could also be very high in some cases where the
DAX calculation has to keep intermediate result set in memory to do
the calculations.
What makes tabular different
• Only Tables, No Dimension, Facts.
• Model is the lowest logical entity and not cube.
• Only one Model Per Database.
• Model can have data pulled from heterogeneous sources.
• In memory database. Mostly data remains in RAM.
• Columnar storage database using dictionary.
Missing Functionality in Tabular
• Ragged Hierarchy
• Role Playing Dimension
• Scope Assignments
• Many to Many relationship
• Drill-through (Query raw data from source)
• Versatility of MDX
Where Tabular has an edge
• Processing one table is not affecting other table. So nothing like
Process Update of dimension in multidimensional.
• No cache affect on querying.
• No partitioning affect on query performance.
• No security expression bottleneck on dimension security.
• No aggregation to maintain.
• Distinct Count Measure would benefit immensely as that is what is
causing problem in the aggregation size in MOLAP.
• Can have data from multiple sources in the same model.
No Dim Fact, Only Tables
• There are only tables and no dim or fact.
• No referential integrity between dimension tables and fact tables.
• Dim and Fact are stored and partitioned in same way.
• Tables can be processed independently in any order.
• Measures can be calculated in any of the table.
Partitioning
• Both dimension and fact tables can be partitioned.
• Partitioning has no impact on query performance.
• Partitioning is useful in refresh of data in memory.
• Multiple partitions of the same table not processed in parallel.
• Calculated columns and other internal index are not partitioned and
are recalculated full any way.
Time Intelligence in Tabular/ Timing Calc.
• Tabular support time intelligence functions but with more limitations
than options available in multidimensional.
• We can have only one date table that means out of box time
intelligence in DAX could be utilized with only one table for the given
active relationship. For others we will need to write DAX expressions.
• To implement timing calculation without date table or when there are
many date tables(role playing dimension) require creation of multiple
measures.
Currency Calculations using DAX
• Currency Calculation requires that we are able to convert value of fact
using the exchange rate for a given date for the target currency.
• As multi column relationship is not directly supported, we need to
write DAX expression to do the conversion and we create multiple
measures for different combination of currency and currency type.
• It could be complex to do as compared to multidimensional but once
the pattern is established that could be reused.
• Going with approach of doing the currency conversion in database
could be expensive because of the columnar storage nature.
Compared to our
Environment
Data Modelling
• Having only one model per database in Tabular means that we are going to duplicate dimension
data on the server, so it is good to have less number of models, which is in someway not in
accordance to what we have currently.
• It is also a bit not in accordance of the SSAS guidelines that we are following where we are going
to have different solutions having different view names, as here we are going to need less number
of views that can serve more and more solutions.
• Not having role playing dimension could mean that we will end up duplicating date dimension( or
other dimensions) in memory. Also as Time Intelligence functions in DAX requires that date table
has to be continuous.
• We need to have only those columns in the dimension and fact views which are required as that
will impact the storage required and memory consumption. We need to give attention to
decrease the distinct values by redesigning to decrease the dictionary size.
Timing and Currency Calculation
• Implementing Timing calculations will be comparatively complex as we can not set multiple tables
as date tables. Creating Timing calculations against date dimensions which are not Date Type can
be more complex.
• As it is not possible to build a timing tool like we have done that in SSAS MOLAP, it will require,
creating multiple measures version for the same measure.
• Currency calculation implementation will be complex as compared to multidimensional as doing
currency calculation in database view will increase storage as we will need to have multiple copies
of data in memory.
• Doing it in calculation will not be easy as there is no way to edit the measures like we do in
multidimensional. Secondly, it will require comparatively complex DAX calculation as there is no
support of multi column relationship.
• Both of these can be done in Tabular but it will require some initial work from more experienced
team members and that can be followed as guidelines by others.
Other Points
• From multidimensional perspective there was a concept of properties( apart from attributes). So
the fields which were required just for seeing in the report and not for slicing/dicing can still be
managed this way.
• Query logging does not seems to be working.
• Small adjustments could be moved forward quickly in Tabular as we don’t have dim-fact
dependency that that much ingrained in the model.
• Default Member setting is missing in Tabular. Could be important from implementing calculations.
• Different types of aggregation functions are not supported as setting even on base measure, that
needs to be handled in DAX expression for measures.
• As there is only one model file, from SVN perspective, managing changes can be a bit different as
one developer can work one time.
Need to discover more
• Ways to handle different types of hierarchies : ragged/parent child.
• Multiple date tables and time calculation against that.
• Dax calculation performance.
• Handling different types of aggregation functions.
• Row Context and Filter Context in comparative complex DAX expressions.
Thank You
Feedback is appreciated

More Related Content

PDF
Power BI / AAS Model Optimization
PDF
Power BI: Dashboard in an Hour Walk-Through
PDF
Intoduction to sql 2012 Tabular Modeling
PDF
From Excel hero to Power BI champion
PPTX
Sql Saturday Costa Rica-SSAS Tabular Model
PPTX
Big data models with Power BI - Composite Models and Aggregations
PPTX
ADF Mapping Data Flows Training V2
PPTX
ADF Mapping Data Flows Training Slides V1
Power BI / AAS Model Optimization
Power BI: Dashboard in an Hour Walk-Through
Intoduction to sql 2012 Tabular Modeling
From Excel hero to Power BI champion
Sql Saturday Costa Rica-SSAS Tabular Model
Big data models with Power BI - Composite Models and Aggregations
ADF Mapping Data Flows Training V2
ADF Mapping Data Flows Training Slides V1

What's hot (19)

PPTX
SQL Saturday Redmond 2019 ETL Patterns in the Cloud
PPTX
Azure Data Factory Data Flows Training v005
PPTX
Microsoft Azure Data Factory Data Flow Scenarios
PPTX
ESRI ERUC 2014 - Easy Automation for Process Efficiencies
PPTX
Building your first Analysis Services Tabular BI Semantic model with SQL Serv...
PPTX
Azure Data Factory Data Wrangling with Power Query
PDF
ADF Mapping Data Flow Private Preview Migration
PDF
Perth SharePoint User Group - Hybrid Cloud and Power BI
PPTX
Tableau API
PPTX
Azure Data Factory Data Flow Limited Preview for January 2019
PPTX
Data quality patterns in the cloud with ADF
PPTX
Microsoft Data Integration Pipelines: Azure Data Factory and SSIS
PPTX
Microsoft Azure Data Factory Hands-On Lab Overview Slides
PPTX
Azure Data Factory Data Flow
PPTX
QCard: Dynamics AX and Atlas Reporting
PPTX
20160317 - PAZUR - PowerBI & R
PPTX
Microsoft Machine Learning Smackdown
PDF
Translating Models to Medicine an Example of Managing Visual Communications
PPTX
Machine Learning on the Microsoft Stack
SQL Saturday Redmond 2019 ETL Patterns in the Cloud
Azure Data Factory Data Flows Training v005
Microsoft Azure Data Factory Data Flow Scenarios
ESRI ERUC 2014 - Easy Automation for Process Efficiencies
Building your first Analysis Services Tabular BI Semantic model with SQL Serv...
Azure Data Factory Data Wrangling with Power Query
ADF Mapping Data Flow Private Preview Migration
Perth SharePoint User Group - Hybrid Cloud and Power BI
Tableau API
Azure Data Factory Data Flow Limited Preview for January 2019
Data quality patterns in the cloud with ADF
Microsoft Data Integration Pipelines: Azure Data Factory and SSIS
Microsoft Azure Data Factory Hands-On Lab Overview Slides
Azure Data Factory Data Flow
QCard: Dynamics AX and Atlas Reporting
20160317 - PAZUR - PowerBI & R
Microsoft Machine Learning Smackdown
Translating Models to Medicine an Example of Managing Visual Communications
Machine Learning on the Microsoft Stack
Ad

Similar to Multidimensional or tabular points to consider (20)

PDF
Microsoft SSAS: Should I Use Tabular or Multidimensional?
PPTX
SSAS Tabular model importance and uses
PDF
SQLDay2013_ChrisWebb_DAXMD
PDF
Building a SSAS Tabular Model Database
PDF
Creating a Tabular Model Using SQL Server 2012 Analysis Services
PPTX
Multidimensioal database
PPTX
Multidimensioal database
PDF
From 0 to DAX…………………………………………………………..pdf
PPTX
Dax en
PPTX
PASSMN Summit 2009 Upgrade to SSAS 2008
PPTX
DAX (Data Analysis eXpressions) from Zero to Hero
PPT
Real-world BISM in SQL Server 2012 SSAS
PPTX
SQL Server Denali: BI on Your Terms
PPTX
Cognos transformer vs Tm1
DOC
86921864 olap-case-study-vj
PPTX
Getting power bi
PPTX
Lecture 06 -IIS-OLAP.pptx
PDF
SSAS Design & Incremental Processing - PASSMN May 2010
PPTX
DataSaturday #1 - PBI Modeling At Warp Speed With Tabular Editor Advanced Scr...
PPTX
Evolved BI with SQL Server 2012
Microsoft SSAS: Should I Use Tabular or Multidimensional?
SSAS Tabular model importance and uses
SQLDay2013_ChrisWebb_DAXMD
Building a SSAS Tabular Model Database
Creating a Tabular Model Using SQL Server 2012 Analysis Services
Multidimensioal database
Multidimensioal database
From 0 to DAX…………………………………………………………..pdf
Dax en
PASSMN Summit 2009 Upgrade to SSAS 2008
DAX (Data Analysis eXpressions) from Zero to Hero
Real-world BISM in SQL Server 2012 SSAS
SQL Server Denali: BI on Your Terms
Cognos transformer vs Tm1
86921864 olap-case-study-vj
Getting power bi
Lecture 06 -IIS-OLAP.pptx
SSAS Design & Incremental Processing - PASSMN May 2010
DataSaturday #1 - PBI Modeling At Warp Speed With Tabular Editor Advanced Scr...
Evolved BI with SQL Server 2012
Ad

Recently uploaded (20)

PPTX
Business Ppt On Nestle.pptx huunnnhhgfvu
PPTX
DISORDERS OF THE LIVER, GALLBLADDER AND PANCREASE (1).pptx
PDF
BF and FI - Blockchain, fintech and Financial Innovation Lesson 2.pdf
PDF
Galatica Smart Energy Infrastructure Startup Pitch Deck
PPTX
Data_Analytics_and_PowerBI_Presentation.pptx
PDF
.pdf is not working space design for the following data for the following dat...
PPT
ISS -ESG Data flows What is ESG and HowHow
PPTX
AI Strategy room jwfjksfksfjsjsjsjsjfsjfsj
PPTX
Database Infoormation System (DBIS).pptx
PDF
22.Patil - Early prediction of Alzheimer’s disease using convolutional neural...
PPTX
1_Introduction to advance data techniques.pptx
PPTX
01_intro xxxxxxxxxxfffffffffffaaaaaaaaaaafg
PDF
Clinical guidelines as a resource for EBP(1).pdf
PDF
[EN] Industrial Machine Downtime Prediction
PPTX
SAP 2 completion done . PRESENTATION.pptx
PDF
168300704-gasification-ppt.pdfhghhhsjsjhsuxush
PPTX
Introduction to machine learning and Linear Models
PPTX
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
PPTX
climate analysis of Dhaka ,Banglades.pptx
PPT
Reliability_Chapter_ presentation 1221.5784
Business Ppt On Nestle.pptx huunnnhhgfvu
DISORDERS OF THE LIVER, GALLBLADDER AND PANCREASE (1).pptx
BF and FI - Blockchain, fintech and Financial Innovation Lesson 2.pdf
Galatica Smart Energy Infrastructure Startup Pitch Deck
Data_Analytics_and_PowerBI_Presentation.pptx
.pdf is not working space design for the following data for the following dat...
ISS -ESG Data flows What is ESG and HowHow
AI Strategy room jwfjksfksfjsjsjsjsjfsjfsj
Database Infoormation System (DBIS).pptx
22.Patil - Early prediction of Alzheimer’s disease using convolutional neural...
1_Introduction to advance data techniques.pptx
01_intro xxxxxxxxxxfffffffffffaaaaaaaaaaafg
Clinical guidelines as a resource for EBP(1).pdf
[EN] Industrial Machine Downtime Prediction
SAP 2 completion done . PRESENTATION.pptx
168300704-gasification-ppt.pdfhghhhsjsjhsuxush
Introduction to machine learning and Linear Models
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
climate analysis of Dhaka ,Banglades.pptx
Reliability_Chapter_ presentation 1221.5784

Multidimensional or tabular points to consider

  • 1. Tabular Cube Solutions Introduction and comparison to MOLAP in GDW Created by: Deepak Kumar( Deepak.Kum@HCL.com)
  • 2. Why Tabular Came? • Not a replacement for multidimensional. • Push for self service BI, compatibility with Power BI. • Demand for Low latency(real time BI) solutions. • Push from competitors for in memory solution. • Design more adept for OLAP workloads using relational source. • Less steep learning curve.
  • 3. Architecture in brief • Two deployment models: In-Memory and Direct Query. • In-Memory used columnar based data storage in compressed format on disk for backup and the database resides in memory. • Direct Query makes just a semantic model at the top of relational model and no data is stored in memory. • Different from MOLAP as that is mainly disk based storage, designed to be able to return data in a better way for OLAP workload. • Also require a workspace server where database can reside during the development stage. Doing this on desktop could cause performance problem as RAM will be consumed. For multiple developers working on the same server could demand more memory.
  • 4. Some more details on In-Memory • We need to evaluate memory need for a tabular database before starting development. There is no direct formula to calculate the memory need as it depends on the data spread. • Memory needed could nearly double up when processing full is needed and we need to keep two copies of data in memory. • Data stored in columnar format could lead to a different storage/memory required based on the distinct values of the fields. • Memory required could also be very high in some cases where the DAX calculation has to keep intermediate result set in memory to do the calculations.
  • 5. What makes tabular different • Only Tables, No Dimension, Facts. • Model is the lowest logical entity and not cube. • Only one Model Per Database. • Model can have data pulled from heterogeneous sources. • In memory database. Mostly data remains in RAM. • Columnar storage database using dictionary.
  • 6. Missing Functionality in Tabular • Ragged Hierarchy • Role Playing Dimension • Scope Assignments • Many to Many relationship • Drill-through (Query raw data from source) • Versatility of MDX
  • 7. Where Tabular has an edge • Processing one table is not affecting other table. So nothing like Process Update of dimension in multidimensional. • No cache affect on querying. • No partitioning affect on query performance. • No security expression bottleneck on dimension security. • No aggregation to maintain. • Distinct Count Measure would benefit immensely as that is what is causing problem in the aggregation size in MOLAP. • Can have data from multiple sources in the same model.
  • 8. No Dim Fact, Only Tables • There are only tables and no dim or fact. • No referential integrity between dimension tables and fact tables. • Dim and Fact are stored and partitioned in same way. • Tables can be processed independently in any order. • Measures can be calculated in any of the table.
  • 9. Partitioning • Both dimension and fact tables can be partitioned. • Partitioning has no impact on query performance. • Partitioning is useful in refresh of data in memory. • Multiple partitions of the same table not processed in parallel. • Calculated columns and other internal index are not partitioned and are recalculated full any way.
  • 10. Time Intelligence in Tabular/ Timing Calc. • Tabular support time intelligence functions but with more limitations than options available in multidimensional. • We can have only one date table that means out of box time intelligence in DAX could be utilized with only one table for the given active relationship. For others we will need to write DAX expressions. • To implement timing calculation without date table or when there are many date tables(role playing dimension) require creation of multiple measures.
  • 11. Currency Calculations using DAX • Currency Calculation requires that we are able to convert value of fact using the exchange rate for a given date for the target currency. • As multi column relationship is not directly supported, we need to write DAX expression to do the conversion and we create multiple measures for different combination of currency and currency type. • It could be complex to do as compared to multidimensional but once the pattern is established that could be reused. • Going with approach of doing the currency conversion in database could be expensive because of the columnar storage nature.
  • 13. Data Modelling • Having only one model per database in Tabular means that we are going to duplicate dimension data on the server, so it is good to have less number of models, which is in someway not in accordance to what we have currently. • It is also a bit not in accordance of the SSAS guidelines that we are following where we are going to have different solutions having different view names, as here we are going to need less number of views that can serve more and more solutions. • Not having role playing dimension could mean that we will end up duplicating date dimension( or other dimensions) in memory. Also as Time Intelligence functions in DAX requires that date table has to be continuous. • We need to have only those columns in the dimension and fact views which are required as that will impact the storage required and memory consumption. We need to give attention to decrease the distinct values by redesigning to decrease the dictionary size.
  • 14. Timing and Currency Calculation • Implementing Timing calculations will be comparatively complex as we can not set multiple tables as date tables. Creating Timing calculations against date dimensions which are not Date Type can be more complex. • As it is not possible to build a timing tool like we have done that in SSAS MOLAP, it will require, creating multiple measures version for the same measure. • Currency calculation implementation will be complex as compared to multidimensional as doing currency calculation in database view will increase storage as we will need to have multiple copies of data in memory. • Doing it in calculation will not be easy as there is no way to edit the measures like we do in multidimensional. Secondly, it will require comparatively complex DAX calculation as there is no support of multi column relationship. • Both of these can be done in Tabular but it will require some initial work from more experienced team members and that can be followed as guidelines by others.
  • 15. Other Points • From multidimensional perspective there was a concept of properties( apart from attributes). So the fields which were required just for seeing in the report and not for slicing/dicing can still be managed this way. • Query logging does not seems to be working. • Small adjustments could be moved forward quickly in Tabular as we don’t have dim-fact dependency that that much ingrained in the model. • Default Member setting is missing in Tabular. Could be important from implementing calculations. • Different types of aggregation functions are not supported as setting even on base measure, that needs to be handled in DAX expression for measures. • As there is only one model file, from SVN perspective, managing changes can be a bit different as one developer can work one time.
  • 16. Need to discover more • Ways to handle different types of hierarchies : ragged/parent child. • Multiple date tables and time calculation against that. • Dax calculation performance. • Handling different types of aggregation functions. • Row Context and Filter Context in comparative complex DAX expressions.
  • 17. Thank You Feedback is appreciated