BI2015_Berg_Advanced_performance_optimization_with_SAP

Advanced performance optimization with SAP BW 7.3 and SAP BW 7.4

Dr. Bjarne Berg

Comerit

© Copyright 2015

Wellesley Information Services, Inc.

All rights reserved.

In This Session

Get practical tips and techniques for maintaining and cleaning an

SAP BW system for optimal performance, including PSA optimization, compression, maintaining statistical cubes, and controlling growth, reducing log file sizes, removing DTP temporary storage, DTP error logs, and temporary database objects.

Reduce the size of an SAP BW system by as much as 70% by taking steps such as removing PSAs, aggregating, and optimizing

InfoCubes, and implementing the new LSA++ architecture

How to clean batch tables and reduce the footprints un-needed data.

Learn how to take advantage of new performance features in BW

7.3 and BW 7.4

1

What We’ll Cover

BW 7.3 Performance Basics

Householding tasks in SAP BW 7.3 and 7.4

Demo: Optimal SAP BW 7.4 on HANA performance

12-step pre-HANA migration cleanup tasks

Demo: BW 7.4 performance monitoring

BW Optimization after HANA migration

LSA vs. LSA++ Optimization and SPOs

Wrap-up

2

BW 7.3 (non-HANA) InfoCube Design - Line Item Dimensions

Line item dimensions are basically fields that are transaction oriented

Once flagged as a line item dimension, the field is actually stored in the fact table and has no table joins

This may result in improvements to query speeds for cubes not in BWA or HANA

Explore the use of line item dimensions for fields that are frequently conditioned in queries. This model change can yield faster queries.

3

BW 7.3 (non-HANA) InfoCube Design — High Cardinality Flags

High-Cardinality flag for large InfoCubes with more than 10 million rows

InfoCube Number of rows

FIUC_C03 12,859,780

ZGAT_C01 20,793,573

FIIF_C02 68,090,967

FIGL_C01 156,738,973

Entries in dimension compared for F table

37%

46%

102%

88%

At this company there were 11 InfoCubes with a ratio of more than 30% of the records in the dimensions vs. fact table

SAP recommends for Indexing and performance reasons to flag these as “highcardinality” dimensions. However, it has minor impact to smaller cubes.

In this example, there were four medium and large InfoCubes that are not following the basic design guidelines, and subsequently had slow performance

Many companies should redesign large InfoCubes with high-cardinality to take advantage of the standard performance enhancements available.

4

BW 7.3 (non-HANA) DSO Design and Locks on Large Oracle Tables

In this example, many of the very large DSOs are not partitioned, and several objects have over 250 million records

Additionally, 101 DSO objects were flagged as being reportable.

This resulted in System IDs (SIDs) being created during activation.

Combined, these resulted in frequent locks on the Oracle database and failed parallel activation jobs

425

400

375

350

325

300

275

250

225

200

175

150

125

100

75

50

25

-

DSO Number of Records

Partition DSOs. The lock on very large DSOs during parallel loads are well known and SAP has issued several notes on the topic: 634458 'ODS object:

Activation fails - DEADLOCK' and 84348 'Oracle deadlocks, ORA-00060.'

5

The BW 7.3 DataFlow Generation Wizard

SAP NetWeaver BW 7.3 has a new, step-bystep wizard that allows you to generate data flows from flat files or existing data sources

A great benefit is that the wizards work against any

InfoProvider; i.e., you can use the wizards to create loads from

DSOs to DSOs or InfoCubes

This wizard reduces the number or manual steps needed to load data. It also simplifies the development process and makes ETL work much easier.

6

Database Performance (non-HANA systems)

Database statistics are used by the database optimizer to route queries.

Outdated statistics leads to performance degradation.

Outdated indexes can lead to very poor search performance in all queries where conditioning is used (i.e., mandatory prompts)

The current sampling rates for this example were too low, and statistics should only be run after major data loads, and could be scheduled weekly

For many systems, database statistics are outdated and may cause database performance to perform significantly poorer than otherwise would be the case.

Sampling should often be changed and process chains may be re-scheduled.

7

The OLAP Memory Cache Size Utilization

The OLAP Cache is by default 100 MB for local and 200 MB for global use

The system at this company was consuming no more than

80MB on average

This means that most queries were re-executing the same data (good hit ratio of over 90%)

