You are on page 1of 54

SAP In-Memory Computing

SAP HANA  Performance

Contact Chaim for the


PowerPoint version of this
presentation

Chaim Bendelac - SAP HANA team


May 2012
© 2012 SAP AG. All rights reserved. View this presentation in full-screen mode to experience the animation
1
Agenda

HANA Performance Architecture


Performance Analysis Tools
Performance Examples
Tips for Efficient HANA Usage

© 2012 SAP AG. All rights reserved. 2


What is SAP HANA?

 An in-memory data management platform


 “Real Real-time” performance for huge data volumes
 Current focus: business analytics
 Technology foundation for new
in-memory enterprise applications
 Delivered as a vertically
Scale
integrated appliance
via SAP HW partners Speed
 Fastest growing product
in SAP’s 40-year history
Flexibility
HANA is at the heart of
SAP’s vision and strategy
© 2012 SAP AG. All rights reserved. 3
SAP HANA Database Architecture
HANA
Studio
Business Applications SQL, MDX, HTML, REST …

Connection and Session Management


Auth.

Session
SQL
SQLProcessor
Processor
MDX
Request SQLScript …
Processing
Metadata Manager

and Control Calc Engine

Transaction Manager
Optimizer & Plan Generator, Execution Control

Data Column Engine Row Text Other


Processing (Join, OLAP) Engine Engine Engines

Persistence Logging & Recovery Page Management

Logs Data
© 2012 SAP AG. All rights reserved. 4
SAP HANA Technology Innovation

+
+
T
+ +
+
Column and Insert only Minimal Text Retrieval &
No aggregates
row store on change projections Exploration

t A P
Analytics on Multi-core/ Multi-threading In-memory Active/passive
historical data parallelization within nodes Compression & data aging

SQL

+ + + x

SQL interface on Single and Dynamic Reduction of


Partitioning
columns & rows multi-tenancy Extensibility tiers / layers

Map reduce Group Key In-memory Apps Bulk load


Technology
Trends

Image: Renjith Krishnan / FreeDigitalPhotos.net


© 2012 SAP AG. All rights reserved. 6
Moore’s Law: DRAM Pricing
Price per GByte

1000x

100x

1 TB ~ $10K
10x

Multi-Terabyte servers are now completely affordable!


Source: OBJECTIVE ANALYSIS http://blogs-images.forbes.com/jimhandy/files/2011/12/DRAM-GB-Price.jpg
© 2012 SAP AG. All rights reserved. 7
Moore‘s Law: CPUs

2002 2007 2010 2013

1 core 2 cores 8 cores -16 threads / CPU More cores, bigger caches
32 bits 2 CPUs per server 4 CPUs per server 16 ... 64 CPUs per server
4MB External Controllers On-chip memory control Greater on-chip integration
Quick interconnect (PCIe, network, ...)
VM and vector support Data-direct I/O
64 bits; 256 GB - 1 TB Tens - hundreds of TBs

Images: Intel, Danilo Rizzuti / FreeDigitalPhotos.net


© 2012 SAP AG. All rights reserved. 8
Intel Xeon – Hyper-threaded Cores, Huge Caches

L2 Westmere-EX
L3 L2

10 cores =
20 threads
ALU

L1

State of the art: pipelined cores w 256KB L2 cache; 30MB shared L3 cache
Hyper-threading: Sharing of one ALU between two threads; the chip handles the cycle-level
task-switching (when a thread is stalled, typically when it waits for memory)

Drawing from: http://www.phys.uu.nl/~steen/web09/xeon.php

© 2012 SAP AG. All rights reserved. 9


The New Challenges of In-memory Computing

 Challenge 1: Parallelism! Take advantage of tens, hundreds of cores


 Challenge 2: Data locality!
Yes, DRAM is 100,000 times faster than disk…
But DRAM access is still 4-60 times slower than on-chip caches

© 2012 SAP AG. All rights reserved. 10


Conclusion: In-memory Computing

Maintain all the data efficiently in memory ...

... and keep the cores busy

© 2012 SAP AG. All rights reserved. 11


Database Evolution
 In the eighties, we had simple, general purpose Database Servers…

Client
Application

Database
Server

t
1980 1990 2000 2010
© 2012 SAP AG. All rights reserved. 12
Database Evolution
 Over time, a separate “application server” tier, processing the data
from the DB, was introduced; the web popularized this architecture

Client
(web)

App Server

Database
Server

