Professional Documents
Culture Documents
Sap Hana Sps0dfg9 - Hana Scalability
Sap Hana Sps0dfg9 - Hana Scalability
November, 2014
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
SAPs 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.
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
Public
Scale-up
Micro-Architecture Trends
NUMA (Non Uniform Memory Access)
local
remote
CPU 1
RAM
RAM
Core1
Core2
Core1
Core2
RAM
RAM
Core3
Core4
RAM
CPU 1
remote Core3
Core4
RAM
high-speed interconnect
CPU 1
CPU 1
RAM
Core1
Core2
Core1
Core2
RAM
RAM
RAM
Core3
Core4
Core3
RAM
Core4
RAM
Public
multi-user
intra-pop-parallelism (multi-threads)
intra-plan-parallelism (multi-pops)
Core 1:
Query 1:
Join
Aggregate
Sort
Core 2:
Core 3:
Query 2:
Join
Aggregate
Sort
Core 4:
Query 3:
Join
Aggregate
Core 5:
Core 6:
Jobs over time
Public
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
Public
Scale-out
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
Public
Topology
Each node runs on its own local data (shared-nothing)
Standby node(s) without own persistence
Data
Volume
HDB net
Log
Volume
Slave node
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
Standby node(s)
Auto fail-over
Public
10
Analyze
Distribute
Data model
Table co-location
Data usage
Data interdependencies, e.g. table groups
Horizontal Partitioning
Workload
Table Replication
Update frequency
Public
11
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
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)
The table placement can be overruled with the location_clause, partition_clause or move_clause information in the DDL statement
Public
12
Typical operations
use a dedicated user with
required privileges
1. Generate Plan
Review Plan
2. Execute Plan
Read plan
SYS.REORG_PLAN_
Public
13
Master-Node
OLTP
tables
Master Node
Handles OLTP load and DDL statements: ABAP system tables, meta data,
operational tables and all row tables are stored
Slave-Node
Slave Nodes
BW ABAP
App-Server
Cube, DSO and PSA tables are partitioned dependent on the table placement rules
OLAP
tables
Slave-Node
OLAP
tables
Useful information
Standby-Node
Public
14
Master-Node
Table
groups
Buffered SQL statements in the statement cache are parsed and prioritized
based on DB statistics
Table groups are placed on same node while balancing memory and CPU
Slave-Node
Suite ABAP
Table
groups
App-Server
Slave-Node
Useful information
Table
groups
Standby-Node
Public
15
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
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
Public
16
Installation
Administration
Development
References
Public
17
Thank you
Contact information
Ruediger Karl
SAP HANA Product Management
AskSAPHANA@sap.com
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 SEs 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 forwardlooking 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.
Public
19