query perfomance tecniques for sap

20
© 2007 Wellesley Information Services. All rights reserved. A Guide to Proven Query Performance Techniques for SAP BW 3.x and SAP NetWeaver BI Jeevan K. Ravindran InfoElixir 1 In This Session … This session looks at query side, back-end side, and peripheral side activities to improve query performance Poor query performance is the most painful problem that one faces in an SAP NetWeaver ® BI installation 2 What We’ll Cover … Monitoring query performance 12 query definition tips to enhance performance 4 RSRT options to boost query performance Employing OLAP Cache to gain query performance 7 data modeling tips to optimize query performance Miscellaneous back-end activities Peripheral solutions Wrap-up _________________________________ _________________________________ _________________________________ _________________________________ _________________________________ _________________________________ _________________________________ _________________________________ _________________________________ _________________________________ _________________________________ _________________________________ _________________________________ _________________________________ _________________________________ _________________________________ _________________________________ _________________________________ _________________________________ _________________________________ _________________________________ _________________________________ _________________________________ _________________________________ _________________________________ _________________________________ _________________________________ _________________________________ _________________________________ _________________________________

Upload: paco-boluda

Post on 24-Apr-2015

401 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: Query Perfomance Tecniques for SAP

© 2007 Wellesley Information Services. All rights reserved.

A Guide to Proven Query Performance Techniques for SAP BW 3.x and SAP NetWeaver BIJeevan K. RavindranInfoElixir

1

In This Session …

• This session looks at query side, back-end side, and peripheral side activities to improve query performance

• Poor query performance is the most painful problem that one faces in an SAP NetWeaver® BI installation

2

What We’ll Cover …

• Monitoring query performance• 12 query definition tips to enhance performance• 4 RSRT options to boost query performance• Employing OLAP Cache to gain query performance• 7 data modeling tips to optimize query performance• Miscellaneous back-end activities• Peripheral solutions• Wrap-up

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

Page 2: Query Perfomance Tecniques for SAP

Monitoring Performance: Tools You Can Bring to Bear

• ST03N: Workload Monitor• RSRT: Query Monitor• RSRCACHE: OLAP Cache Monitor• SAP BW statistics queries and workbooks • ST04: Database Performance Monitor• ST02: Database Tune Summary• ST05: SQL Trace

SQL execution plan, index access (seek vs. scan)• ST06: Operating Systems Monitor• DB02: Tables and Indexes Monitor

3

Monitoring Query Performance Using ST03N

• ST03N in SAP BW 3.xPerformance analysis for specific periods (day, week, month)Data is derived from table RSDDSTAT

• Select Expert mode to start analysis

• Then select period for analysis

Aggregation button switches between InfoCube and Query statistics

4

Monitoring Query Performance Using ST03N (cont.)

• Analyze (sort) by various criteria such as front-end time, Online Analytical Processing (OLAP) time, database time, etc.

• What to do for a high front-end time:Check PC’s configuration (Memory, CPU)Check for any network bandwidth bottlenecksCheck if a very high number of cells and formatted cells are transferred (use the All Data tab in ST03N)

Double click on any line to see the details. In this example, you can see the queries in

the cube that make the listed value.

5

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

Page 3: Query Perfomance Tecniques for SAP

Monitoring Query Performance Using ST03N (cont.)

• What to do for a high OLAP runtime:Check to see if user exit is involvedCheck the “level” of hierarchy used, check read mode of the queryCheck that the memory setup is done properly (TCode ST02 to find bottlenecks)

SolutionsUse OLAP cacheWarm-up cache (priming)Pre-calculated Web templates

6

Monitoring Query Performance Using ST03N (cont.)

• How to take care of high database time:Check whether database statistics are up to date Check for deadlocks, lockwaits, and error logsCheck that the buffers, input and output (I/O), CPU, and memory on the database server are exhausted

