20 Tips and Tricks to Improve Data Load Performance.ppt
-
Upload
berkay-yilmaz -
Category
Documents
-
view
222 -
download
0
Transcript of 20 Tips and Tricks to Improve Data Load Performance.ppt
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
1/57
2012 Wellesley Information Services. All rights reserved.
20 Tips and Tricks
to Improve DataLoad Performance
Jesper ChristensenCOMERIT
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
2/57
In This Session
Gain insight into SAP NetWeaverBW data load processes, how
they work, and what tools are available to monitor and optimizetheir performance
Receive best practices to maximize data load performance while
reducing long-term maintenance costs
Understand the benefits of optimized data load processes Find out how to enable version history to track code changes and
how to create reusable ETL logic to improve throughput and
reduce data load time
Get tips on when and how to use customer exits in DataSourcesand variables to manage risk and reduce maintenance costs
Identify the challenges and benefits of semantic partitioning and
the importance of efficient data models
1
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
3/57
2
What Well Cover
Loading data in SAP NetWeaver BW
Finding performance bottlenecks Optimizing the database
Optimizing the ABAP code
Optimizing the data models
Optimizing the data updates
Wrap-up
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
4/57
SAP NetWeaver BW Data Load Processing Overview
SAP NetWeaver BW data load processing consists of three main
activities: Extraction = Collecting the data in the source systems and
preparing it before sending it to SAP NetWeaver BW
Transformation = Transforming the data using routines,
lookups, formulas, etc. Load = Updating the data into InfoProviders DataStore Objects
(DSOs), cubes, and master data
3
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
5/57
Dataflow in SAP NetWeaver BW
4Source: SAP
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
6/57
Extraction Interface Types
5
Source: help.sap.com
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
7/576
DataSources Supported by SAP NetWeaver Extraction
SAP NetWeaver BW Service API
Allows data from SAP systems in standardized form to beextracted and accessed directly
These can be SAP application systems or SAP NetWeaver
BW systems
File interface The file interface permits the extraction from and direct access
to files, such as csv files
Web services
Permit you to send data to the SAP NetWeaver BW systemunder external control
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
8/577
DataSources Supported by SAP NetWeaver Extraction(cont.)
Universal Data (UD) Connect
Permits the extraction from and direct access to relational data Database (DB) Connect
Permits the extraction from and direct access to data located in
tables or views of a database management system
Staging Business Application Programming Interfaces (BAPIs)
Open interfaces that SAP BusinessObjects DataServices and
certified third-party tools can use to extract data from older
systems
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
9/578
Extraction Time Can Be Split into Two Categories
Extraction time
DB time to select the data to be extracted Logic applied during extraction such as joins, lookups, and
filtering
Middleware and network time
The time used to transfer the data from the source system tothe target SAP NetWeaver BW system
Interface types such as Web services and Universal Data (UD)
Connect are good for small amounts of data and cannot handle
large volumes Fixed format files are larger to transfer but faster to load into
SAP NetWeaver BW
WAN Network time can become a bottleneck during peak hours
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
10/579
Transformation Types
SAP NetWeaver BW supports the 3.x and the 7.x versions of
transforming the data 3.x is using Transfer rules and Update rules
Two steps of logic to process the dataset
Loads to different targets must be processed together
Used to have better performance than transformations
Old method; no more development or performance
enhancements; do not continue to use
7.x is using transformations
Is using a single step of logic to process the dataset
Loads to different targets can be processed independently
Better performance
Always use this option for new development
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
11/5710
Loading Data to Information Providers Types
Loading of the data to InfoProviders differs depending on type
DSO Update of the activation queue
Activation of data (update of active table and changelog)
SID determination
Should in general be switched off for DSOs
Master data
Update of master data tables
SID determination
Check duplicate key values
Very time consuming for time-dependent attributes
Attribute change run to activate the master data
Generate navigation data
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
12/57
Loading Data to Information Providers Types (cont.)
Loading of the data to InfoProviders differs depending on type
(cont.) Cubes
Update of data to the InfoCube star schema
SID determination
Roll up data to aggregates
Update data to SAP NetWeaver BW Accelerator (SAP
NetWeaver BWA)
Performance considerations for loading the data
Ensure that the database parameters are in place
Implement the correct SAP NetWeaver BW settings for your
InfoProviders
11
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
13/5712
What Well Cover
Loading data in SAP NetWeaver BW
Finding performance bottlenecks Optimizing the database
Optimizing the ABAP code
Optimizing the data models
Optimizing the data updates
Wrap-up
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
14/57
Tip 01: SAP NetWeaver BW 7.x Statistics
SAP NetWeaver BW includes a great statistics tool
It collects information on most SAP NetWeaver BW-specificactivity
Such as data loads and queries
Its delivered as business content
So you must activate it just like all business content
How to Activate Admin Cockpit document on help.sap.com
http://help.sap.com/saphelp_nw04s/helpdata/en/46/f9bd550d4
0537de10000000a1553f6/frameset.htm
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
15/57
Tip 01: SAP NetWeaver BW 7.x Statistics (cont.)
Define standard measure that can
be monitored on a daily, weekly,and monthly basis to evaluate
data load performance trends
Records processed per minute
or Time to process 1 million
records
Time spent on extraction
Time spent in transformations
Top 10 long running loads Total time spent for Attribute
and Hierarchy change runs
Use the standard queries and
reports as a starting point 14
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
16/57
Tip 02: See Details About Performance in the Monitor
The load monitor transaction code RSMO gives more details
about the processing steps InfoPackage details
Data Transfer Process (DTP) details
15
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
17/57
16
Tip 03: Use SE30 to Test Performance
Transaction code SE30 ABAP Runtime Analysis gives a detailedview of performance
Remember to set
the accuracy toLow
Run
transaction
code RSA3
Note: SE30 can also be used for transformations by simulating the DTP run
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
18/57
Tip 03: Use SE30 to Test Performance (cont.)
Detailed Runtime will show you the bottlenecks
Sort descending based on
Net Time and you will see
your bottleneck on the top
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
19/57
18
What Well Cover
Loading data in SAP NetWeaver BW
Finding performance bottlenecks Optimizing the database
Optimizing the ABAP code
Optimizing the data models
Optimizing the data updates
Wrap-up
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
20/57
Tip 04: Implement the Correct DB Parameters
Key DB parameters
SAP has recommended some parameter values for SAPNetWeaver BW that usually improve performance
Expect to evaluate these parameter settings frequently, though,
to ensure that the DB operates optimally
See three key SAP Notes: 830576Parameter recommendations for Oracle 10g
387946Use of locally managed tablespaces for
BW systems
1044441Basis parameterization for NW 7.0 BI systems
19
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
21/57
20
Tip 05: Manage Database Statistics
DB statistics are also crucial forSAP NetWeaver BW performance
The DB will not know the mostoptimal execution path for anSQL statement without DBstatistics
To set up DB statistics: Set up BRCONNECT job
using DB20 to recalculate DBstatistics
Use program RSANAORA toanalyze specific tables
DB statistics can run very slowly under Oracle when
you use SAP NetWeaver BW programs or DB
statistics. Make sure you use BRCONNECT.
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
22/57
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
23/57
22
What Well Cover
Loading data in SAP NetWeaver BW
Finding performance bottlenecks Optimizing the database
Optimizing the ABAP code
Optimizing the data models
Optimizing the data updates
Wrap-up
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
24/57
Tip 07: Coding Tips Dynamic Calls
Code the extractor user exits so that they call a dynamic program
per DataSource Isolate the code per DataSource in a self-contained program
Minimize risk that a syntax error in code for one DataSource
impacts extraction from all other DataSources
Example Program name = ZBW +
Form name = DOZBW +
This same technique can be used with customer exit variable
code
23
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
25/57
24
Tip 07: Coding Tips Dynamic Calls (cont.)
Illustration: Sample dynamic program call
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
26/57
Tip 08: Coding Tips Field Symbols
Performance consideration: Where possible, use field symbols to
populate fields in the data package The move costs of a LOOP ... INTO statement depend on the
size of a table line
The larger the line size, the longer the move will take
By applying a LOOP... ASSIGNING statement you can attach afield symbol to the table lines and operate directly on the line
contents
This is a much faster way to access the internal table lines
without moving their contents
25
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
27/57
26
Tip 08: User Exit Field Symbols
Illustration: Sample use of field symbols
User Exit (without field-symbols)
REPORT YBWZDS_AGR_USER.*****************************************************************
* Form called dynamically must start with DOYBW + *****************************************************************
FORM DOYBWZDS_AGR_USER
TABLES C_T_DATA STRUCTURE ZOXBWD0001.
data: l_logsys type logsys.
l_s_data like ZOXBWD0001.
select single logsys from t000
into l_logsys
where mandt = sy-mandt.
loop at c_t_data into l_s_data.
l_s_data-load_dt = sy-datum.
l_s_data-logsys = l_logsys.
modify c_t_data from l_s_data index sy-tabix.
endloop.
ENDFORM.
User Exit (with field-symbols)
REPORT YBWZDS_AGR_USER.*****************************************************************
* Form called dynamically must start with DOZBW +
*****************************************************************
FORM DOYBWZDS_AGR_USERTABLES C_T_DATA STRUCTURE ZOXBWD0001.data: l_logsys type logsys.field-symbols: like c_t_data.select single logsys from t000into l_logsyswhere mandt = sy-mandt.loop at c_t_data assigning .-load_dt = sy-datum.-logsys = l_logsys.endloop.
ENDFORM.
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
28/57
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
29/57
28
Tip 09: User Exit: Read Instead of Loop
Illustration: Sample use of field symbols
User Exit (without read)
REPORT YBW2LIS_13_VDITM.*****************************************************************
* Form called dynamically must start with DOYBW + *****************************************************************
FORM DOYBW2LIS_13_VDITM
TABLES C_T_DATA STRUCTURE ZOXBWD0001.
data: l_logsys type logsys.
l_s_data like ZOXBWD0001.
field-symbols: like c_t_data,
like VBAP.Loop at c_t_data assigning .
Loop at itab assigning
where VBELN = c_t_data-VEBLN.
c_t_data-NETVALUE = c_t_data-NETVALUE + - NETWR.
endloop.
Endloop.
ENDFORM.
User Exit (with read)
REPORT YBWZDS_AGR_USER.*****************************************************************
* Form called dynamically must start with DOZBW +
*****************************************************************
FORM DOYBWZDS_AGR_USERTABLES C_T_DATA STRUCTURE ZOXBWD0001.data: l_logsys type logsys,
l_idx type sy-tabix.
field-symbols: like c_t_data,
like VBAP.Loop at c_t_data assigning .
READ TABLE ITAB WITH TABLE KEY VBELN = c_t_data-VEBLN
BINARY SEARCH.L_idx = sy-tabix.
Loop at itab assigning FROM INDEX l_idx.
check -VBELN = c_t_data-VEBLN.c_t_data-NETVALUE = c_t_data-NETVALUE + - NETWR.
endloop.
endloop.
ENDFORM.
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
30/57
29
Tip 10: Delta Enable Generic DataSources
Improve extract performance by creating delta-enabled generic
DataSources Simple:
By date
By timestamp
By sequential number (unique table key) Complex:
PointersABAP techniques can be used to record an array of
pointers to identify new and changed records
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
31/57
30
Tip 10: Delta Enable Generic DataSources (cont.)
Illustration: Delta enabling a generic DataSource
Ensure that you set the upper or lowerlimits correctly based on the data you are
extracting!
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
32/57
Tip 11: Lookups
Do not use single selects for lookups!
For better performance: Use start routines to read lookup data to an internal table
Read internal table to populate field values in routines
For best performance:
Add lookup fields to InfoSource
Use start routine and field symbols to populate blank fields for
entire data package at one time (see illustration on slide titled
User Exit Field Symbols)
31
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
33/57
Tip 12: Program Includes
Use includes for all complex routine logic
Access logic by using perform statements Increase portability of transformation logic
Use same read statements for multiple lookups
Reduce risk of errors in obscure places
Decrease maintenance cost of complex update rules
One place to go to fix/enhance logic
Code is consistent and easier to follow
Enable version management of code
Track changes over time
Compare between systems
Revert to previous versions
32
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
34/57
33
Tip 12: Program Includes (cont.)
IllustrationSelect into internal table
Start routine
FORM startupTABLES MONITOR STRUCTURE RSMONITOR "user defined monitoring
MONITOR_RECNO STRUCTURE RSMONITORS
DATA_PACKAGE STRUCTURE DATA_PACKAGEUSING RECORD_ALL LIKE SY-TABIX
SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYSCHANGING ABORT LIKE SY-SUBRC. "set ABORT 0 to cancel update
**$*$ begin of routine - insert your code only below this line *-*
* fill the internal tables "MONITOR" and/or "MONITOR_RECNO",* to make monitor entriesperform READ_USR02_TO_MEMORY_FOR_0BWTC_C02
TABLES MONITORDATA_PACKAGE
USING RECORD_ALLSOURCE_SYSTEM
CHANGING ABORT.* if abort is not equal zero, the update process will be canceled* ABORT = 0.
*$*$ end of routine - insert your code only before this line *-*
Program include
****************************************************************** INITIALIZATION (ONE-TIME PER DATA PACKET) ********************** TO READ FROM DATABASE (ALL RECORDS FOR DATA PACKAGE) **********
****************************************************************** FORM READ_USR02_TO_MEMORY_FOR_0BWTC_C02*---------------------------------------------------------------*Form READ_USR02_TO_MEMORY_FOR_0BWTC_C02TABLES MONITOR STRUCTURE RSMONITOR
DATA_PACKAGE STRUCTURE /BIC/CS80BWTC_C02
USING RECORD_ALL LIKE SY-TABIXSOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS
CHANGING ABORT LIKE SY-SUBRC.
* Refresh the internal table.refresh: GT_USR02.
* Read USR02 user data to memory for this data packageselect * into corresponding fields of table GT_USR02from USR02FOR ALL ENTRIES IN DATA_PACKAGE
where BNAME = DATA_PACKAGE-TCTUSERNMorder by primary key.
* if abort is not equal zero, the update process will be canceledABORT = 0.
ENDFORM. "READ_USR02_TO_MEMORY_FOR_0BWTC_C02
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
35/57
34
Tip 12: Program Includes (cont.)
IllustrationInclude perform statements
Update routine
FORM compute_key_fieldTABLES MONITOR STRUCTURE RSMONITOR "user defined monitoringUSING COMM_STRUCTURE LIKE /BIC/CS0BWTC_C02
RECORD_NO LIKE SY-TABIXRECORD_ALL LIKE SY-TABIXSOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS
CHANGING RESULT LIKE /BI0/V0BWTC_C02T-USERGROUPRETURNCODE LIKE SY-SUBRCABORT LIKE SY-SUBRC. "set ABORT 0 to cancel update
**$*$ begin of routine - insert your code only below this line*-** fill the internal table "MONITOR", to make monitor entriesPERFORM READ_GT_USR02
USING COMM_STRUCTURE-TCTUSERNMRECORD_NORECORD_ALLSOURCE_SYSTEM
CHANGING GS_USR02ABORT.
RESULT = GS_USR02-CLASS.*if abort is not equal zero, the update process will be canceled*$*$ end of routine - insert your code only before this line *-*ENDFORM.
Program include
****************************************************************** RECORD PROCESSING (RUN PER RECORD) ***************************** TO READ FROM MEMORY (ONE RECORD) ***********************************************************************************************
* FORM READ_GT_USR02*---------------------------------------------------------------*
FORM READ_GT_USR02USING TCTUSERNM LIKE USR02-BNAME
RECORD_NO LIKE SY-TABIX
RECORD_ALL LIKE SY-TABIXSOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS
CHANGING GS_USR02
ABORT LIKE SY-SUBRC. "ABORT0 cancels updateSTATICS: L_RECORD LIKE SY-TABIX.IF RECORD_NO L_RECORD.L_RECORD = RECORD_NO.CLEAR GS_USR02.
* Read user data from internal table GT_USR02READ TABLE GT_USR02WITH KEY BNAME = TCTUSERNM
INTO GS_USR02.
ENDIF.ENDFORM. "READ_GT_USR02
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
36/57
Tip 13: Use Start and End Routines
Start routines can be used to process the data efficiently prior to
starting the single records processing The most efficient place to delete records from the data
package prior to spending time on processing them
End routines in SAP NetWeaver 7.x allows for processing of the
data after it has been passed through the transformation It is the most efficient place to copy data records (e.g., for
generating year-to-date figures)
35
C
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
37/57
36
What Well Cover
Loading data in SAP NetWeaver BW
Finding performance bottlenecks Optimizing the database
Optimizing the ABAP code
Optimizing the data models
Optimizing the data updates
Wrap-up
Ti 14 D t M d li D fi i Di i
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
38/57
37
Tip 14: Data Modeling: Defining Dimensions
Use as many dimensions as possible
Separate common filter characteristics into own dimension Use line-item dimensions for high cardinality characteristics such
as document numbers
Do not set the high cardinality flag!
Define related characteristics in the same dimension
Calculate expected number of dimensional entries
Try not to exceed 10% of expected fact table entries
Verify the dimension design after the first dataloads usingprogram SAP_INFOCUBE_DESIGNS
Add all relevant time characteristics
If 0CALMONTH is lowest granularity, add 0CALMONTH2,0CALQUARTER, 0CALQUART1, 0HALFYEAR, and 0CALYEAR
Provides greatest reporting flexibility without need to reload
Ti 15 I l t S ti P titi i
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
39/57
38
Tip 15: Implement Semantic Partitioning
What is it?
An architectural design to enable parallel data loading andquery execution
Partitioning criteria: Year, Region, or Actual/Plan
Source: SAP
Ti 15 I l t S ti P titi i ( t )
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
40/57
39
Tip 15: Implement Semantic Partitioning (cont.)
Benefits of semantic partitioning:
Reduction in SAP NetWeaver BWA footprint (when partitionedby year)
Parallel data loading (when not partitioned by year)
Parallel query execution
Best case when partitioning criterion is set as constant Almost as good to create variables to filter on 0INFOPROV
Archival of a single InfoCube does not impact others
Easier DB maintenance
Performance benefits are so significant
semantic partitioning should be deployedon virtually every data model!
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
41/57
Wh t W ll C
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
42/57
41
What Well Cover
Loading data in SAP NetWeaver BW
Finding performance bottlenecks Optimizing the database
Optimizing the ABAP code
Optimizing the data models
Optimizing the data updates
Wrap-up
Ti 16 S it h Off SID D t i ti f DSO
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
43/57
42
Tip 16: Switch Off SID Determination for DSOs
Switch off SID determination for DSOs that are not used in
reporting
SID determination is required only for report DSOs and take up
40-70% of the activation time
Ti 17 A ti t P ll l P i
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
44/57
43
Tip 17: Activate Parallel Processing
Parallel processing is
possible for most steps
in SAP NetWeaver BW
DTP Parallel
Processing
DSO settings
Transaction code
RSODSO_SETTINGS
Tip 18 Compress Data
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
45/57
44
Tip 18: Compress Data
Compression of InfoCubes helps with two things in the dataflow:
Makes the tables that are updated smaller and hence faster toupdate
The process variant that drops and recreates the indices during
loading in a process deletes only the indices on the F-fact table
and hence the time to rebuild indices is much faster
Recommendation
Compress data that is older than 2-8 days depending on your
load schedule
Tip 19: Implement Number Range Buffering of DIMs and
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
46/57
p p g gSIDs
The number range tables (NRIV) are called for every new distinct
record that is loaded to SAP NetWeaver BW as either master data
or dimension in an InfoCube
The NRIV table is accessed with a select for update statement,
which can be quite slow
Buffering should be done as follows:
Determine the large number ranges (Document numbers,
Dimensions with documents or many distinct values)
Goto t-code SNRO and set up buffering
45
Tip 20: Implement SAP NetWeaver BW Accelerator
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
47/57
46
Tip 20: Implement SAP NetWeaver BW Accelerator
SAP NetWeaver BWA is superior to aggregates when it comes to
improving performance
Aggregates require continuous tuning as the data and query
requirements change over time
SAP NetWeaver BWA requires limited maintenance effort in
comparison
If you can afford it, you should invest in SAP NetWeaver BWA
Tip 20: Implement SAP NetWeaver BW Accelerator (cont )
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
48/57
47
Tip 20: Implement SAP NetWeaver BW Accelerator (cont.)
Disk speed is growing slower than other hardware components
47
In-memory datastores
Multi-channelUI, high eventvolume, crossindustry valuechains
Application-aware andintelligent data
management
Disk-based datastorage
Simpleconsumption ofapps (fat clientUI, EDI)
General-purpose,application-agnostic
database
1990 2010Architectural DriversImprovement20101990
216Addressable
Memory
2502x50.15MB/$
0.02MB/$
Memory
5066x253.31MIPS/$
0.05
MIPS/$CPU
Technology Drivers
600MBPS
5MBPS
Disk
Data Transfer120x
1000 x100Gbps
100Mbps
NetworkSpeed
264 248x
Source: 1990 numbers SAP AG,
2010 numb ers, Dr. Berg
Physical hard dr ive speeds grew by only 120 t imes
sinc e 1990. Al l o ther hardw are components g rew faster.
Tip 20: Implement SAP NetWeaver BW Accelerator (cont )
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
49/57
Source: SAP
Tip 20: Implement SAP NetWeaver BW Accelerator (cont.)
In this example, the
average query
execution took 58.8seconds; after
SAP NetWeaver
BW Accelerator,
the average query
took 17.9 seconds(295% faster overall)
48
Tip 20: Implement SAP NetWeaver BW Accelerator (cont )
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
50/57
Tip 20: Implement SAP NetWeaver BW Accelerator (cont.)
With SAP NetWeaver BW 7.3,
you can have data in SAP
NetWeaver BW Accelerator;
InfoCubes are not required
This saves the loading time to
the BW cube start schema
You should implement SAP
NetWeaver BWA if you want to
consistently improve query
performance and data load performance
49
Tip 20: Implement SAP NetWeaver BW Accelerator (cont )
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
51/57
Tip 20: Implement SAP NetWeaver BW Accelerator (cont.)
SAP NetWeaver BWA is an appliance, but it does require some
maintenance activities to keep it running smoothly
Monitor SAP NetWeaver BWA utilization to avoid overloading
The rule of thumb is that you should have data that is less
than 50% of the memory size
Overloading SAP NetWeaver BWA will cause performancedegradation
Compress the cubes and rebuild indices on a regular basis
SAP NetWeaver BWA is not a cheap toy. The licensing is
based on blades used. Avoid using more space than needed by dropping and
rebuilding the SAP NetWeaver BWA indices on a regular
basis
50
Tip 20: Implement SAP NetWeaver BW Accelerator (cont )
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
52/57
51
Gather information about end-userquery requirements and drill-downpatterns
You can suggest aggregates based onquery design
Execute the query multiple times usingrealistic drill-down scenarios
Allow time for users to execute queriesand collect SAP NetWeaver BW statistics
You can suggest aggregates based onSAP NetWeaver BW statistics
Analyze the use of aggregates Modify aggregates for optimization
Before aggregate creation: After aggregate creation:
Tip 20: Implement SAP NetWeaver BW Accelerator (cont.)
Avoid aggregates but consider as a back up for SAP NetWeaver
BW Accelerator
They come at a cost
Additional step in data loading
Longer runtime for master data and hierarchy activations
Check that the query is using the aggregate via
RSRT
What Well Cover
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
53/57
52
What We ll Cover
Loading data in SAP NetWeaver BW
Finding performance bottlenecks Optimizing the database
Optimizing the ABAP code
Optimizing the data models
Optimizing the data updates Wrap-up
Resources
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
54/57
Resources
Joe Darlak of COMERIT, SAP NetWeaver BI and Portals 2010
conference (Orlando, Florida)
Practical Tips to Improve Data Loading Performance and
Efficiency in SAP NetWeaver by Up to 75%
Training BW360 BWPerformance and Administration class
53
7 Key Points to Take Home
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
55/57
54
7 Key Points to Take Home
Use the SAP NetWeaver BW statistics to find data loads that
require optimizationtarget to optimize top 5-10 every month
Use SE30 to analyze ABAP runtime for DataSources and
transformations
Review and implement the recommended database parameters for
SAP NetWeaver BW
Ensure that all SQL statements used in the data loading process
are using indices and that statistics are calculated for the tables
Make sure that the ABAP coding used in extraction exits and
transformation is optimized
Review and optimize the data models to avoid unnecessary
processing
Use parallel processing during data loading and updates
Your Turn!
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
56/57
55
Your Turn!
How to contact me:
Jesper Moselund Christensen
Disclaimer
-
7/22/2019 20 Tips and Tricks to Improve Data Load Performance.ppt
57/57
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.