t
1980 1990 2000 2010
© 2012 SAP AG. All rights reserved. 13
Database Evolution
 Bigger and bigger datasets forced the introduction of separate,
specialized “Data Warehouses”, used for analytic processing (OLAP)

Client Analytic
(web) Client

App Server App Server

Transaction Data
Server Warehouse

Data
transformation
and aggregation

t
1980 1990 2000 2010
© 2012 SAP AG. All rights reserved. 14
Opportunity: Eliminate Compute Tier Overhead
 Using in-memory computing, SAP HANA offers a vision of simplicity
and integration, pushing data-intensive operations into the data layer

Data
Client

App Server

SAP HANA

t
1980 1990 2000 2010
© 2012 SAP AG. All rights reserved. 15
Elements of HANA
Performance

Image: Renjith Krishnan / FreeDigitalPhotos.net


© 2012 SAP AG. All rights reserved. 16
SQL

Column and Row Store

 DBs typically use a row-based storage; SAP HANA supports rows, but
is optimized for column-order data organization

Order Country Product Sales 456 France corn 1000


456 France corn 1000
457 Italy wheat 900 457 Italy wheat 900
458 Italy corn 600
458 Italy corn 600
459 Spain rice 800
459 Spain rice 800

Row order organization

Single-record access:
456 France corn 1000 SELECT * FROM SalesOrders
wheat WHERE Order = „457‟

457 Italy 900
458 Italy corn 600 Single-scan aggregation:
459 Spain rice 800 SELECT Country, SUM(sales) FROM
SalesOrders WHERE Product=„corn‟
Column order organization GROUP BY Country

© 2012 SAP AG. All rights reserved. 17


Columnar Dictionary Compression
 Dictionary per column
 Uses data-driven fixed-length bit encodings
 Operations directly on compressed data, using integers
 More in cache, less main memory access
Compressed
column Inverted
Logical Table Dictionary (bit fields) index
Order Country Product Sales 1 Belgium 1 3 1 7
456 France corn 1000 2 Denmark 2 4 2 5,6
457 Italy wheat 900 3 France 3 5 3 1
458 Spain rice 600 4 Italy 4 4 4 2,4,8
459 Italy rice 800 5 Spain 5 2 5 3
460 Denmark corn 500 6 2
Dictionary
461 Denmark rice 600 7 1
5 entries, so Which orders
462 Belgium rice 600 need 3 bits to 8 4
… … in Italy?
463 Italy rice 1100 encode!
… … … …
Where was
order 460?

© 2012 SAP AG. All rights reserved. 18


Columnar Run-length Encoding
 Compress repeated values in column memory
 Works best on sparse, sorted columns
 Other encodings in other cases

Logical Table Country Product


Order Country Product Sales 1 Belgium 1 corn
456 France corn 1000 2 Denmark 2 wheat
457 Italy wheat 900 3 France 3 rice
458 Spain rice 600 4 Italy
459 Italy rice 800 5 Spain
460 Denmark corn 500 1
3
461 Denmark rice 600 2
4
462 Belgium rice 600 2x3
5
463 Italy rice 1100 1
4
… … … …
2x2 3x3
1 …

4

© 2012 SAP AG. All rights reserved. 19


Column Store and Concat Attributes

HANA automatically creates and maintains a compound primary key


index via a hidden, unique-value Concat Attribute column

A B $A$B$

0 2 4 2;4

1 3 5 3;5

2 2 6 2;6

3 3 7 3;7

• Joins over several columns become joins over one column


• Simple queries over Concat Attribute columns are faster

From Indexes in “HANA Column Store, Muddles & Dissolutions”, Sascha Schwedes, 2011-11-18
© 2012 SAP AG. All rights reserved. 20
Elimination of Aggregates

 Traditional applications use “materialized aggregates” (tables


with min/max/sum/avg…) to increase analytic performance
 These aggregates must be recomputed after data changes, or at
scheduled times
 HANA aggregates massive data-sets on-the-fly with high
performance => no need to save aggregates
 Yields simpler data models and application logic, better up-to-
datedness, and less log activity

© 2012 SAP AG. All rights reserved. 21


SQL
Row or Column?

Column Row
 Analytic (OLAP) performance
Strengths:  In-memory data compression  Single transaction (OLTP) performance
 Parallel aggregations  In-place updates, no delta merges
 Administrative simplicity
 Short-running query overhead
Weak  Little data compression
 High cost for SELECT *…