SolutionsBuild aggregates (if ratio of “Selected Records” to “Transferred Records” > 10)Install SAP NetWeaver BI Accelerator (SAP NetWeaver 7.0)

7

Using BI Statistics in SAP NetWeaver 7.0

• The statistics data files are no longer kept in the RSDDSTAT table

• Statistics data can be accessed from data dictionary views RSDDSTAT_OLAP and RSDDSTAT_DM

• With SAP NetWeaver 7.0 SP09, ST03N accesses the reporting statistics data from the technical SAP NetWeaver BI content

The technical content must be activated and the statistics data must be populated periodically

• No standard statistics workbook as in 3.xUse BI Administrator Role in Portals or create your own workbook

8

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

Page 4: Query Perfomance Tecniques for SAP

Query Performance: Analysis Using TCode RSRT

• Execute + Debug OptionTo Check Aggregates

To See SQL

To See SQL Execution Plan

To See Statistics Info

RSRT — Execute + Debug in SAP BW 3.x

SAP NetWeaver 7.0 feature

SAP NetWeaver 7.0 feature

RSRT — Execute + Debug in SAP NetWeaver 7.0

Query Performance: Analysis Using TCode RSRV

• Analysis and repair of BW objectsUseful checks in RSRV

DatabaseDatabase statistics for an InfoCube and its aggregates Database indices of an InfoCube and its aggregates Check database parameters

Transaction dataFact and dimension table of an InfoCube Multiple entries in dimensions of a (Basis) InfoCube

Master data Compare characteristic values in SID-, P-, and Q-Tables Unauthorized characters in characteristic values

10

11

What We’ll Cover …

• Monitoring query performance• 12 query definition tips to enhance performance• 4 RSRT options to boost query performance• Employing OLAP Cache to gain query performance• 7 data modeling tips to optimize query performance• Miscellaneous back-end activities• Peripheral solutions• Wrap-up

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

Page 5: Query Perfomance Tecniques for SAP

12 Query Definition Tips to Enhance Performance

1. Display texts for characteristics, only if neededThis helps to minimize additional table reads

2. Characteristic restriction – Free Char vs. Filter areaWhenever possible move the restrictions to the “Filter” area from “Free Characteristics” area

SQL “join” yields a smaller dataset to process further

12

12 Query Definition Tips to Enhance Performance (cont.)

3. Sequence of characteristics listed in Filter sectionRestrict on the least granular characteristic first

Sequence matters to optimize the WHERE clause in the resulting SQL statements

4. Restriction first, calculation secondFirst do the restrictions in Restricted Key Figures (RKF), then use the RKF in calculated key figures

5. Limit number of selections on Navigational attributesThus reducing the number of extra table joins

13

12 Query Definition Tips to Enhance Performance (cont.)

6. Inclusion vs. exclusion in characteristic restrictionUse inclusion (not exclusion)

Index is not used in exclusion

7. Query initial results – Show bare minimum charactersJust show what is absolutely needed

Use Free Characteristics section to see more granular data8. Suppress result rows, whenever possible

This will reduce the OLAP processing time

14

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

Page 6: Query Perfomance Tecniques for SAP

12 Query Definition Tips to Enhance Performance (cont.)

9. Use cell calculation, only if absolutely neededCell editor generates separate queries at runtime

10. MultiProvider-based queriesRestrict by 0INFOPROVIDER, if possible

This will eliminate unwanted InfoProvider read overhead resulting from split sub-queries

11. Before aggregation option is Calculated Key FigureIf you use this option, then aggregates will not be utilized

15

12 Query Definition Tips to Enhance Performance (cont.)

12. Change users’ query usage habitsTeach users to avoid using wild cards and entering a wide range of selections

Incorporate mandatory fields in the query

16

17

What We’ll Cover …

• Monitoring query performance• 12 query definition tips to enhance performance• 4 RSRT options to boost query performance• Employing OLAP Cache to gain query performance• 7 data modeling tips to optimize query performance• Miscellaneous back-end activities• Peripheral solutions• Wrap-up

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

