marius dumitru sivakumar harinath gonzalo isaza akshai mirchandani

15
Testing Microsoft SQL Server Analysis Services Marius Dumitru Sivakumar Harinath Gonzalo Isaza Akshai Mirchandani

Upload: janel-fowler

Post on 23-Dec-2015

230 views

Category:

Documents


4 download

TRANSCRIPT

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

15

Questions

{gonzaloi,sivah,mariusd,akshaim} @microsoft.com