8

SAP HANA and BW 7.4

For BW 7.4 on HANA, SAP has continued to move more of the process intensive functions from the application to the DB server

This takes advantage of the performance improvements of an in-memory DB

It also reduces the need for data transfers between application and DB server

The benefits of this approach are dramatically faster data activation, data transformations, and query executions

9

What We’ll Cover

BW 7.3 Performance Basics

Householding tasks in SAP BW 7.3 and 7.4

Demo: Optimal SAP BW 7.4 on HANA performance

12-step pre-HANA migration cleanup tasks

Demo: BW 7.4 performance monitoring

BW Optimization after HANA migration

LSA vs. LSA++ Optimization and SPOs

Wrap-up

10

Pre-Steps — Cleaning up Your BW System

You can save significant amounts of work by doing a cleanup effort before you start your HANA migration or BW upgrade project

For example, an international company had a BW system with over

108 TB, with only 36 TB in the production box and the remaining data on their Near-Line Storage (NLS) solution

This cleaned BW system saved them potentially millions of dollars in hardware and HANA licensing costs

It is not unusual to reduce a BW system size by 20-30% during a clean up effort

11

The SAP_BW_HOUSEKEEPING Task List

If you are on 7.0 SP32 of higher, you can generate an SAP BW Housekeeping task list and get automated help in cleaning the system weeks before upgrading it

1. Checks BW metadata with DDIC

2. Delete RSTT traces

3. Delete BW statistical data

4. Delete Aggregate data via deactivation

5. Ensure partitioned tables are correctly indexed for PSA

6. Ensure request consistencies in the PSA

7. Re-assign requests written into the incorrect PSA partition

8. Verify DataSource segments assignment to PSA

9. Deletes the entries no longer required in table RSIXW

10. Clear all OLAP Cache parameters

11. Repair InfoCube fact table indices at Data Dictionary level

12. Reorganize and delete bookmark IDs & view IDs

You first have to install the program from SAP Note 1829728 before you can generate the SAP_BW_HOUSEKEEPING task list using tcode STC01 12

A Tool to Help to Migrate and Clean Up

SAP has created a cockpit to:

Clean up the SAP BW system

Reduce system size

Conduct pre-checks

(readiness checks)

Size the system

Find sub-optimal code (i.e., transformations)

Look at table distributions and loads

There are over 235 tests in this tool These tools are thanks to SAP’s Marc Bernard and his team at SAP Labs Canada

13

More Tips to Make the Database Smaller

Use write-optimized DSOs as first level data stores. These can easily be off-loaded out of main memory in HANA and save you money.

Keep your Persistent Staging Tables (PSA) clean. BTW: The PSA is often not needed at all in BW 7.4.

If you are on BW 7.3 Service Pack 8 and HANA with at least Service Pack 5, the write-optimized DSOs and PSAs are flagged as “early unload” from the HANA memory. This will help you keep the system smaller and require less memory.

You can also flag other InfoCubes, DSOs, tables, and partitioned as “not active”. If you do so, they will only be loaded into memory when actually required.

The sizing program in SAP Note 1736976 takes these size savings settings into account when sizing your HANA system

14

What We’ll Cover

BW 7.3 Performance Basics

Householding tasks in SAP BW 7.3 and 7.4

Demo: Optimal SAP BW 7.4 on HANA performance

12-step pre-HANA migration cleanup tasks

Demo: BW 7.4 performance monitoring

BW Optimization after HANA migration

LSA vs. LSA++ Optimization and SPOs

Wrap-up

15

Demo: Optimal SAP BW on HANA performance

16

What We’ll Cover

BW 7.3 Performance Basics

Householding tasks in SAP BW 7.3 and 7.4

Demo: Optimal SAP BW 7.4 on HANA performance

12-step pre-HANA migration cleanup tasks

Demo: BW 7.4 performance monitoring

BW Optimization after HANA migration

LSA vs. LSA++ Optimization and SPOs

Wrap-up

17

12 Pre-Steps — Cleaning up Your BW System

1.

2.

3.

4.

5.

6.

Clean the Persistent Staging Area (PSA) for data already loaded to DSOs.

Delete the Aggregates (summary tables). They will not be needed again.

Compress the E and F tables in all InfoCubes. This will make InfoCubes much smaller.