Page 7: Query Perfomance Tecniques for SAP

4 RSRT Options to Improve Query Performance

1. Change query read mode, if appropriateSuggested value: H (query to read when you navigate or expand hierarchy)

2. Turn off warning messages in queries

18

1

2

4 RSRT Options to Improve Query Performance (cont.)

3. Regenerate queries periodicallyHelps to optimize memory size of data held in OLAP processor

Generate a single query by clicking on the “Generate Report” icon in RSRTUse program RSR_GEN_DIRECT_ALL_QUERIES or RSRT Menu option Environment Gen. Queries Directly to generate multiple queries (Fig. 1)Use RSRT Properties to set automatic query generation frequency (Fig. 2)

Fig. 1Fig. 2

4 RSRT Options to Improve Query Performance (cont.)

4. Query parallel processing optionMultiProvider-based queries

Parallel processing is switched to sequential mode when the interim result exceeds 30,000 (only in SAP BW 3.x)Hence for large queries, mark this check boxSee SAP Notes 630500 and 607164

20

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

Page 8: Query Perfomance Tecniques for SAP

21

What We’ll Cover …

• Monitoring query performance• 12 query definition tips to enhance performance• 4 RSRT options to boost query performance• Employing OLAP Cache to gain query performance• 7 data modeling tips to optimize query performance• Miscellaneous back-end activities• Peripheral solutions• Wrap-up

Employing OLAP Cache

• What can OLAP Cache do?Buffer results from queries and provide them again for subsequent executions

• OLAP Cache parameters for the system Set using TCode RSRCACHE

Set Cache file size, Monitor Cache usageEnsure the shared memory size (rdsb/esm/buffersize_kb) is bigger than the OLAP Cache size

22

1 2

Employing OLAP Cache — Query Cache Setting

• Query level setting to enable cache usageSet using TCode RSRT Properties

• Query cache is filled when the query is executed inBEx AnalyzerWeb templatesReporting Agent/BEx BroadcasterThird-party tools

23

1

2

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

Page 9: Query Perfomance Tecniques for SAP

Employing OLAP Cache — Set Cache Mode

Criteria to select “Cache Mode” value

24

• The users are assigned to different app server

• Frequent changes to data• Slow I/O (disk read)• With ad hoc queries

• When there is a large number of queries

• Query produces huge amount of data

Persistent cache acrossapplication servers

4

• Frequent changes to data• Slow I/O (disk read)• With ad hoc queries

• When there is a large number of queries

• The users are assigned to different app server

• Query produces huge amount of data

Persistent cache per application server

3

• Query brings huge amount of data• Frequent changes to data• Large number of queries• With ad hoc queries

Can be used in most queries even when the I/O is slow

Main memory cache withswapping

2

• Query brings huge amount of data• Frequent changes to data• With ad hoc queries

Can be used in most queries even when the I/O is slow

Main memory cache withoutswapping

1

When NOT to useWhen to UseCache Mode Description

Cache Mode

Employing OLAP Cache — New Features in SAP NetWeaver 7.0• Update Cache Objects in Delta Process (check box)

Data in delta requests will be copied automatically into the cache from the cube when a query requests that data

Except for data load, all the other cache invalidation conditions apply

Cache

Request 1

Request 2

Request 1

Request 2

Request 3Will be moved

In this case, the query will get Req 1 & 2 from Cache and Req 3

from the cube.

Afterwards, the Cache will be populated with Req 3.

25

OLAP Cache Invalidation Conditions

• Loading of new data or extraction of data to basic cubes• Rollup of aggregates• InfoProvider compression• Changes made to metadata, master data, hierarchies, or

exchange rates• Index generation• Changing variable type• Changing variable interval value

For example, intervals given for variable “1-3” is changed to 1,2,3

26

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