nesses:  Needs indexes for fast data access
 Delta merge for updates

 Massive data sets  Pure OLTP scenarios


Best for:  Complex analytical queries  Tables with high in-place
 OLTP & OLAP (End 2012) update rates

© 2012 SAP AG. All rights reserved. 22


Data Partitioning
 Tables can be partitioned, and distributed across multiple hosts
– Huge tables; cross machine parallelization
– Efficient partition pruning
– All HANA hosts act as SQL servers; distributed execution

Host 1 Select * from table


where Color = “red”
Product Group Color Product Group Color
10 1 3
10 A red
30 1 2
20 B blue
40 1 3
30 A green 60 1 3
40 A red
50 C red
Select * from table
60 A red Host 2 where Group = “A”
Product Group Color
20 2 1
50 3 3
23
© 2012 SAP AG. All rights reserved. 23
Parallelization

 Concurrent users
 Concurrent POPs (Plan Operations) within a query
 Data partitioning, on one host quant. type sales
or distributed to multiple hosts 150 43 $1000
60 12 $900
 Horizontal and vertical core
100 12 $600
parallelization of a single query 3
45 33 $800
operation, using multiple 75 33 $500
84 12 $750
cores / threads
96 32 $600
162 43 $600 core
Transparent to app developer 45 12 $1100 4
366 33 $450
$2000

core core
1 2

© 2012 SAP AG. All rights reserved. 24


The OLAP Engine
 A specialized engine for aggregation queries on column-based star
schemas: a large fact-table with multiple attribute tables (dimensions)

Dimension A Dimension B
Dimension Key Dimension Key
Attribute 1 Attribute 1
Attribute 2 Attribute 2
Attribute ... Attribute ...
Fact Table
Primary Key
Foreign Key A
Foreign Key B
Foreign Key C
Foreign Key D
Fact 1
Dimension D Dimension C
Fact 2
Dimension Key Dimension Key
Fact …
Attribute 1 Attribute 1
Attribute 2 Attribute 2
Attribute ... Attribute ...

 Create star-scheme based models for best results: if necessary,


denormalize by combining multiple fact tables into one; combine
dimensions (snowflake to star)

© 2012 SAP AG. All rights reserved. 25


Example of a massively parallel OLAP query

 Tables with 500 M records; join and aggregations


 Parallel execution on 80 threads (4-CPU server)
 67.7 times faster than single-core execution: 5.24 seconds
 Highly efficient cache utilization
 1.2 Intel instructions per cycle

© 2012 SAP AG. All rights reserved. 26


Performance
Analysis

Image: Renjith Krishnan / FreeDigitalPhotos.net


© 2012 SAP AG. All rights reserved. 27
The Performance Toolbox

 HANA Studio
– Admin perspective, Performance Tab
o Expensive SQL statements
o Active Threads
o SQL Plan Cache
o Load graph
– Monitoring Views
o M_EXPENSIVE_STATEMENTS, M_MUTEXES, M_DELTA_MERGE_STATISTICS ,
M_CONNECTIONS, M_SQL_PLAN_CACHE, …
– Execution Plan
– Execution Plan Visualization ( in SPS4, from V25)
– SQL Trace
 Qpic Query Performance ( May 2012, internal only)

http://www.creattor.com/vectors/toolbox-79
© 2012 SAP AG. All rights reserved. 28
HANA Studio

© 2012 SAP AG. All rights reserved. 29


Studio Performance Tab

Active Threads

© 2012 SAP AG. All rights reserved. 30


Studio Performance Tab

System Load

© 2012 SAP AG. All rights reserved. 31


Studio Performance Tab

Expensive Statements

© 2012 SAP AG. All rights reserved. 32


Studio: SQL Execution Plan

 EXPLAIN PLAN SET STATEMENT_NAME = 'chaim' FOR SELECT ….;


 SELECT * FROM EXPLAIN_PLAN_TABLE where STATEMENT_NAME = 'chaim';

CTRL-SHIFT-Z

Column
or row?
Operator HDB
Main estimates Beware
operation details of row!
the relative
cost
*Example uses the “gary1.sql” query
© 2012 SAP AG. All rights reserved. 33
Studio: Plan Visualization

© 2012 SAP AG. All rights reserved. 34


Studio: Plan Visualization

© 2012 SAP AG. All rights reserved. 35


Studio: Plan Visualization – with POP details

© 2012 SAP AG. All rights reserved. 36


System Tables and Monitoring Views

 Programmatic access to a great wealth of HANA information, including


