sap hana application accelerator -...
TRANSCRIPT
SAP HANA Application Accelerator Use cases and implementation
Justin Molenaur MoleHill Technology Solutions, LLC. July, 2015
© 2015 MoleHill Technology Solutions, LLC.. 2
Content
SAP HANA Use Case Overview
SAP HANA Application Accelerator § Why is this useful? § When would we use this?
Implementation § Overview § Implementation Steps § Constraints § Configuration Notes
Results and Recommendations § Sample Results § Methodology for acceleration candidates § Lessons Learned § Performance Guidelines
References
© 2015 MoleHill Technology Solutions, LLC.. 4
SAP HANA Use Cases
Application Database
• S/4 HANA • BW on HANA
Process Acceleration
• CO-PA Accelerator
• FI Accelerator • Application
Accelerator
Analytics / Native
• Data Warehousing Platform
• XS Apps
© 2015 MoleHill Technology Solutions, LLC.. 5
Why is this useful?
HANA is FAST
Increase performance of ABAP processes by reading HANA instead of AnyDB
© 2015 MoleHill Technology Solutions, LLC.. 6
When would we use this?
Need for Speed
Have HANA investments
already
Don’t want to change
code
1. Need to accelerate custom code
2. Existing or planned HANA investment
3. No or limited code changes
4. Near real time latency is acceptable
SAP HANA Application Accelerator Overview Architecture and Implementation Steps Constraints Configuration Notes
© 2015 MoleHill Technology Solutions, LLC.. 8
HANA Application Accelerator Summary
§ Redirect database reads for ABAP programs or customer namespace (Z programs)
§ Targets specifics program names and tables
§ Only SELECT operations are accelerated
AnyDB
SAP Netweaver
System Redirect?
SELECT Y
N
HANA
© 2015 MoleHill Technology Solutions, LLC.. 9
SAP HANA Application Accelerator Detailed Architecture
Source System Redirect Configuration
Replication SAP HANA Sources: • SAP ERP • SAP APO • SAP CRM • Any Netweaver
application
AnyDB
HANA SAP
Netweaver System
SELECT INSERT UPDATE DELETE
SELECT ONLY
SAP LT Server
Sybase Rep Server
Program Name / Background Job Name
AND
Table Name SDI
© 2015 MoleHill Technology Solutions, LLC.. 10
SAP HANA Application Accelerator Implementation Steps
Sources: • SAP ERP • SAP APO • SAP CRM • Any Netweaver
application
AnyDB
SAP Netweaver
System
SELECT INSERT UPDATE DELETE
1. Evaluate Pre-Requisites (OSS Note 1696402) • SAP NetWeaver 7.0, 7.0 with EhP 1- 3 OR SAP NetWeaver 7.4.
• SAP Kernel 7.21
2. Acquire and Install software - SWT2DB add on
3. Set parameter to switch on RDA (Redirect Database Access)
© 2015 MoleHill Technology Solutions, LLC.. 11
SAP HANA Application Accelerator Implementation Steps cont.
Source System Sources: • SAP ERP • SAP APO • SAP CRM • Any Netweaver
application
AnyDB
SAP Netweaver
System
SELECT INSERT UPDATE DELETE
SAP LT Server
4. Ensure there is active replication to HANA for required tables
5. Create secondary database connection in source system; use SLT replication user (if applicable)
HANA
SAP LT Server SAP LT Server
Sybase Rep Server
SDI
© 2015 MoleHill Technology Solutions, LLC.. 12
SAP HANA Application Accelerator Implementation Steps cont.
Source System Redirect Configuration Sources:
• SAP ERP • SAP APO • SAP CRM • Any Netweaver
application
AnyDB
SAP Netweaver
System
SELECT INSERT UPDATE DELETE
SELECT ONLY
Program Name / Background Job Name
AND
Table Name
6. Create or acquire configuration file for scenario
7. Upload configuration file
8. Maintain database connection for scenario
9. Activate scenario
© 2015 MoleHill Technology Solutions, LLC.. 13
SAP HANA Application Accelerator Implementation Steps cont.
Source System Sources: • SAP ERP • SAP APO • SAP CRM • Any Netweaver
application
AnyDB
SAP Netweaver
System
SELECT INSERT UPDATE DELETE
10. Test Redirection
- Activate trace in source system OR SQL trace in HANA
© 2015 MoleHill Technology Solutions, LLC.. 14
Redirection: Information and Constraints
§ Queries
§ Redirected: SELECT, OPEN CURSOR … FETCH
§ NOT Redirected: Queries with CONNECTION addition, SELECT … FOR UPDATE, Queries prepared with OPEN CURSOR WITH HOLD
§ Objects
§ Redirected: Transparent tables, Cluster tables, Database views
§ NOT Redirected: Pool tables, Table pools, Table clusters
§ Connect HANA database as the secondary database connection
§ The HANA database must be available, no DB fallback is possible without code change
§ SAP official statement is standard programs cannot be accelerated
© 2015 MoleHill Technology Solutions, LLC.. 15
Configuration Notes
§ The “program name” as defined within the Acceleration configuration file is based on the variable SY-CPROG during ABAP runtime.
§ In RFC calls the main program SY-CPROG is always set to SAPMSSY1.
§ In Web Dynpro applications the main program SY-CPROG is always set to SAPMHTTP.
© 2015 MoleHill Technology Solutions, LLC.. 16
Accelerator Maintenance
§ Transaction Code RDA_MAINTAIN – all maintenance activities performed here
SAP HANA Application Accelerator Sample Results Candidate Methodology Lessons Learned Performance Guidelines
© 2015 MoleHill Technology Solutions, LLC.. 18
Sample results
§ Across 30 scenarios, 2 – 60% decrease in DB read time can be expected with no code changes
§ Increase performance significantly if code can be changed and optimized
After Acceleration ~60% runtime reduction Before Acceleration
Join operation that got a huge improvement
© 2015 MoleHill Technology Solutions, LLC.. 19
Candidate Methodology
§ Look at Early Watch report or other monitoring to find programs which have a high DB read time
§ Talk with functional leads to find existing processes that have very long run times
§ Talk with the business to find processes that could have big business benefit
§ Execute a trace before acceleration and check the major tables affecting DB read time; SELECT, “LOOPs with For All Entry” statements
© 2015 MoleHill Technology Solutions, LLC.. 20
Lessons Learned
§ Engage process experts or stakeholders early to help prioritize acceleration benefits
§ Ensure that you perform tests with adequate volumes to mimic production volumes
§ Remove tables from acceleration that does not improve performance
§ As a general rule, perform an analysis of the program for obvious faults (binary search, sorting, etc) and correct those first.
§ Any function modules that are called from the main configured program will also be redirected
§ Look for specific indicators where code changes would bring a large benefit
© 2015 MoleHill Technology Solutions, LLC.. 21
Performance guidelines
§ Inefficient code will still be inefficient after acceleration
§ HANA will generally outperform AnyDB in following cases
§ When it comes to larger volume processing, bulk SELECT with specific column list
§ On SELECTs that contain any type of join, especially for joins on non-key/non-index fields
§ Aggregation operations
§ Any SELECT with a JOIN operation
§ HANA will generally perform the same as AnyDB in following cases
§ Many tiny reads from single tables (SELECT SINGLE)
§ SELECT * (all columns)
§ With programs that are very heavy % in ABAP processing already; large internal tables and loops
© 2015 MoleHill Technology Solutions, LLC.. 22
Reference information
§ SAP HANA Application Accelerator – OSS Note 1694697
§ This also contains the Accelerator Guide for customizing
§ SWT2DB Installation – OSS Note 1696402
§ Kernel 7.21 – OSS Notes 1713986 and 1716826
§ SWT2DB Troubleshooting – OSS Note 1949508
§ Secondary Database connection – OSS Note 1597627
© 2015 MoleHill Technology Solutions, LLC.. 23
Get Started - Implementation Overview
1. Evaluate Pre-Requisites (Netweaver 7.0, Kernel 7.21)
2. Acquire and Install software - SWT2DB add on
3. Set parameter to switch on RDA (Redirect Database Access)
4. Ensure there is active replication to HANA for required tables
5. Create secondary database connection in source system; use SLT replication user
6. Create or acquire configuration file for scenario
7. Upload configuration file
8. Maintain database connection for scenario
9. Activate scenario
10. Test redirection
© 2015 MoleHill Technology Solutions, LLC..
Thank you
http://www.hdespot.com
http://scn.sap.com/community/distinguished-engineers