sap hana –the evolution of an in-memory dbms from...

16
INTERNAL March 9, 2017 Norman May (SAP SE), Alexander Böhm (SAP SE), Wolfgang Lehner (TU Dresden) SAP HANA – The Evolution of an In-Memory DBMS from Pure OLAP Processing Towards Mixed Workloads

Upload: lythuan

Post on 14-Mar-2018

223 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: SAP HANA –The Evolution of an In-Memory DBMS from …btw2017.informatik.uni-stuttgart.de/slidesandpapers/H3-11-06/... · SAP HANA –The Evolution of an In-Memory DBMS from Pure

INTERNAL

March 9, 2017

Norman May (SAP SE), Alexander Böhm (SAP SE), Wolfgang Lehner (TU Dresden)

SAP HANA – The Evolution of an In-Memory DBMS from Pure OLAP Processing Towards Mixed Workloads

Page 2: SAP HANA –The Evolution of an In-Memory DBMS from …btw2017.informatik.uni-stuttgart.de/slidesandpapers/H3-11-06/... · SAP HANA –The Evolution of an In-Memory DBMS from Pure

2INTERNAL© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ

Stonebraker: One Size does not Fit All!

• Specialized Engines Beat General-Purpose DBMS by Factors

• Proofpoints• StreamBase – Event stream processing• Vertica – Columnar Storage for OLAP• VoltDB – Lock-free, highly effficient OLTP processing• SciDB – Array-processing for multidimensional datasets

• ACM Turing Award 2014• Many significant contributions to the DBMS field• Successful both in acadmia and commercially

Page 3: SAP HANA –The Evolution of an In-Memory DBMS from …btw2017.informatik.uni-stuttgart.de/slidesandpapers/H3-11-06/... · SAP HANA –The Evolution of an In-Memory DBMS from Pure

3INTERNAL© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ

Vision: Enterprise Operational Analytics Data Management Systems

• Vision: One Combined DBMS for OLTP and OLAP Workloads

• SIGMOD 2009 Keynote: “Information at your fingertips”

• Foundation: In-Memory Columnar Database

• Goals: Flexible Reporting, Lower TCO, No ETL

Page 4: SAP HANA –The Evolution of an In-Memory DBMS from …btw2017.informatik.uni-stuttgart.de/slidesandpapers/H3-11-06/... · SAP HANA –The Evolution of an In-Memory DBMS from Pure

4INTERNAL© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ

Agenda

SAP BW

2009:Analytical Workloads

SAP HANA

• Aggregation• Large Scans• Cache-sensitive

Business Suite

2012:Transactional Workloads

SAP HANA

• Point Queries• Quick Compilation• Select-for-all entries

S4HANA

2015:Mixed OLAP & OLTP Workload

SAP HANA

• Ad-hoc aggregation on complex stack of views

• Concurrent OLTP queries

Evolution Evolution

Page 5: SAP HANA –The Evolution of an In-Memory DBMS from …btw2017.informatik.uni-stuttgart.de/slidesandpapers/H3-11-06/... · SAP HANA –The Evolution of an In-Memory DBMS from Pure

5INTERNAL© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ

Parallelization at all levels§ Inter-query§ Intra-query & inter-operator§ Intra-operator§ Instruction-level via SIMD

Scan-friendly columnar data layout§ Read-optimized compressed storage

for main fragment§ Update-friendly delta fragment§ Focus was on bulk-loading

Specialized Engines, e.g.§ Text engine§ Planning engine

SAP HANA for Analytical Scenarios

Page 6: SAP HANA –The Evolution of an In-Memory DBMS from …btw2017.informatik.uni-stuttgart.de/slidesandpapers/H3-11-06/... · SAP HANA –The Evolution of an In-Memory DBMS from Pure

6INTERNAL© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ

Challenge: Run enterprise-scale OLTP workloads on a column store

Cannot afford costs of duplicate data storage (row and columnar)

Need to scale to more than 50’000 queries/second

Efficient support for short-running queries (sub-millisecond range)

Efficient support of update statements

è Requirements very different from initial design space in analytics

OLTP Optimizations in SAP HANA

Page 7: SAP HANA –The Evolution of an In-Memory DBMS from …btw2017.informatik.uni-stuttgart.de/slidesandpapers/H3-11-06/... · SAP HANA –The Evolution of an In-Memory DBMS from Pure

7INTERNAL© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ

Plan cache and OLTP fast path in query optimizer

OLTP-friendly MVCC snapshot handling

Efficient table latching and usage of advanced synchronization primitives, e.g. using hardwaretransactional memory

Application server / DBMS co-design for efficient data transfer

OLTP Optimizations in SAP HANA

