Marius Dumitru Sivakumar Harinath Gonzalo Isaza Akshai Mirchandani
Introduction to Analysis Services Analysis Services Engine Architecture Current Testing Process & Challenges Approaches to improve testing 2
Multidimensional database Multidimensional Expressions (MDX) queries Server and client tools 3
INFRASTRUCTURE Client Application Analysis Services MDX query Query Parser Formula Engine Populate axes Compute cell data s FE Caches Subcube operations Calculation Engine Storage Engine s SE Caches Partition Data Query SE Evaluation Engine S e r i a l i z e r e s u l t s Metadata Manager Data Mining 4
Functionality Testing Databases used Exercise different components Formula Engine (Calculations & rules) Performance and Stress testing Acceptance criteria & reporting 5
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 6
Performance testing ◦ Wide variety of databases ◦ Feature change has effect in other areas ◦ Profiling issues 7
with member SalesIncludingAdPromotion as iif ([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 1 from [Adventure Works] where [Customer].[Country-Region].&[United States] 8
e1e2 IIF CrossJoin D1D2D3 Apply σ v is not null IIF(C, e1, e2) Naive Evaluation 100 1M Lookup 1M ½ M C 1M 15K 9 Ce2e1C Apply σ C==trueσ C==false Union IIF(C, e1, e2) Eager Evaluation 30K 20K 30K 20K 5K 10K 15K
New tool (generate databases & queries) Create db’s & Validate discovers with simple MDX queries Different storage types Combination of features 10
11 Send same Query Compare Responses MOLAP ROLAPHOLAP Data from AS dbData from Rel db Data from Mixed Sources Same database with different storage modes.
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 12
SQL 2008: Execution path control 13
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 14
15