Remove data from the statistical cubes (they start with the technical name of 0CTC_xxx ). These contain performance information for the BW system running on the relational database. You can do this using the transaction RSDDSTAT or the program RSDDSTAT_DATA_DELETE to help you.

Look at the log files, bookmarks, and unused BEx queries and templates

(transaction RSZDELETE ).

Remove as much as possible of the DTP temporary storage, DTP error logs, and temporary database objects. Help and programs to do this are found in SAP Notes 1139396 and 1106393 .

18

12 Pre-Steps — Cleaning up Your BW System (cont.)

7.

For write-optimized DSOs that push data to reportable

DSOs (LSA approach), remove data in the writeoptimized DSOs. It is already available in higher level objects.

8.

Migrate old data to Near-Line Storage (NLS) on a small server. This will still provide access to the data for the few users who infrequently need to see this old data. You will also be able to query it when BW is on HANA, but it does not need to be in-memory.

9.

Remove data in unused DSOs, InfoCubes, and files used for staging in the BW system. This includes possible reorganization of master data text and attributes using process type in RSPC .

19

12 Pre-Steps — Cleaning up Your BW System (cont.)

10.

You may also want to clean up background information stored in the table RSBATCHDATA . This table can get very big if not managed. You should also consider archiving any IDocs and clean the tRFC queues.

All of this will reduce the size of the HANA system and help you fit the system tables on the master node.

11.

In SAP Note 706478 , SAP provides some ideas on how to keep the

Basis tables from growing too fast in the future; if you are on Service

Pack 23 on BW 7.0 or higher, you can also delete unwanted master data directly (see SAP Note: 1370848 ).

12.

Finally, you can use the program RSDDCVER_DIM_UNUSED to delete any unused dimension entries in your InfoCubes to reduce the overall system size.

20

What We’ll Cover

BW 7.3 Performance Basics

Householding tasks in SAP BW 7.3 and 7.4

Demo: Optimal SAP BW 7.4 on HANA performance

12-step pre-HANA migration cleanup tasks

Demo: BW 7.4 performance monitoring

BW Optimization after HANA migration

LSA vs. LSA++ Optimization and SPOs

Wrap-up

21

Demo: BW 7.4 Performance Monitoring

In this demo we will explore the BW 7.4 on HANA DBA Cockpit Features

22

Demo: BW 7.4 Performance Monitoring

23

BW 7.3 Performance and Cockpit Capabilities

BW 7.3 monitors and cockpit capabilities also include:

Monitor of database usage and object sizes (i.e., InfoCubes, DSOs)

Query usage statistics are more visible (similar to RSRT, RSRV, RSTT)

We can see more of the use of SAP NetWeaver BW Accelerator and sizes

Monitor for the actual use of OLAP/MDX Cache and hit ratios

You can now selectively delete internal statistics in RSDDSTATWHM by date through the updated RSDDSTAT_DATA_DELETE ABAP program

There is also a MDX Editor for coding and syntax assistance

Solution Manager has been updated to take advantage of these new monitors.

24

What We’ll Cover

BW 7.3 Performance Basics

Householding tasks in SAP BW 7.3 and 7.4

Demo: Optimal SAP BW 7.4 on HANA performance

12-step pre-HANA migration cleanup tasks

Demo: BW 7.4 performance monitoring

BW Optimization after HANA migration

LSA vs. LSA++ Optimization and SPOs

Wrap-up

25

Converting InfoProviders and/or Data Flows

While not required, InfoCubes can be optimized further for HANA performance

This basically means “flattening” the data structures and removing the dimensions in BW from the physical layer (they still look as if they exists)

Many refer to this optional step as a “functional migration” and do this after the HANA migration has been completed, often as a separate initiative (see SAP Note 1849497 )

26

HANA Optimized BW 7.4 DSOs and Performance Improvements

BW optimized DSOs are now created by “default” in HANA

This means that data activations are done much faster at the HANA database layer

The change log is kept in a calculation view resulting in smaller DSOs

HANA optimized DSOs are also available for BW 7.3, but now they are created by default, so do not convert DSOs to HANA-optimized. Fast activation is available for all standard DSOs without conversion to HANA-optimized.

27

Converting InfoProviders and/or Data Flows

To help you, the SAP Migration Cockpit also allows you to migrate your data flows from 3.x to Data Transfer Processes