performance statistics
 Hundreds of tables and fields!
 See http://hdb-doxygen.wdf.sap.corp:1080/dev/monitor/html/index.html

© 2012 SAP AG. All rights reserved. 37


HANA Memory Consumption

Linux
Physical Memory & other
programs
Allocation Limit

pre
GBytes allocated
Used
Memory
HANA
code &
used by your data stack

 Allocation Limit: determined by license (default: 90% of memory)


 Pre-allocated Memory: memory-pool size, managed by HANA
 Used Memory: actual memory in use, for data and temporary computations
 Of which, typically about half is used by your data (column/row tables)

© 2012 SAP AG. All rights reserved. 38


HANA Queries for Memory Consumption


Limit SQL Query
Allocation Limit Allocation Limit
SELECT HOST, round(ALLOCATION_LIMIT/1024 /1024) AS "Allocation Limit MB"
FROM PUBLIC.M_HOST_RESOURCE_UTILIZATION

Used Memory SQL Query

 Used Memory Total used memory SELECT round(sum(TOTAL_MEMORY_USED_SIZE/1024/1024)) AS "Total Used MB"
FROM SYS.M_SERVICE_MEMORY;
– of which, code and Code and stack size SELECT round(sum(CODE_SIZE+STACK_SIZE)/1024/1024) AS "Code+stack MB"
FROM SYS.M_SERVICE_MEMORY;
stack size Total memory consumption SELECT round(sum(MEMORY_SIZE_IN_TOTAL)/1024/1024) AS "Column Tables MB"
– of which, space used of all columnar tables FROM M_CS_TABLES;
Total memory consumption SELECT round(sum(USED_FIXED_PART_SIZE + USED_VARIABLE_PART_SIZE)/1024/1024)
by Column Tables of all row tables AS "Row Tables MB" FROM M_RS_TABLES;
– of which, space used Total memory consumption
of all columnar tables by
SELECT SCHEMA_NAME AS "Schema", round(sum(MEMORY_SIZE_IN_TOTAL) /1024/1024)
by Row Tables AS "MB" FROM M_CS_TABLES GROUP BY SCHEMA_NAME ORDER BY "MB" DESC;
schema

Column Table Memory SQL Query


List all columnar tables of SELECT TABLE_NAME AS "Table", round(MEMORY_SIZE_IN_TOTAL/1024/1024, 2)
Column tables schema 'SYSTEM' AS "MB" FROM M_CS_TABLES WHERE SCHEMA_NAME = 'SYSTEM' ORDER BY "MB" DESC;
Show column details of table SELECT COLUMN_NAME AS "Column", LOADED AS "Is Loaded",
– Show utilization & "LineItem" in schema round(UNCOMPRESSED_SIZE/1024/1024) AS "Uncompressed MB",
compression ratio of "SYSTEM" round(MEMORY_SIZE_IN_MAIN/1024/1024) AS "Main MB",
round(MEMORY_SIZE_IN_DELTA/1024/1024) AS "Delta MB",
a column table round(MEMORY_SIZE_IN_TOTAL/1024/1024) AS "Total Used MB",
round(COMPRESSION_RATIO_IN_PERCENTAGE/100, 2) AS "Compr. Ratio"
FROM M_CS_Columns WHERE TABLE_NAME = 'LINEITEM';

Row Table Memory SQL Query


List all row tables of schema SELECT SCHEMA_NAME, TABLE_NAME, round((USED_FIXED_PART_SIZE +
Row tables ‘SYS’ by descending size USED_VARIABLE_PART_SIZE)/1024/1024, 2) AS "MB Used" FROM M_RS_TABLES
WHERE schema_name = 'SYS' ORDER BY "MB Used" DESC, TABLE_NAME

Source: SP4 Admin Guide


© 2012 SAP AG. All rights reserved. 39
 Qpic is a dedicated tool for the analysis and visualization of
query performance on the SAP HANA database

 It helps answer the most common performance question:


What is exactly going on during my query execution?

© 2012 SAP AG. All rights reserved. 40


Using Qpic: SAP-H Q5
SAP-H:
150 M line-items

5. project

2. join
1. predicates
3. aggregate
4. sort

Execution Plan

5
4
3
2
1

Source: demo/saph_q5
© 2012 SAP AG. All rights reserved. 41
SAP-H Q5: The Performance and Trace Graphs

