Upload
trinhliem
View
222
Download
5
Embed Size (px)
Citation preview
DirectQuery vs Vertipaq Modes in SSAS Tabular Model
Julie Koesmarno http://www.mssqlgirl.com | Twitter: @mssqlgirl
MCITP Database Administrator 2008 | MCITP Database Developer 2008
MCITP Business Intelligence Developer 2008
3 May 2012
Terminology
DirectQuery vs In-Memory
Hybrid Mode
PASS DW/BI VC 2
Agenda
3 May 2012
The new and flashy Tabular Model for Analysis Services has been highly pitched with the in-memory (VertiPaq) capability allowing for complex queries to run very fast. This session with some live demo will uncover:
Advantages and disadvantages of using in-memory cache to store and query data
Restrictions on DirectQuery tabular model
Hybrid mode utilization
Impersonation and Partitioning techniques
Prerequisite:
Familiarity with basic Tabular Model project creation will be useful, but not mandatory
PASS DW/BI VC 3
Abstract
3 May 2012
Terminology
Tabular Model Architecture and Solution
PASS DW/BI VC 5
DirectQuery
Vertipaq
In-Memory
xVelocity Cached
3 May 2012
PASS DW/BI VC 6
Tabular Model Architecture
Tabular Model
DirectQuery In-Memory
Third Party Application Excel Power View Reporting Services
SQL Server Databases Non SQL Server Databases
OData Files Cloud Services
3 May 2012
Tabular Model Solutions
PASS DW/BI VC 7
Authoring (SSDT) Deployment Option
Connectivity
Database Properties
3 May 2012
Execution
DirectQuery vs In-Memory
Querying
PASS DW/BI VC 9
Data Access
Query
Data Sources DirectQuery
Process
In-Memory
DAX / MDX
VertiPaq SE SQL
DAX
3 May 2012
DirectQuery Security
PASS DW/BI VC 10
Role
DirectQuery Impersonation
Impersonate Current User
Default (Data Source login)
Data Source Impersonation
Windows User
Service Account
DirectQuery
SQL
Query
3 May 2012
VertiPaq SE
In-Memory
Process
Query
In-Memory Security
PASS DW/BI VC 11
Role
Row Level Security
Data Source Impersonation
3 May 2012
Design
DirectQuery vs In-Memory
Semantic differences
xVelocity in-memory analytics engine (VertiPaq)
SQL Server
No Calculated Column in DirectQuery
PASS DW/BI VC 13
Formula Compatibility
3 May 2012
Some DAX Functions are not supported in DirectQuery:
No equivalent calculations in relational engine
No equivalent SQL expressions
Performance of converted expressions
E.g. TOTALYTD, SAMEPERIODLASTYEAR
More information on BOL: http://msdn.microsoft.com/en-us/library/hh213006.aspx
PASS DW/BI VC 14
DAX Functions
3 May 2012
Administration
DirectQuery vs In-Memory
Mode Database Table Partition
Process Default × × ×
Process Full × × ×
Process Data × ×
Process Clear × × ×
Process Defrag ×
Process Add ×
Process Recalc ×
PASS DW/BI VC 16
Processing Options (In-Memory)
Further reading: http://msdn.microsoft.com/en-us/library/hh758414.aspx
3 May 2012
One partition in Tabular Model
Can take advantage of Partitioning and ColumnStore Index technology on SQL Server 2012
Partitioning / ColumnStore management done at the source database level
PASS DW/BI VC 17
Partitioning in DirectQuery
3 May 2012
In-Memory can have multiple mutually exclusive partitions
To eliminate unnecessary processing and processor load on the AS servers
PASS DW/BI VC 18
Partitioning in In-Memory
C u r r e n t
Mar 2012
Jan 2012
Feb 2012
…
In-Memory Partitions Process
3 May 2012
Pros and Cons
DirectQuery vs In-Memory
ALL functionality of Tabular Model
Calculated Columns, ALL DAX functions
Row Level security
xVelocity in-memory analytics engine
Many choices of client tool
Excel, Power View, SSRS, MDX client*
Many supported data sources
PASS DW/BI VC 20
In-Memory - Pros
3 May 2012
AS requires Memory & CPU resources
Caching
Processing
Querying
Diligent Partitioning and Processing
Out of date data
PASS DW/BI VC 21
In-Memory - Cons
3 May 2012
Real time access
Scalable
SQL Server permission
SQL Server optimisation
Consistency
One Partition to manage
No processing required
PASS DW/BI VC 22
DirectQuery - Pros
3 May 2012
Restricted DAX functions
Restricted client tools: PowerView, SSRS
No Row Level Security
Unless defined at the source Database
No Calculated Columns
PASS DW/BI VC 23
DirectQuery - Cons
3 May 2012
Hybrid Mode
The best of both worlds
Tabular Model Solutions
PASS DW/BI VC 25
Connection String:
DirectQueryMode=DirectQuery
DirectQueryMode=In-Memory
Query Mode
DirectQuery
DirectQuery with In-Memory
In-Memory with DirectQuery
In-Memory
DirectQueryMode
On
Off
3 May 2012
One Partition for DirectQuery
Processing Option: Never process this partition
Multiple Partitions for In-Memory (No Overlap)
PASS DW/BI VC 26
Partitioning for Hybrid Mode
…
C u r r e n t
Mar 2012
Jan 2012
Feb 2012 In-Memory Partitions
DirectQuery Partition
3 May 2012
Inconsistency
Data – stale data in Cache
Calculations – semantic differences xVelocity vs SQL
Security
DirectQuery Design
Flexibility at run time / client tools
In-Memory (Excel) or DirectQuery (Real time)
PASS DW/BI VC 27
Implications
3 May 2012
Wrap Up
In-Memory Mode (default)
DirectQuery Mode
DirectQuery only
DirectQuery with In-Memory
In-Memory with DirectQuery
PASS DW/BI VC 29
Tabular Model Modes
3 May 2012
SQL Server database is optimised
Columnstore Index
Partitioning
Contains required most business rules
High Volume
Can import non-SQL data into one SQL Server database which will be the source
PASS DW/BI VC 30
Do I DirectQuery?
3 May 2012
Cathy Dumas’ blog http://cathydumas.com/
http://blogs.msdn.com/b/cathyk/archive/2011/09/06/directquery-101.aspx
SQLBI – (Marco Russo & Alberto Ferrari) http://www.sqlbi.com/
DAX resources (with links to Tabular Model) http://social.technet.microsoft.com/wiki/contents/articles/1088.dax-resource-center.aspx
PASS DW/BI VC 31
Further Reading
3 May 2012
Q & A
3 May 2012 PASS DW/BI VC 32
http://www.mssqlgirl.com
http://au.linkedin.com/in/juliekoesmarno
@mssqlgirl
Thank you!