(DTPs) as used in versions 7.0 and higher

If you convert the data flows you get better automated data package DTP optimization, which loads data faster into

HANA.

You can also simulate the data flow before you do the real conversion. When doing so, data is loaded for both versions

(3.x and 7.x) of the dataflows and the results are stored in cluster tables. The data is then compared to verify that the dataflow after migration calculates the same data as it did before migration

Since the differences are displayed separately, you can analyze the results and changes in details

28

What We’ll Cover

BW 7.3 Performance Basics

Householding tasks in SAP BW 7.3 and 7.4

Demo: Optimal SAP BW 7.4 on HANA performance

12-step pre-HANA migration cleanup tasks

Demo: BW 7.4 performance monitoring

BW Optimization after HANA migration

LSA vs. LSA++ Optimization and SPOs

Wrap-up

29

EDW Design Vs. Evolution

An organization has two fundamental choices:

1.

2.

Build a new well architected EDW

Evolve the old EDW or reporting system

Both solutions are feasible, but organizations that selects an evolutionary approach should be self-aware and monitor undesirable addons and ‘workarounds”.

Failure to break with the past can be detrimental to an EDW’s long-term success…

30

Data Design The Use of Layered Scalable Architecture (LSA)

Since SAP BW 7.3 SP-3 we have had a set of 10 templates to help build a layered data architecture for large-scale data warehousing

The LSA consists logically of:

Acquisition layer

Harmonization/quality layer

Propagation layer

Business transformation layer

Reporting layer

Virtualization layer

31

Example: Current LSA Data Architecture in SAP BW

ERP BW

DATA

ACQUISITIO

N

CORPORATE

MEMORY

DATA

PROPAGATIO

N

BUSINESS

TRANS.

FLEXIBLE

REPORTIN

G

DIMENSIONAL

REPORTING

Germany Germany Germany Germany

Germany 6 LSA Layers

Europe

(excl.Germany)

Europe

(excl.Germany)

Europe

(excl.Germany)

Europe

(excl. Germany)

Europe

(excl. Germany)

Europe 2 Europe 2 Europe 2

Europe 2

ERP Table

Europe 2

Europe 3 Europe 3 Europe 3

Europe 3

Data

Acquisition

Info Source

Europe 3

USA USA

USA

USA

USA

Americas 1 Americas 1 Americas 1 Americas 1

Americas 1

8 semantic partitions

Americas 2

Americas 2 Americas 2 Americas 2

Americas 2

Asia Asia

Asia

Asia

Asia

32

32

Example: Simplified LSA++ Data Architecture

ERP BW

DATA

ACQUISITION

CORPORATE

MEMORY

DATA

PROPAGATI

ON

BUSINESS

TRANS.

FLEXIBLE

REPORTING REPORTING layers

ERP Table

Data Source

Transfer Rule

Info Source

Europe

Americas

Asia

Europe

Americas

Asia

Europe

Americas

Asia

41 shrinks to 9 total objects

Remove 5 semantic partitions

33

33

EDW - Complex Layered Architectures

This BPC on BW system was experiencing substantial load performance issues

Some of this was due to underlying SAP BW configuration, while some was due to the technical configuration of the data store architecture and data flow inside SAP BW

Consolidation

Cube

(OC_CON)

BPC Staging

Cube

(BPC_C01)

Production Issues included:

1) Dependent jobs not running sequentially, i.e., load from

Summary cube to Staging cube is sometimes executed before the summary cube data is loaded and activated, resulting in zero records in the staging cube.

Conformed

Reportable

DSO

FIGL_D21 FIGL_D20

Write

Optimized

DSO

FIGL_D15S FIGL_D13S

Persistent Staging Area (PSA)

2) Long latency with 6 layers of

PSA, DSOs, and InfoCubes before consolidation processes can be executed.

ECC 6.0

Asia-

Pacific

ECC 6.0

North-

America

GL Summary

Cube

(FIGL_C03)

FIGL_D17

FIGL_D10S

ECC 4.7

Latin-

America

Consolidation Processes:

1) Clearing

2) Load

3) Foreign Exchange

4) Eliminations

5) Optimizations

FIGL_D14

FIGL_D08

R/3 3.1i

EU

FIGL_D18

FIGL_D11S

ECC 4.7

ASIA

34

