SAP BW/BI Hot Topics
SAP BW/BI Hot Topics
SAP BW/BI Hot Topics
1
In This Session …
• Gain insight into SAP NetWeaver® BW data load processes, how they work, and what
tools are available to monitor and optimize their 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 DataSources and variables to
manage risk and reduce maintenance costs
• Identify the challenges and benefits of semantic partitioning and the importance of
efficient data models
2
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
3
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
4
SAP NetWeaver BW Data Load Processing Overview
Transformation
Data transformation is the central task of the ETL process where
the
initial data must be adapted to the structure of the data target.
Furthermore,
the data quality should be analyzed and automatically
increased.
Loading
Once the data has been checked and made available, it is
integrated
into SAP BW. In this context, the work area where the data is
located is called the Persistent Staging Area (PSA). The process of
loading data always includes a probable aggregation of the
extracted and transformed data.
6
Dataflow in SAP NetWeaver BW
Source: SAP
7
Extraction Interface Types
Source: help.sap.com
8
DataSources Supported by SAP NetWeaver Extraction
• SAP NetWeaver BW Service API
Allows data from SAP systems in standardized form to be extracted
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 system under
external control
9
DataSources Supported by SAP NetWeaver Extraction (cont.)
• Universal Data (UD) Connect
Permits the extraction from and direct access to relational data
10
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 to the 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
11
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
use
7.x is using transformations
Is using a single step of logic to process the dataset
Better performance
12
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
13
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
14
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
15
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 using program
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
16
Tip 15: Implement Semantic Partitioning
• What is it?
An architectural design to enable parallel data loading and query
execution
Partitioning criteria: Year, Region, or Actual/Plan
Source: SAP
17
Tip 15: Implement Semantic Partitioning (cont.)
• Benefits of semantic partitioning:
Reduction in SAP NetWeaver BWA footprint (when partitioned by
year)
Parallel data loading (when not partitioned by year)
Easier DB maintenance
18
Tip 15: Implement Semantic Partitioning (cont.)
• Example: Semantic partitioning by year
History MultiProvider
(Summarized)
Current Year – 3 Current Year - 2 Current Year - 1 Current Year Current Year + 1
ALL years Current Year – 3 Current Year - 2 Current Year - 1 Current Year Current Year + 1
Write-Optimized (No SIDs)
Source: SAP
19