Page 10: Query Perfomance Tecniques for SAP

Cache Warm-Up (Priming) Technique

• Run queries in background (off-hours) by using Reporting Agent in SAP BW 3.x or BEx Broadcaster in SAP NetWeaver 7.0 to fill up the cache

• Only Web templates can be scheduled in SAP BW 3.xBEx queries must be embedded into a Web template

Create a query view and navigate to the most used drilldowns and put this data into the result setUse this query view in a Web template

27

28

What We’ll Cover …

• Monitoring query performance• 12 query definition tips to enhance performance• 4 RSRT options to boost query performance• Employing OLAP Cache to gain query performance• 7 data modeling tips to optimize query performance• Miscellaneous back-end activities• Peripheral solutions• Wrap-up

7 Data Modeling Tips to Optimize Query Performance

1. Do not combine unrelated characteristics in the same dimension

Dimension table should be < 10% of the fact tableRun report SAP_INFOCUBE_DESIGNS

Ensure database statistics are up to dateRestructure dimensions, where the ratio > 20%

2. Degenerated dimensions (high number of distinct values)

Convert to a line item dimensionTurn on the Cardinality flag

Index changes to B-tree Tip

29

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

Page 11: Query Perfomance Tecniques for SAP

7 Data Modeling Tips to Optimize Query Performance (cont.)

3. InfoCube with non-cumulative key figures should not be too granular

Results in bigger E table because of large number of reference points Also results in expensive aggregate builds

4. Build a MultiProvider (logically partitioned)Can partition by region (geographic), year, or version (plan or actual), etc.

5. Shift calculation overhead from query to data loadIf possible, execute all calculations such as the currency translation when in the transformation routines/data load

30

7 Data Modeling Tips to Optimize Query Performance (cont.)

6. Dimension balancingBalancing dimension sizes to approximately equal values helps to improve data retrieval

7. Database partitioningThe data based on time characteristics is physically stored in separated database partitions

This can be done only when the cube is empty

31

32

What We’ll Cover …

• Monitoring query performance• 12 query definition tips to enhance performance• 4 RSRT options to boost query performance• Employing OLAP Cache to gain query performance• 7 data modeling tips to optimize query performance• Miscellaneous back-end activities• Peripheral solutions• Wrap-up

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

Page 12: Query Perfomance Tecniques for SAP

Pre-Calculated Web Templates

• Pre-calculated Web template in SAP BW 3.xUse the Reporting Agent to pre-calculate Web templates

Automatic report execution and storage of the output for later use

• Pre-calculated Web template in SAP NetWeaver 7.0Use BEx Broadcaster

Many output formats such as HTML, XML, PDF, ZIP, etc.Send Immediately or Schedule Send for laterCan distribute pre-calculation to different servers

• BEx Broadcaster and pre-calculationTriggered by the Trigger Event Data Change process type In BEx Broadcaster, use the Execution with Data Change option in the InfoProvider 33

Aggregates

• Aggregates are …Materialized (pre-aggregated) views on InfoCube fact table data“Mini-Me” of cubes

• Aggregate creationRSA1 InfoCube right mouse click Maintain Aggregates

• ObjectivesTry to achieve summarization ratio of 10 or higherBuild aggregates only on selected hierarchy levels (not all)Build a hierarchy of aggregates (eases change run woes)

34

Aggregates (cont.)

• Aggregate rollupThe rollup moves newly loaded transaction data to the existing aggregates New data is not available for reporting until it is rolled upThis step can be included in a process chain

• Change runUpdates (realignment) all aggregates for newly loaded master data and hierarchiesChange run can be parallelized across InfoCubes

Refer to SAP Note 534630, “Parallel processing of Change Run”

Threshold for aggregate delta vs. aggregate rebuildTCode RSCUSTV8 — recommended value is 30%

35

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

Page 13: Query Perfomance Tecniques for SAP

Tips and Tricks

