sap hana sps09 - sap hana scalability
Embed Size (px)
DESCRIPTION
See what's new in SAP HANA SPS09 - SAP HANA ScalabilityTRANSCRIPT

1 © 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP HANA SPS 09 - What’s New? SAP HANA Scalability
SAP HANA Product Management November, 2014
(Delta from SPS08 to SPS09)

© 2014 SAP SE or an SAP affiliate company. All rights reserved. 2 Public
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.

© 2014 SAP SE or an SAP affiliate company. All rights reserved. 3 Public
Scalability
Setting the stage …
Scalability is the ability of a computer hardware/software to take full
advantage of its changed context in a re-scaled situation, e.g. by adding or
reducing resources
Vertical Scalability (Scale-up)
– Adding resources within the same computing unit, e.g. #CPUs, #DRAMs
Horizontal Scalability (Scale-out)
– Adding multiple computing units and making them work as one logical
computing unit
SAP HANA is designed for scale-up and scale-out since the beginning

Scale-up

© 2014 SAP SE or an SAP affiliate company. All rights reserved. 5 Public
Micro-Architecture Trends
Core1 Core2
Core4 Core3
CPU 1
Core1 Core2
Core4 Core3
CPU 1
Core1 Core2
Core4 Core3
CPU 1
Core1 Core2
Core4 Core3
CPU 1
RAM
RAM
RAM
RAM
RAM
RAM
RAM
RAM
RAM
RAM
RAM
RAM
NUMA (Non Uniform Memory Access)
high-speed interconnect
• each socket has its own memory controller (IMC)
• scales well, but there are NUMA-effects
• memory access is non-uniform -> local vs. remote access
local
remote
remote

© 2014 SAP SE or an SAP affiliate company. All rights reserved. 6 Public
HANA Parallel Query Processing
multi-user multi-query (“multi-plan”)
Join
Join
Core 1:
Query 2: Aggregate
Aggregate
Sort
Sort
intra-plan-parallelism (“multi-pops”)
Join Query 3: Aggregate
intra-pop-parallelism (“multi-threads”)
Core 2:
Core 3:
Core 4:
Core 5:
Core 6:
Query 1:
• Each execution plan is split into multiple plan
operators (e.g. join, agg, sort) that are
executed in parallel
• HANA global optimizer generates
efficient execution plan for each
query (rule-based, cost-based)
• Execution plans are cached and re-
used by HANA
• Plan operators generate job graphs,
containing job nodes
• Job nodes are dispatched for execution to
available treads by the Job Executor
Jobs over time

© 2014 SAP SE or an SAP affiliate company. All rights reserved. 7 Public
Summary: Vertical Scalability in HANA (scale-up)
Parallelism in HANA
HANA is heavily optimized for state-of-the-art HW architectures
HANA uses massive intra-plan and intra-operator parallelism for query execution
HANA tries to use all available resources for maximal parallelization
Challenge: NUMA-effects on large multi-socket systems
Remark: Virtualization of CPU resources can reinforce NUMA-effects
Job Scheduler
Central place in HANA to execute plan-operator jobs
Re-adjust dynamically the concurrency level avoiding “over-parallelization”
Can consider additional .ini configuration data to limit the concurrency level

Scale-out

© 2014 SAP SE or an SAP affiliate company. All rights reserved. 9 Public
Horizontal Scalability (scale-out)
General
Scale-out means expanding to multiple servers rather than a single, bigger server in one database system
Multiple servers (nodes) are switched together to one logical, but physically distributed database system
When to scale-out ?
Overcome hardware limitations of one single server (memory, cpu)
Scale-out aims to distribute data and workload
Attention
Scale-out requires deep knowledge about data, application and hardware
Scale-out increases data center operation costs
Scale-out affects your scaling factor by inter-node communication

© 2014 SAP SE or an SAP affiliate company. All rights reserved. 10 Public
HANA’s Shared-Nothing Architecture
Topology
Each node runs on its own local data (shared-nothing)
Standby node(s) without own persistence
Shared file system for node fail-over and recovery (HW partner
implementation)
Nodes communicate via internal HDB net protocol
All nodes belonging to the same HANA system must have the
same HW setup
Data
Volume
Log
Volume
Master node
Slave node
Standby node(s)
Data
Volume
Log
Volume
HDB net
Auto fail-over
A shared-nothing architecture helps to minimize the inter-node communication in distributed environments

© 2014 SAP SE or an SAP affiliate company. All rights reserved. 11 Public
Minimize Inter-Node Communication with Data Distribution
Data model
Types of data, e.g. master data, transactional data and
configuration data
Referential integrity between tables
Data usage
Data interdependencies, e.g. table groups
Data access paths
Workload
Mixed workloads, i.e. read/ write, analytical/transactional
Update frequency
Data distribution aims to find the best balance between data model, data usage and actual workload to minimize inter-
node communication
Analyze
Table co-location
Locate interdependent tables on the same node, e.g. for
referential integrity
Locate tables within the same statement on the same
node, e.g. for collocated joins or transactions
Horizontal Partitioning
Locate interdependent table partitions on the same node
Table Replication
Duplicate tables to multiple nodes, e.g. for master data
referenced by many tables
Distribute

