ebook img

Understanding SAP HANA Database Performance PDF

59 Pages·2013·4.71 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Understanding SAP HANA Database Performance

RDP302 Understanding SAP HANA Database Performance Lars Breddemann, SCE EMEA Richard Bremer, SCE EMEA Charu Agarwal, SCE APJ TechEd 2013 Disclaimer This presentation outlines our general product direction and should not be relied on in making a purchase decision. This presentation is not subject to your license agreement or any other agreement with SAP. SAP has no obligation to pursue any course of business outlined in this presentation or to develop or release any functionality mentioned in this presentation. This presentation and SAP's strategy and possible future developments are subject to change and may be changed by SAP at any time for any reason without notice. This document is provided without a warranty of any kind, either express or implied, including but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. SAP assumes no responsibility for errors or omissions in this document, except if such damages were caused by SAP intentionally or grossly negligent. © 2013 SAP AG or an SAP affiliate company. All rights reserved. 2 You and SAP HANA SAP HANA is, amongst other things, first and foremost a database management system. • Or short: it’s the DB system for your application. • As that it takes care about storing and retrieving your data safely and efficiently. • That means: • You don’t have to care about that – SAP HANA offers this as a service to you, the application developer. Focus on your application code and let SAP HANA figure out how to deal with your data. • © 2013 SAP AG or an SAP affiliate company. All rights reserved. 3 Performance dilemma But how to care about performance if the DB is handling all the data handling for me? Use funny SQL coding tricks? (WHERE 1=1 AND 1 IS NOT NULL…) • Put optimizer hints into the SQL? ( /*+ INDEXACCESS … */) • Set DB parameters? (force_fast_query_processing = true) • This kills your productivity • This makes your system hard to maintain and operate • This prevents your SQL code to benefit from the • improvements in SAP HANA revisions © 2013 SAP AG or an SAP affiliate company. All rights reserved. 4 Performance dilemma – EXIT (because system performance is still your responsibility) Don‘t treat SAP HANA as a black box! • Understand how it works and use SAP HANA based on that! • Because: “Garbage in, garbage out” is still true in a client/server situation. • So, let’s see what SAP HANA does with your queries and how you can find out • about it… © 2013 SAP AG or an SAP affiliate company. All rights reserved. 5 The rise and fall of your SQL commands or the lifetime of a session in SAP HANA DB Client SAP HANA DB Server Authentication Application (user name + password/token/certificate) Network communication HANA client software HANA client software Session context Shared SQL plan cache Prepare query Parse query or fetch plan from cache Execution engines Handle on prepared query OLAP Calc. result cache engine engine Join Call query/open cursor Execute plan and engine SQL engine Providing parameter values return result set(s) Column store Row store Fetch results Close result set/close cursor Close prep. statement handle Close connection © 2013 SAP AG or an SAP affiliate company. All rights reserved. 6 Lifetime of a SAP HANA session DB Client SAP HANA DB Server Application Network communication HANA client software HANA client software Session context Shared SQL plan cache • Applications create sessions inP trheepa SreA quPe rHy ANA server Parse query or fetch • Sessions could be seen as a conversation between client and plan from ca•che SYSTEM variables are set at logon/automatically and cannot be changed during the session e.g. session language is set via server Execution engines LOCALE (ISO lang code)/LOCALE_SAP (SAP internal • They provide context to theH aenxdlee coun tpiorenp aoref dS qQueLry c ommands language encoding) OLAP Calc.. • Sessions are facilitated over one or more physical connections • USER rveasurilta cbalcehse can be freelyen dgienfei ned (eunpg intoe 50 per session) and (network connections) accessed from outside the session (m_session_context view, Join Call query/open cursor Execute plan and SAP HANA studio) engine SQL engine Providing parameter values return result s•et(s) APPLICATION* variables used by convention to allow easier system monitoring Column store Row store • APPLICATIONUSER should show the „real“ user (SAP Fetch results NetWeaver puts in ABAP user) • APPLICATIONSOURCE shows source location of database call Close result set/close cursor (automatically in SAP NetWeaver) • APPLICATIONVERSION should provide versioning information Close prep. statement handle of the DB client Close connection © 2013 SAP AG or an SAP affiliate company. All rights reserved. 7 Session context variables © 2013 SAP AG or an SAP affiliate company. All rights reserved. 8 Session context variables – used for monitoring • APPLICATION*-variables provide additional meta data for monitoring and answers questions like: • Which ABAP module runs a statement? • Which SAP HANA Studio versions are used? • … • Which user is running the session? • DB user ≠ OS user • DB user ≠ SAP NetWeaver user • APPLICATIONUSER provides this information © 2013 SAP AG or an SAP affiliate company. All rights reserved. 9 Lifetime of SAP HANA session DB Client SAP HANA DB Server Application Network communication HANA client software HANA client software Session context Shared SQL plan cache • Applications create sessions in thPer eSpaAreP q HueAryN A server Parse query or fetch • Sessions could be seen as a conversation between client and plan from cache server Execution engines • They provide context, a semaHnantidcle f roan mpreep,a troed t hquee rey xecution of SQL OLAP Calc.. commands result cache engine engine • Sessions are facilitated over one or more connections Join Call query/open cursor Execute plan and engine SQL engine Providing parameter values return result set(s) Column store Row store • Connections are physical network connections indexserver.ini • Can be cancelled/killed by adminisFtertacht orers ults [session] • Enable multi-node access for a single DB session • Can be automatically canceCllelodse b reassuelt dse ot/cnlo tsiem ceuorsuort mechanisms idle_connection_timeout_application_statisticsserver idle_connection_timeout_application_hdbstudio Close prep. statement handle idle_connection_timeout Close connection connection_history_lifetime © 2013 SAP AG or an SAP affiliate company. All rights reserved. 10

Description:
Charu Agarwal, SCE APJ SAP HANA is, amongst other things, first and foremost a database management (WHERE 1=1 AND 1 IS NOT NULL…).
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.