join aggregate
Source: demo/saph_q5
© 2012 SAP AG. All rights reserved. 42
How to use

 Use Chrome/Firefox: http://coenewdb02.wdf.sap.corp:8080/qpic

Step 1
Enter server
info

Step 2
Step 3
Enter HDB
view results
info & SQL

More details: Chaim.Bendelac@sap.com


© 2012 SAP AG. All rights reserved. 43
HANA Query
Improvement

Image: Renjith Krishnan / FreeDigitalPhotos.net


© 2012 SAP AG. All rights reserved. 44
HANA Query Modeling Advice

 This is clearly work-in-progress!


 See the references!!

© 2012 SAP AG. All rights reserved. 45


Optimizing Union

SELECT … FROM SELECT … FROM SELECT … FROM

(SELECT … (SELECT … (SELECT …


WHERE key = 23 WHERE key = 23 WHERE
key = 23 OR key = 24)
UNION UNION ALL

SELECT … SELECT … SELECT … FROM


WHERE key = 24) WHERE key = 24)
(SELECT …
WHERE key IN (23,24))

4.5 sec 0.9 sec 0.5 sec

Usually UNION ≡ UNION ALL, of course!


Source: Boris Gelman, Shel Finkelstein
© 2012 SAP AG. All rights reserved. 46
Simplifying Queries

• An existential sub-query can be transformed to a join,


iff there can be only 0 or 1 matches in the sub-query

SELECT e.empname from EMPLOYEES e WHERE EXISTS


( SELECT * FROM DEPARTMENTS d
WHERE d.manager_number = e.emp_number
)

SELECT e.empname FROM EMPLOYEES e, DEPARTMENTS d


WHERE d.manager_number = e.emp_number

I.e. only if no manager can manage more than one department

Source: Shel Finkelstein


© 2012 SAP AG. All rights reserved. 47
Staying within the Column Engine
The query
SELECT * FROM T
WHERE date_string < CURRENT_DATE

