The road to SAP HANA - · PDF file•Roadmap & strategy • BW on HANA • HANA side...
-
Upload
vuongkhuong -
Category
Documents
-
view
283 -
download
1
Transcript of The road to SAP HANA - · PDF file•Roadmap & strategy • BW on HANA • HANA side...
The road to SAP HANA
18/06/2015
Flexso
140 consultants
20 million euro
Top 3 in Belgium
5% attrition
20% growth per year
100 active customers
3000 Cronos consultants
Flexso
• Roadmap & strategy
• BW on HANA
• HANA side car scenarios
• S/4HANA / Simple FI / Business Suite on HANA
• SAP Fiori / HANA XS apps
• SAP HANA Cloud Platform extensions (SFSF/C4C/…)
• SAP HANA Cloud Integration (SFSF/C4C/…)
HANA @Flexso
KU Leuven & Association
> 102.000 students
> 22.000 staff members 49%
49%
Academic
programmes
2%
Professional
programmes
2%
Arts
SAP @ KU Leuven
SAP @ KU Leuven
RRB
PAY-
TIME
PA-
PD
e-recrui-
ting
HR-
FPM
FM
CO
AA
SD
MM
FS
CM
FICAIS:
SLcM
PM
PS
IM
RE
-FX
SRM
(e-catalog)
CRM
Solution
Manager
FI
ERP
PI
ca. 2 TB data
BO
+ A lot of custom code(workflow, web applications, interfaces, …)
BW
ca. 800 GB data
Since 1999…
Central IT Department
DIRECTORATE ICTS
Customer & Service Centre
• Customer & service managers
• IT Vendor & Purchasing mgmt
• ICTS Helpdesk, communication & training
Facilities for Education, Research, Communica-tion and Collabora-tion
• Inter- and Intranet
• Facilities for Education
• Facilities for Research
• Communication & Collaboration
• Competence Centre Information Security
Administra-tive Applica-tions for General Management
• Finance
• Logistics
• Human Resources
• SAP Basis & ICTS
Administra-tive Applica-tions for University management
• Students
• Education
• Individual Study programmes & Exams
• Research
• CRM
Local Network & Support
• Local Infrastructure System administration
• Local Infrastructure support
• PC Classrooms support
Central IT Infrastructure
• System administration AIX
• System administration UNIX
• System administration Windows
• Data CentreNetwork
Competence Centre
Management Information
ICTS Administrative
Office
• System administration AIX
Total: 215 FTE
Why SAP HANA ?
Why SAP HANA?
Technology-driven choice for next-generation platform
Multicore 64bit Price/performance
Exp
loit
20x,30x,100x,…
faster!
2 à 3 x
faster?
Applications
Database concepts
Hardware innovations
Find the ROI / Value
• Simplification of custom
developments
• Archiving Aging (hot & cold storage)
End-user experience
Application Development
Database & Hardware
• Better performance
• New applications
• DB license (Oracle)
• Cheaper Hardware (cheaper storage, less application servers)
SAP HANA
Implementation
Scenarios
And our plans …
SAP HANA Implementation scenarios
IntakeRDS
FI
Activate more accelerators
Refactoring of custom code
SIDE-CAR
2014 2015 2016
Preparation
Make all custom-code Unicode & HANA-compliant
SUITE-ON-HANA
Refactoring of
custom code?
May 2014
first RDS live
Feb 2015
Schedules
May 2015
1st Test migration SoH
Unicode-
conversion
& upgrades
Test-
migrations
March 2015
BW-on-HANA live
Upgrade
BW 7.40Migration of all Bex-queries and WAD applications to BO-environment
BW
Results of test migration
SoH migration date
ERP-environment
Side-car vs. SoH
ORACLE DB
SAP
Business
suite
ORACLE DBHANA DB
Client
SLT*
HANA is Secondary database
Read
only
SAP
Business
suite
Client
HANA DB
HANA is Primary database
“Side-car”
@”Hana-nise” = refactoring of
individual applications / programs
@ Make all custom code
“HANA-compliant”
“Suite-on-HANA”
* SLT = SAP Landscape Transformation Replication Server
ORACLE DB
SAP
Business
suite
ORACLE DBHANA DB
Client
SLT*
HANA is Secondary database
Read
only
SAP
Business
suite
Client
HANA DB
HANA is Primary database
“Side-car”
@”Hana-nise” = refactoring of
individual applications / programs
@ Make all custom code
“HANA-compliant”
“Suite-on-HANA”
Low Risk
Case-by-case approach
• Identify performance
bottlenecks
• Refactoring of Code*
Impressive gains in
performance
(factor 20 à 200?)
High Risk
Global project(all custom – and standard ? - code)
• Simplification of system
landscape
• General performance
gains? (factor 2 à 3?)
• ROI HW&SW
investments
ERP: 2 parallel projects
IntakeRDS
FI
Activate more accelerators
Refactoring of custom code
SIDE-CAR
2014 2015 2016
Preparation
Make all custom-code HANA-compliant
SUITE-ON-HANA
Case-by-case decision IF resources are
spend to ‘HANA-nise’ (set priorities)
ALL code has to be tested
and changed if needed
Refactoring of
custom code?
Results of test migration
SoH migration date
ERP-environment
Side-car – first results
ERP-environment
• ABAP in Eclipse
• Open SQL vs. Native SQL vs.
ADBC
• New trace tools
• HANA Views
• Authorizations
• Connection: how to send
selects to HANA-sidecar?
STANDARD SAP
Accelerators
ECC6 – EHP6 > NOTES!!
EHP7 = OK!
CUSTOM CODEExperimenting
with “push code 2 DB”
• Finance for Public sector”
o FI: line item reports(FBL3H, FBL1H, FBL5H,…)
o PS: line items (CJI3N, CJI4N)
o FM: Budget Control System (reports, reconciliation tools & mass budget trx.,
closing operations)
• Logistics
o MM: Stock reports(MB51,MB52, MB5B)
1. Standard SAP transactions
FBL3N
NO HANA
FBL3H
HANA
Period 22 sec. < 1 sec
Period/WBS-element 51 sec 3 sec
SAP Feedback:
On Average 10-15% gain can be
expected for standard
transactions
2. DIY…
Adapt your custom code
How To Start?1. Monitor:
o SQL Monitor [SQLM(D)]: What are the most expensive reports,
transactions,.. In terms of total DB time on the production system?
o At KUL: identify top 10 programs for extensive screening initially via a
sidecar setup, in a later stage on intake
2. Detect
o Which SQL statements are of most relevance of these?
o At KUL: mostly via SAT/ST05 + separate SCI runs
(FUNCTIONAL_DB/PERFORMANCE_DB) on programs identified
via monitoring
3. Optimize
o How to improve the performance?
o Follow the golden SQL rules!
Adapt custom code
Ways to read the secondary database (side-car)
1. ACCELERATOR = SWT2DB Add-on of SAP
2. SELECT…. CONNECTION to_hana…
but what about standard code? Redirect to 2nd DB via the
add-on is also possible as long as sy-cprog remains in
customer namespace
How can we call the data on the sidecar DB?
- With as little as possible changes to the original
code
- In such a way that everything still works after
migration to Suite on HANA
( HANA as primary database)
Oracle
SLT
HANA
1. SWT2DB Add-on: General info• Separate installation on dev, qual & prod
• Prerequisites:
o RZ11 rsdb/rda switched on (all instances)
• Restrictions:
o Not allowed directly on SAP programs:
determining factor = sy-cprog
o Does not work for RFC, webdynpro, BSP
as in such cases sy-cprog is always set to
SAPMSSY1 or SAPMHTTP
o For joins: All tables have to be replicated
o Complete reference guide:
sap note1694697 ‘SAP Business Application
Accelerator powered by HANA’
2. SWT2DB Add-On : How to use?• Run Program rda_maintain:
o Upload XML file: Which Tables have to be read
from the 2nd DB (HANA) for which program (and
job)?
o Assign the name of the 2nd DB connection to
this scenario and activate
3. SWT2DB Add-On: XML Scenario example
Performance is not everything!
Individual schedule of a student or professor:• SAP UI5 web-app
Gateway-service to ERP-backend
-> also used by external apps
• Huge peak loads on Sunday evening, at start new semester, …
ma di woe do vr
Performance is not everything!
DB-server (central instance)
max 20 CPU
The HANA-effect!
Connection to HANA activated
Load on ERP-back-end drops with >10 CPU
Faster?Yes! From 1896 ms to 98 ms
But also:
Code changes might be necessary!• HANA will ‘reward’ performant code and act as a
‘magnifying glass’. What you really want…
JOINS
Code changes might be necessary!• “HANA will ‘reward’ performant code…”
But the reverse is true as well,
especially for repeated DB Access (Queries in Loops)
Eg: Custom program, Query #1: Select Loop, Query #2:
Loop over results obtained in Query #1 with another select
loop replaced by 2 Array Fetches (#2 using FOR ALL
ENTRIES)
Test Program: RH_STRUC_GET in loop vs
RH_STRUC_GET_MULTIPLE_ROOTS
SCI/ATC: “search across modularization units”• Test program with 2 … not so optimal queries
SELECT * FROM hrp1001 INTO TABLE itab1001
LOOP AT itab1001 INTO wa1001.
SELECT SINGLE * FROM hrp1000 INTO wa1000
WHERE plvar = wa1001-plvar.
APPEND wa1000 TO itab1000.
CLEAR wa1000.
ENDLOOP.
2nd Query: called via either
• A Subroutine
• A Function Module
• A Method of A Local Class
• A Method of A Global Class
• SCI using PERFORMANCE_DB variant
SCI/ATC: “search across modularization units”
SCI/ATC: “search across modularization units”
• 2nd Query: called via
• A Subroutine
• A Function Module
• A Method of A Local Class
• A Method of A Global Class
Only the local nested DB reading is found!
SAP Feedback:
Work is going on to improve
Select Single/Select *
Conclusion Sidecar tests• To achieve big gains in custom code (most often)
adaptation of the code is needed (trace SQL and
enhance!)
• A Framework is needed to build these changes in a
structured way and to assure that everything still works in
SoH (custom ABAP class)
• Huge performance gains mainly in case of
• Very large tables (MM of records)
• High parallel peak loads
How will our custom code behave after
migration to suite-on-HANA?
TEST in May/June 2015
SAP Feedback:
HANA will shine as of
5MM records
Tests on Intake System• Intake: Oracle DB then converted to full HANA DB
• 10 objects screened on sidecar + additional 60 objects
Predictability sidecar?
95% of 60 objects: faster in
HANA
∑ Runtime all objects Oracle∑ Runtime all objects HANA
HANA 2x faster vs Oracle
Average Gain: 4.6x
Median Gain: 2.7x
Tests on Intake System: Predictability sidecar• No false positives (on
total runtime)
• Some false negatives
• Overhead for
connecting to the
2nd DB / not the
case when HANA is
the primary DB
• Especially for
nested selects in
loops (‘Open
Component of the
SQL Block’)
Take-aways
• HANA acts as a magnifying glass… in both directions!
• Of the 5 ‘golden’ SQL rules:
• ‘Minimize the number of data transfers’ seems to be
the one with the most impact
• Caution advised when interpreting Trace Data
• Buffering!
When determining an ‘Oracle Reference’
• Non-optimal code might still be faster in HANA… up
to a certain point!
E.g. # Records in an internal table loop with a
nested Select
Take-aways• Sidecar = valid approach to predict performance on SoH
• Easy to screen programs in combination with the SWT2DB
Add-on
• No difference found between CONNECTION addition and
accelerator in terms of performance
• Returns a worst case scenario (no false positives) – Not all
tables are redirected in the sidecar setup!
• Performance is not everything!
• E.g. Complex Joins are handled much easier in HANA
Questions?