sap hana sps09 - sap hana scalability

19
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)

Upload: sap-technology

Post on 02-Jul-2015

753 views

Category:

Technology


13 download

DESCRIPTION

See what's new in SAP HANA SPS09 - SAP HANA Scalability

TRANSCRIPT

Page 1: SAP HANA SPS09 - SAP HANA Scalability

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)

Page 2: SAP HANA SPS09 - SAP HANA Scalability

© 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.

Page 3: SAP HANA SPS09 - SAP HANA Scalability

© 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

Page 4: SAP HANA SPS09 - SAP HANA Scalability

Scale-up

Page 5: SAP HANA SPS09 - SAP HANA Scalability

© 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

Page 6: SAP HANA SPS09 - SAP HANA Scalability

© 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

Page 7: SAP HANA SPS09 - SAP HANA Scalability

© 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

Page 8: SAP HANA SPS09 - SAP HANA Scalability

Scale-out

Page 9: SAP HANA SPS09 - SAP HANA Scalability

© 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

Page 10: SAP HANA SPS09 - SAP HANA Scalability

© 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

Page 11: SAP HANA SPS09 - SAP HANA Scalability

© 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

Page 12: SAP HANA SPS09 - SAP HANA Scalability

© 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

Page 13: SAP HANA SPS09 - SAP HANA Scalability

© 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

Page 14: SAP HANA SPS09 - SAP HANA Scalability

© 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

Page 15: SAP HANA SPS09 - SAP HANA Scalability

© 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)

Page 16: SAP HANA SPS09 - SAP HANA Scalability

© 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

Page 17: SAP HANA SPS09 - SAP HANA Scalability

© 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

Page 18: SAP HANA SPS09 - SAP HANA Scalability

© 2014 SAP SE or an SAP affiliate company. All rights reserved.

Thank you

Contact information

Ruediger Karl

SAP HANA Product Management

[email protected]

Page 19: SAP HANA SPS09 - SAP HANA Scalability

© 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.