Page 8: SAP HANA –The Evolution of an In-Memory DBMS from …btw2017.informatik.uni-stuttgart.de/slidesandpapers/H3-11-06/... · SAP HANA –The Evolution of an In-Memory DBMS from Pure

8INTERNAL© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ

Prepared statements

Parameterized statements are optimized at first execution

Plan cache hit ratios >= 99% are critical

Statements are not even parsed

DDLs invalidate plans

Periodic reoptimization to handle updates

The Importance of the Plan Cache

100

1.000

10.000

100.000

1.000.000

10.000.000

100.000.000

1.000.000.000

0 20 40 60 80 100

Exec

utio

n C

ount

Rank

Plan Cache Usage in Big ERP System

Page 9: SAP HANA –The Evolution of an In-Memory DBMS from …btw2017.informatik.uni-stuttgart.de/slidesandpapers/H3-11-06/... · SAP HANA –The Evolution of an In-Memory DBMS from Pure

9INTERNAL© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ

Simple queries, e.g. primary key access single table

Bypass most phases of query optimizer

Single-threaded execution to avoid context switches and to minimize cache misses

Parallelization normally already done in application server

OLTP Fast Path in Query Optimizer

Page 10: SAP HANA –The Evolution of an In-Memory DBMS from …btw2017.informatik.uni-stuttgart.de/slidesandpapers/H3-11-06/... · SAP HANA –The Evolution of an In-Memory DBMS from Pure

10INTERNAL© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ

OLTP Performance Improvement over Time

0,1

1

10

100

1000

Exec

utio

nTi

me

OLTP Single Tests

select single single inserts bulk inserts single updates joins (key-foreign key) mixed performance MergePerformance MergeImpact

Page 11: SAP HANA –The Evolution of an In-Memory DBMS from …btw2017.informatik.uni-stuttgart.de/slidesandpapers/H3-11-06/... · SAP HANA –The Evolution of an In-Memory DBMS from Pure

11INTERNAL© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ

Enables novel applications like§ Digital board room or§ Year- / quarter-end closingresult in§ Very complex analytical queries on transactional data§ Analytical query may consume a lot of resources

The Vision: Mixed OLAP and OLTP Workloads

Page 12: SAP HANA –The Evolution of an In-Memory DBMS from …btw2017.informatik.uni-stuttgart.de/slidesandpapers/H3-11-06/... · SAP HANA –The Evolution of an In-Memory DBMS from Pure

12INTERNAL© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ

OLAP queries consume CPUs, e.g. 8 sec on 120 CPU cores for retail scenario

Delays on OLTP workloads might lead to queuing effects and must be avoided

Solution: Reporting queries can yield to OLTP queries, but must not be delayed substantially

Tailored resource allocation for different workloads

Challenge: Resource Management of Mixed Workloads

Page 13: SAP HANA –The Evolution of an In-Memory DBMS from …btw2017.informatik.uni-stuttgart.de/slidesandpapers/H3-11-06/... · SAP HANA –The Evolution of an In-Memory DBMS from Pure

13INTERNAL© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ

Complex hierarchy of views to expose the normalized database schema for reporting

Solution: result caches for complex views

Research challenge: Analytical model of query complexity

Challenge: High Complexity of Analytics on Normalized Database Schemas

Page 14: SAP HANA –The Evolution of an In-Memory DBMS from …btw2017.informatik.uni-stuttgart.de/slidesandpapers/H3-11-06/... · SAP HANA –The Evolution of an In-Memory DBMS from Pure

14INTERNAL© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ

Robustness for mixed OLAP and OLTP workload:§ Predicable and low response times§ Dynamic resource assignment§ Good resource utilization

Analytics will become more demanding§ Integrated reporting in OLTP applications§ In-database machine learning

Growing data sizes§ Warm and cold data§ Data aging§ Byte-addressable NVM vs. page-oriented disk

Conclusion: Many Open Questions

Page 15: SAP HANA –The Evolution of an In-Memory DBMS from …btw2017.informatik.uni-stuttgart.de/slidesandpapers/H3-11-06/... · SAP HANA –The Evolution of an In-Memory DBMS from Pure

Thank you.Contact information:

Norman MaySAP [email protected]

Page 16: SAP HANA –The Evolution of an In-Memory DBMS from …btw2017.informatik.uni-stuttgart.de/slidesandpapers/H3-11-06/... · SAP HANA –The Evolution of an In-Memory DBMS from Pure

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.

The information contained herein may be changed without prior notice. 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 or its affiliated companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP 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, and they should not be relied upon in making purchasing decisions.

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. All other product and service names mentioned are the trademarks of their respective companies. See http://global.sap.com/corporate-en/legal/copyright/index.epx for additional trademark information and notices.

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