Fixes to Complex EDW Architecture

The fix to this system included removing the conformed DSO layer, with BEx flags for data stores that are never reported on.

Also, the BPC staging cube served little practical purpose since the data is already staged in the GL Summary cube and the logic can be maintained in the load from this cube directly to the consolidation cube.

Consolidation

Cube

(OC_CON)

GL Summary

Cube

(FIGL_C03)

Consolidation Processes:

1) Clearing

2) Load

3) Foreign Exchange

4) Eliminations

5) Optimizations

Long-term benefits included reduced data latency, faster data activation, less data replication, smaller system backups as well as simplified system maintenance.

Write

Optimized

DSO

FIGL_D15S

Persistent Staging Area (PSA)

ECC 6.0

Asia-

Pacific

FIGL_D13S

ECC 6.0

North-

America

FIGL_D10S

ECC 4.7

Latin-

America

FIGL_D08

R/3 3.1i

EU

FIGL_D11S

ECC 4.7

ASIA

35

EDW Data Design – Classical Use of MultiProvider Hints in BW

Problem: To reduce data volume in each InfoCube, data is partitioned by Time period.

2002 2003 2004 2005 2006 2007 2008

A query must now search in all InfoProviders to find the data. This is very slow.

Solution: We can add “hints” to guide the query execution. In the

RRKMULTIPROVHINT table, you can specify one or several characteristics for each MultiProvider, which are then used to partition the MultiProvider into BasicCubes.

If a query has restrictions on this characteristic, the OLAP processor is already checked to see which part of the cubes can return data for the query.

The data manager can then completely ignore the remaining cubes.

An entry in RRKMULTIPROVHINT only makes sense if a few attributes of this characteristic (that is, only a few data slices) are affected in the majority of, or the most important, queries ( SAP Notes: 911939. See also: 954889 and 1156681).

36

BW 7.3 and higher - Semantic Partitioned Objects (SPO)

When data stores and InfoCubes are allowed to grow over time, the data load and query performance suffers

Normally objects should be physically partitioned when the numbers of records exceed 100 – 200 million

However, this may be different depending on the size of your hardware and the type of database you use

In SAP NetWeaver BW 7.3 we get an option to create a Semantic Partitioned

Object (SPO) through wizards

You can partition based on fields such as calendar year, region, country, etc.

37

Data Design - Semantic Partitioned Objects (cont.)

When an SPO is created, a reference structure keeps track of the partitions. The structure is placed in the MultiProvider for querying.

SPO Wizards create all Data Transfer Processes (DTP), transformations, filters for each data store, and a process chain

38

What We’ll Cover

BW 7.3 Performance Basics

Householding tasks in SAP BW 7.3 and 7.4

Demo: Optimal SAP BW 7.4 on HANA performance

12-step pre-HANA migration cleanup tasks

Demo: BW 7.4 performance monitoring

BW Optimization after HANA migration

LSA vs. LSA++ Optimization and SPOs

Wrap-up

39

Where to Find More Information

Introduction to SAP HANA by Bjarne Berg and Penny Silvia, SAP

Press 3 rd edition.

 http://scn.sap.com/docs/DOC-35096

SCN SAP NetWeaver Business Warehouse 7.4

 http://help.sap.com/nw_platform

Help SAP BW 7.4 web site

 http://www.stechno.net/sap-notes.html?view=sapnote&id=153967

SAP Business content release note for BW 7.4

40

7 Key Points to Take Home

BW 7.4 is the first release to take full advantage of SAP HANA

Some of the functions in 7.4 are also available to non-HANA customers

The new CompositeProviders and the Open ODS View makes HANA and BW tightly integrated and capable to support EDWs better

Yu should break-from the past and start designing with the new BW

7.4 features in-mind

The new monitoring features in the BW DBA Cockpit and the HANA systems makes it much easier to see what is occurring from a database level for the non-basis team.

Before you size your system, clean it up and save hardware costs.

All customers should consider the BW move to HANA in 2015!

41

Your Turn!

How to contact me:

Dr. Berg bberg@comerit.com

Please remember to complete your session evaluation

42

Disclaimer

SAP, R/3, mySAP, mySAP.com, SAP NetWeaver ® , Duet ™® , PartnerEdge, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Wellesley Information Services is neither owned nor controlled by SAP.

43