• Apply the change run once for all newly loaded master data for a given period

Avoid scheduling it for the load of every master data object• Change run process can be monitored, while it is

running, using the program RSDDS_CHANGERUN_MONITOR

• Aggregates can be checked using the program RSDDK_CHECK_AGGREGATE

• To copy aggregates, use the program RSDDK_AGGRCOMP_COPY

Tip

36

Compression

• Compression (collapse): RSA1 InfoCube ManageData with identical characteristic values for all dimensions (except package) are compressed into a single recordData is removed from F fact table and moved to E fact table

F fact table is optimized for loading E fact table is optimized for data retrieval

Individual requests cannot be accessed or deleted after they have been compressed

• Compression should not be run:If selective deletion is running in the cubeAttribute/hierarchy change run is running in the cube

Warning

37

Compression (cont.)

• Two Phases of Compression:Phase I

1. Insert or update the records into E fact table2. Delete the entry of the request from P Dim table

(/BIC/D<InfoCube>P)3. Update RSMDATASTATE-COMPR_DUAL with last

compressed request number4. Commit changes

Phase II1. Delete data in F fact table

38

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

Page 14: Query Perfomance Tecniques for SAP

39

What We’ll Cover …

• Monitoring query performance• 12 query definition tips to enhance performance• 4 RSRT options to boost query performance• Employing OLAP Cache to gain query performance• 7 data modeling tips to optimize query performance• Miscellaneous back-end activities• Peripheral solutions• Wrap-up

SAP NetWeaver BI Accelerator

• Ever wonder how Google does it?Sub-second response while searching four billion Web pages!Server farm with 60,000 PCs, huge memory, and indexing does the magic

• Why can’t SAP do it?The answer is SAP NetWeaver BI Accelerator

The accelerator uses an “In-Memory” databaseAll the data in the cube is indexed.The indexed data is kept in memory. No disk reads!Query processing also take place in the memory.Fact table is vertically decomposed and compressed.

40

SAP NetWeaver BI Accelerator Architecture

• Appliance — Hardware/software add-on solution

Source: SAP

Blade servers w/ Intel processorsOS: 64-bit SUSE

Linux (SLES)

Indexing can be parallelized Fact table is

vertically decomposed

and compressed

Load by first query

execution or explicitly by a program

41

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

Page 15: Query Perfomance Tecniques for SAP

SAP NetWeaver BI Accelerator — Points

SAP NetWeaver BI Accelerator makes aggregate obsolete

Source: SAP

• Brain behind the acceleratorTREX search engine, vertical decomposition, compressed structures, and in-memory aggregation algorithms

• Query Execution Sequence with SAP NetWeaver BI Accelerator

42

SAP NetWeaver BI Accelerator Features

• Since only master data has to be updated to the accelerator index, the change run finishes fast

• Statistics are collected in table RSDDSTATTREX• It is possible to use non-accelerator InfoCubes and

accelerator InfoCubes in one MultiProvider• Closed requests of the real-time InfoCube can be rolled

up into the SAP NetWeaver BI Accelerator index• The accelerator can be used in “Value help” and

ListCube• Support of DataStore Object (DSO) is in the cards• SAP NetWeaver BI Accelerator is not used for queries

based on InfoSets43

Archiving

• BenefitsRemoves “archaic” data from SAP BW servers to another storage medium

Reducing data volume in SAP BW Archiving facilitates faster data loads and shorter query run times

• Prepare a comprehensive data management planMust take into consideration:

Analysis and reporting requirementsLegal, regulatory, and other data retention requirementsCost of data ownership

Could archive the details (ODS/DSO) but keep summary data (cube) in SAP BW

44

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

Page 16: Query Perfomance Tecniques for SAP

Near Line Storage (NLS)

• Near Line Storage (NLS) is a data persistency solutionCost-effective solution to “park” (store) least frequently used (static) dataUnlike archived data, NLS data can be directly accessed for analysis and data load

