Upload
janel-fowler
View
232
Download
4
Embed Size (px)
Citation preview
Testing Microsoft SQL Server Analysis Services
Marius DumitruSivakumar HarinathGonzalo Isaza
Akshai Mirchandani
2
Introduction to Analysis Services Analysis Services Engine Architecture Current Testing Process & Challenges Approaches to improve testing
Outline
3
Multidimensional database Multidimensional Expressions (MDX) queries Server and client tools
Introduction to Analysis Services
4
INFRASTRUCTURE
Query Execution ArchitectureClient
Application
Analysis Services
MDX query
Query Parser
Formula Engine
Populate axes
Compute cell data
sFE Caches
Subcube operations Calculatio
n Engine
Storage Engine
sSE Caches Partition Data Query
SE Evaluation Engine
Seri
aliz
e r
esu
lts
Metadata Manager
Data Mining
5
Functionality Testing Databases used Exercise different components Formula Engine (Calculations & rules) Performance and Stress testing Acceptance criteria & reporting
Testing Analysis Services
6
Functional testing◦ Most common type of queries◦ Recursive relationship definitions (P/C) complicate
schema◦ Execution path evaluation may change easily◦ Size of query plan space◦ Many calculations may apply to a single cell◦ Size of cartesian product of dimensions◦ Combination of features
Challenges
7
Performance testing◦ Wide variety of databases ◦ Feature change has effect in other areas◦ Profiling issues
Challenges
8
with member SalesIncludingAdPromotion asiif ([Sales Reason].[Sales Reason].currentmember is[Sales Reason].[Sales Reason].[Magazine
Advertisement],[Measures].[Internet Sales Amount],[Measures].[Internet Extended Amount] + [Measures].
[Internet Tax Amount])
select SalesIncludingAdPromotion on 0,[Customer].[Full Name].members on 1from [Adventure Works]where [Customer].[Country-Region].&[United States]
Example query using IIF
9
e1 e2
IIFCrossJoin
D1 D2 D3
Apply
σ v is not null
IIF(C, e1, e2)Naive Evaluation
100 100
10
0
1M Lookup
1M½
M½ M
C
1M
15K
C e2e1 C
Apply Apply
σ C==true σ C==false
Union
IIF(C, e1, e2)Eager Evaluation
30K
20K
30K
20K
5K10K
15K
10
New tool (generate databases & queries) Create db’s & Validate discovers with simple
MDX queries Different storage types Combination of features
Testing Enhancements
11
Send same Query
CompareResponses
MOLAP ROLAP HOLAP
Data from AS db Data from Rel dbData from Mixed
Sources
Same database with different storage modes.
12
New tool (generate databases & queries) Create db’s & Validate discovers with simple
MDX queries Different storage types Combination of features Ability to influence execution path
Testing Enhancements
13
SQL 2008: Execution path control
Block vs. cell by cell computation
Evaluate an expression when it needs toSqueeze out the “empty” space
vs
14
New tool (generate databases & queries) Create db’s & Validate discovers with simple
MDX queries Different storage types Combination of features Ability to influence execution path Databases with focused queries Propose performance impact during
upgrades
Testing Enhancements