© 2014 SAP SE or an SAP affiliate company. All rights reserved. 12 Public
Step 1. Classification
In HANA it is possible to classify a table by additional metadata, like schema_name, group name, group_type
The table classification can be set with the create / alter table statement
The table classifications are stored in the table sys.table_groups_
Step 2. Table Placement Configuration
For each table classification you can assign a table placement configuration
A table placement configuration defines, on which node type, disk-volume (SPS09) a table and its partitions shall be located
A table placement configuration also defines when a table shall be partitioned (works only if the table has a partition specification), e.g. initial_partitions,
min_rows_partitioning and repartitioning_threshold
The table placement values are inserted via SQL commands into table _sys_rt.table_placement (HANA studio -> SQL-console)
When is the Table Placement Configuration evaluated
During create/alter table and table redistribute operations
The table placement can be overruled with the location_clause, partition_clause or move_clause information in the DDL statement
HANA Data Distribution Table Placement
Table Placement is the definition of generic table distribution patterns to control the physical location of (column-)tables
and how many partitions of a table are to be created in a distributed HANA system

© 2014 SAP SE or an SAP affiliate company. All rights reserved. 13 Public
HANA Data Distribution Table Redistribution
Collects information about landscape and database
Evaluates table placement information and .ini-parameter
Apply heuristic algorithm to optimize table placement
Save execution plan with execution order
Execute Plan
1. Generate Plan 2. Execute Plan
Typical operations
use a dedicated user with
required privileges
Review Plan
Read plan
Parallel execution of plan items
Plan is always executed completely
No automatic rollback, but restore of old table locations possible SYS.REORG_PLAN_
Save and restore old
table locations

© 2014 SAP SE or an SAP affiliate company. All rights reserved. 14 Public
Master-Node
OLTP
tables
Slave-Node
OLAP
tables
Slave-Node
OLAP
tables
Standby-Node
BW workload characteristics
Mostly OLAP workload in rather “static” distribution environment
OLAP load benefits from parallel processing on distributed partitions
Master Node
Handles OLTP load and DDL statements: ABAP system tables, meta data,
operational tables and all row tables are stored
Slave Nodes
will handle OLAP load exclusively:
Master data + cubes/DSOs/PSAs are distributed evenly across all slaves
Cube, DSO and PSA tables are partitioned dependent on the table placement rules
Useful information
global.ini [table_placement] method= 2 (keeps row-store tables on the master
node)
note #1908075 (BW scale-out configuration recommendations)
BW ABAP
App-Server
Symmetric scale-out across the system
…
HANA Scale-out Solutions BW on HANA

© 2014 SAP SE or an SAP affiliate company. All rights reserved. 15 Public
Master-Node
Table
groups
Slave-Node
Slave-Node
Standby-Node
Suite ABAP
App-Server
Symmetric hardware across the system
Table
groups
Table
groups
HANA Scale-out Solutions Suite on HANA
Suite workload characteristics
Mixed OLTP/OLAP workloads across all nodes (2PC, Cross-joins)
Table access patterns dynamic and differ from customer to customer
“Dynamic” Table distribution
Buffered SQL statements in the statement cache are parsed and prioritized
based on DB statistics
Determine disjoint table groups
Table groups are placed on same node while balancing memory and CPU
Useful information
note #1899817 (Suite scale-out configuration recommendations)
Note #1781986 (Suite on distributed HANA database)

© 2014 SAP SE or an SAP affiliate company. All rights reserved. 16 Public
Takeaways
Scale-up first !
Scale-up
Most common and easiest way for databases to scale
No changes in the database or application required
HANA parallelism strongly supports latest multi-cpu, multi-core HW architectures
HANA NUMA-aware scheduling and memory allocation is under development
Scale-out
Requires deep knowledge about data and workload to achieve good scaling
Scale-out works good in static distribution environments, like OLAP
Scale-out in mixed OLAP/OLTP environments can be challenging
Optimizing scale-out performance is an iterative task

© 2014 SAP SE or an SAP affiliate company. All rights reserved. 17 Public
How to find SAP HANA documentation on this topic?
• In addition to this learning material, you can find SAP HANA
platform documentation on SAP Help Portal knowledge center at
http://help.sap.com/hana_platform.
• The knowledge centers are structured according to the product
lifecycle: installation, security, administration, development:
SAP HANA Options
SAP HANA Advanced Data Processing
SAP HANA Dynamic Tiering
SAP HANA Enterprise Information Management
SAP HANA Predictive
SAP HANA Real-Time Replication
SAP HANA Smart Data Streaming
SAP HANA Spatial
• Documentation sets for SAP HANA options can be found at
http://help.sap.com/hana_options:
SAP HANA Platform SPS
What’s New – Release Notes
Installation
Administration
Development
References
•

© 2014 SAP SE or an SAP affiliate company. All rights reserved.
Thank you
Contact information
Ruediger Karl
SAP HANA Product Management

© 2014 SAP SE or an SAP affiliate company. All rights reserved. 19 Public
© 2014 SAP SE or an SAP affiliate company. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP SE or an SAP affiliate company.
SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP SE (or an SAP affiliate
company) in Germany and other countries. Please see http://global12.sap.com/corporate-en/legal/copyright/index.epx for additional trademark information and notices.
Some software products marketed by SAP SE and its distributors contain proprietary software components of other software vendors.
National product specifications may vary.
These materials are provided by SAP SE or an SAP affiliate company for informational purposes only, without representation or warranty of any kind, and SAP SE or its
affiliated companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP SE or SAP affiliate company products and services
are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an
additional warranty.
In particular, SAP SE or its affiliated companies have no obligation to pursue any course of business outlined in this document or any related presentation, or to develop or
release any functionality mentioned therein. This document, or any related presentation, and SAP SE’s or its affiliated companies’ strategy and possible future
developments, products, and/or platform directions and functionality are all subject to change and may be changed by SAP SE or its affiliated companies at any time for
any reason without notice. The information in this document is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. All forward-
looking statements are subject to various risks and uncertainties that could cause actual results to differ materially from expectations. Readers are cautioned not to place
undue reliance on these forward-looking statements, which speak only as of their dates, and they should not be relied upon in making purchasing decisions.