BI queries, DTPs, data reloads, etc., work as if the data is residing inside (online) the systemAccess time of NLS data is comparable to real-time access

Retrieving archived data requires staging the old data from tape to disk, and then verifying the data

Near Line Storage doesn’t require such extra steps

45

Other Back-End Optimization Options

• Significant DB time spent in table BALDATReorganize Application Log table using TCode SLG2

• Rapid expansion of tables EDI40, EDI30C, and EDIDSArchive EDIDS, EDI30C, or EDI40Delete SWW_CONTOB via reports RSWWWIDE and RSWWHIDE

• Outdated indexesDelete and recreate indexes using process chain

This will ensure faster data load (write) and quicker query data access (read)

46

47

What We’ll Cover …

• Monitoring query performance• 12 query definition tips to enhance performance• 4 RSRT options to boost query performance• Employing OLAP Cache to gain query performance• 7 data modeling tips to optimize query performance• Miscellaneous back-end activities• Peripheral solutions• Wrap-up

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

Page 17: Query Perfomance Tecniques for SAP

Resources

• BW ExpertAnthony Andreacchio, “SAP’s Check Tools Keep Your BW Data Consistent,” (BW Expert, October 2003)Catherine Roze, “Quick Tips: 22 Ways to Boost BEx Query Performance,” (BW Expert, January 2003)Gary Nolan, “Improve Your System Performance by Archiving Data in BW” Parts 1, 2, and 3, (BW Expert, March, April, and May 2006)Joerg Boeke, “Find Reporting and Performance Problems Before Your Users Do,” (BW Expert, November 2003)Gary Nolan, “All Users Benefit When You Prime the OLAP Cache,” (BW Expert, January 2005)

48

Resources (cont.)

• SAP NetworkRon Silberstien, “SAP BW Query Performance Tuning with Aggregates” (2002)

www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/3f66ba90-0201-0010-ac8d-b61d8fd9abe9

Prakash Darji’s blog on Query Optimizationwww.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/3075

• OthersFiltering with the WHERE clause

http://searchsqlserver.techtarget.com/generic/0,295582,sid87_gci1184405_tax301329,00.html?adg=301324&bucket=REF

49

Resources (cont.)

• SAP NotesSAP Note 557870: FAQ: BW Query PerformanceSAP Note 807967: Filling the cache from the Reporting AgentSAP Note 590370: Too many uncompressed request (f table partitions)

50

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

Page 18: Query Perfomance Tecniques for SAP

51

7 Key Points to Take Home

• Consider all options to improve query performanceInside the query, outside the query, and peripheralAlso be proactive, not reactive

• Query performance improvement starts from the query Check query definition and user’s usage habits

In most cases, the back end is already tuned• Data model has a big impact on query performance

Keep an eye on dimension table’s growth• Use the cache available at your disposal

Use it wisely

52

7 Key Points to Take Home (cont.)

• Get acquainted with RSRT Execute + Debug and Properties option

• Query performance can be improved by using time tested techniques — Aggregates and Compression

• SAP NetWeaver BI Accelerator offers querying capability at blazing speeds

A good way to make users love SAP NetWeaver BI (SAP BW)

One Code to Rule Them All

• A riddle“One code to rule them all, One code to reach them all.

A place to check, when things move or stall.Saves from cognize codes, big or small. Reach for this code, See it enthrall.”

© Jeevan Kumar Ravindran

• QuestionName the code mentioned in the riddle

Hint: The answer is inside the riddleLook for a pattern

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

Page 19: Query Perfomance Tecniques for SAP

54

Your Turn!

How to contact me:Jeevan Kumar Ravindran

[email protected]

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

_________________________________

Page 20: Query Perfomance Tecniques for SAP

Wellesley Information Services, 990 Washington Street, Suite 308, Dedham, MA 02026

Copyright © 2007 Wellesley Information Services. All rights reserved.