is slower than:
SELECT * FROM T
WHERE date_string < TO_CHAR(CURRENT_DATE, 'YYYYMMDD’)

… because implicit conversion of date to character is currently not yet


handled by the column engine.

Source: Shel Finkelstein


© 2012 SAP AG. All rights reserved. 48
Outer join to inner join…
SELECT SELECT
COUNT( DISTINCT cust.id) AS cnt_alias, COUNT( DISTINCT cust.id) AS cnt_alias,
keys.sourcesys keys.sourcesys
FROM cust FROM cust

INNER JOIN keys ON cust.hkey = keys.hkey INNER JOIN keys ON cust.hkey = keys.hkey
WHERE cust.id IN ( INNER JOIN keys AS tempkeys
SELECT DISTINCT cust.id ON cust.hkey = tempkeys.hkey
FROM cust
LEFT OUTER JOIN keys
ON cust.hkey = keys.hkey
WHERE cust.is_best = 1 WHERE cust.is_best = 1
AND keys.sourcesys = 'ORACLE‟ AND tempkeys.sourcesys = 'ORACLE„
)
GROUP BY keys.sourcesys GROUP BY keys.sourcesys
ORDER BY cnt_alias DESC; ORDER BY cnt_alias DESC;

Duration: 25 Sec. Duration: 2.5 Sec.

Credit: Uri Haham – HiVO team – SAP Labs Israel


© 2012 SAP AG. All rights reserved. 49
Advice Summary
HANA
Studio
Business applications SQL, MDX, HTML, REST …

Minimize data transferred to


Connection and Session Management
UI client or application

Do calculations as late as SQL Processor


possible – i.e. on highest Aggregate data as early as
Request
possible aggregation SQLScript …
possible in SQL script
Processing
and Control
Avoid calculations Calc Engine
on item level Minimize data
transferred
between engines
Join on (beware of ROW)
indexed attributes
Data
such as primary keys
OLAP Row
Join Engine Aggregate data as
Processing Engine Engine
early as possible
(GROUP BY, etc.)
Reduce amount of data
as early as possible
(WHERE-clause)
Persistence Data Tables

Data
© 2012 SAP AG. All rights reserved. Slide inspiration: San Tran, Sven-Eric Eigemann,&Holger Graeber,
50
HANA Performance Information Sources

Team Wikis Partially restricted / WIP


HANA Development Team https://wiki.wdf.sap.corp/wiki/display/ngdb/Restricted
Content Team (excellent) https://wiki.wdf.sap.corp/wiki/display/HanaCnt/Home
HANA Based Application Teams https://wiki.wdf.sap.corp/wiki/display/inmematle/Home
Performance and Scalability Team https://wiki.wdf.sap.corp/wiki/display/PerformanceHANA/Home

Communities Internal
HANA PM Notifications https://community.wdf.sap.corp/sbs/groups/pm-hana-communications
Database Technology / HANA https://community.wdf.sap.corp/sbs/community/dt/hana
Building HANA Apps & Round Table https://community.wdf.sap.corp/sbs/community/in-memory-apps

HANA Stakeholders Arch Meeting http://bit.ly/JcLevj

NewDB Language Community https://community.wdf.sap.corp/sbs/groups/newdb-language

Customer/Developer Info External


HANA Documentation http://help.sap.com/hana_appliance
SCN, External Developers http://scn.sap.com/community/developer-center/hana

© 2012 SAP AG. All rights reserved. 51


Additional Annotated Performance References
Reference Link

Content Modeling Team: guidelines and performance Wiki https://wiki.wdf.sap.corp/wiki/display/HanaCnt/HANA+Content+Development

Oliver Frick, Hermann Gahm: How To Analyze the Root Cause of Poor Query http://bit.ly/J9KatJ
Performance (Nov 11)

HANA Bluebook (Feb12) https://portal.wdf.sap.corp/irj/go/km/docs/corporate_portal/WS%20PTG/Product%20Architect


ure/Knowledge%20Transfer/Bluebook/The%20SAP%20HANA%20Database.pdf

Shel Finkelstein‟s lecture: Guidelines for Applications on HANA (Mar 12) https://community.wdf.sap.corp/sbs/docs/DOC-115494

San Tran: Best Practices on HANA Modeling for OLAP Scenarios (2011) https://community.wdf.sap.corp/sbs/docs/DOC-117335

San Tran: HANA Content Modeling with Performance Aspects (Oct 11) https://community.wdf.sap.corp/sbs/message/221454#221454

Sang Yong Wang: SQL query transformations in HANA (Feb 11) https://wiki.wdf.sap.corp/wiki/display/ngdb/SQL+query+transformation

HANA help: Dev Guide (Best Practices), SQL ref guide and SQLScript (May 12) http://help.sap.com/hana_appliance/

Oliver Frick: HANA Performance from application perspective (2011) https://community.wdf.sap.corp/sbs/docs/DOC-43125

Werner Steyn: Various HANA modeling Guidelines (great tutorials!) https://community.wdf.sap.corp/sbs/people/I815462?view=overview

HANA documents master list (obsolete) https://community.wdf.sap.corp/sbs/docs/DOC-14249

HANA developer on SCN http://scn.sap.com/community/developer-center/hana

Sven-Eric Eigemann, Holger Graeber, HANA Performance Project (Dec 11) http://bit.ly/IPdSpn

HANA measurement tools https://wiki.wdf.sap.corp/wiki/display/PerformanceHANA/Measurement+and+Analysis+Tools

Performance and Scalability team home page https://wiki.wdf.sap.corp/wiki/display/PerformanceHANA/Home


HANA Apps Performance Network Team home page https://wiki.wdf.sap.corp/wiki/display/inmematle/HANA+Applications+Performance+Network

HDB team Performance FAQ/wiki http://trexweb.wdf.sap.corp:1080/wiki/index.php/FAQ_Performance

RTK (Rapid knowledge Transfer) for SP4 http://service.sap.com/~form/sapnet?_SHORTKEY=01100035870000747036&


(technical / application development) https://websmp204.sap-ag.de/~form/sapnet?_SHORTKEY=01100035870000747035&

Sang Yong Wang: SQL tuning tips for the column engine (Aug 11) https://wiki.wdf.sap.corp/wiki/display/ngdb/SQL+query+tuning+tips+for+column+engine

Qpic Installation and Reference Guide / how to start with QPic Email: Chaim.Bendelac@sap.com

HANA dev team Performance wiki home page https://wiki.wdf.sap.corp/wiki/display/ngdb/Performance

© 2012 SAP AG. All rights reserved. 52


In Summary

 HANA is a disruptive in-memory data management platform,


demonstrating a breakthrough in big-data analytic performance

 Performance improvement is critical both to the SAP HANA core


developers and to the application developers
 Better analysis tools are now available to evaluate performance
 Documentation is improving

 Take advantage!

HANA
© 2012 SAP AG. All rights reserved. 53
Thank You!
SAP HANA

You might also like