SAP HANA, Power Pivot,
SQL Server –
In-Memory-Technologien
im Vergleich
Marcel Franke
Über mich – Marcel Franke
• Practice Lead Advanced Analytics & Data Science
• pmOne AG – Deutschland, Österreich, Schweiz
• P-TSP für Microsoft für das Thema Big Data
• Schwerpunkt: Data Warehouse, Big Data & Data Analytics
• Blog: www.nexxtjump.com
• E-Mail: marcel.franke@pmone.com
Unsere 3 Geschäftsbereiche
Reporting &
Information Design
Corporate Performance
Management
Data Warehousing &
Data Analytics
 Self-Service Analytics
 Big Data
 Predictive Analytics
 OLAP
 Data Warehousing
 EIM/MDM
 SQL Server / PDW
 SharePoint / Office
 Hadoop / HDInsight
 cMORE Modelling
SchwerpunkteTechnologien
 Self-Service Reporting
 Reporting Design
 Zentrale Notation
 Prof. Hichert
 Mobile BI
 Eye-Tracking
 cMORE Reporting
 SharePoint / Office
 XLCubed
 SQL Server
 Planung, Budgetierung
 Forecasting
 Konsolidierung
 Cash Flow Mgmt
 Risikomanagement
 Basel III, Solvency II
 Tagetik
 SharePoint / Office
 SQL Server
Agenda
• Was passiert am Markt?
• Warum ist In-Memory so hip?
• In-Memory bei Microsoft, inkl. Demo
• In-Memory bei SAP HAN, inkl. Demo
• Zusammenfassung
Was passiert am Markt?
Alle haben In-Memory-Technologien
In-Memory ist aber nichts Neues
SAP HANA
OLAP-Technologien
Ranking der Hersteller
BI & Analytics Plattformen Data Warehouse
Aber warum ist In-Memory so hip?
Hintergrund
Quelle: Ray Kurzweil
Preisentwicklung Speicher
12
Preis pro MB
• 1957: $411,041,792
• 1989: $500
• 2014: $0.0085
Bret Swanson (president of Entropy Economics LLC)
Das sehen wir auch in der Cloud
Aber was passiert im Bereich Storage?
• Entwicklung von Speichermedien hinkt den
anderen Entwicklungen um etwa 10 Jahre
hinterher
• Immer noch Festplatten-Technologien
• SSD ist immer noch nicht so weit verbreitet
und recht teuer
• Wir können im heutigen Zeitalter aber
nicht alle Daten In-Memory speichern
In-Memory zur Reduzierung
des I/O Bottlenecks
Warum In-Memory-Datenbanken?
Steigende Daten
Volumina
Calculation Speed
Art und Anzahl der
Daten Quellen
Geringe Transparenz
Information nur auf hoher Aggregation
verfügbar. Planungen und Analysen
basieren oft auf veralteten Daten
(Latenz: Tage, Wochen)
Reaktives Business Model
Verlorene Opportunities und Nachteile
aufgrund mangelnder Agilität und
Geschwindigkeit
Geringe Reaktionsgeschwindigkeit
Durch hohe Daten Latenz und
Deployment Komplexität
Derzeitige Situation
Informations- Latenz
Warum In-Memory Computing?
TeraBytes an Daten In-
Memory
Skalierbarer Daten
Througput Real-Time
Hoch-Flexible
Strukturen
Business Performance verbessern
 Lösungen können schnell und
iterativ deployed werden
 Planung und Simulation „on the fly“
auf nicht-aggregierten Daten
Grundlage für Advanced und
Predictive Analytics
Flexibilität steigern
 Iterative Entwicklungszyklen
werden ermöglicht
 Evolutionäre Vorgehensmodelle
werden ermöglicht
Zukünftige Situation
Hintergrund – „Flaschenhälse verhindern“
Datenbank
Applikation
Calculation
Calculation
Zukünftiger
Ansatz
Klassischer
Ansatz
Move data to compute or compute to
data?
move data to compute
Datenbanken
OLAP
compute to data
Daten
ROLAP/
Direct Query
In-Memory bei
Microsoft
In-Memory bei Microsoft
xVelocity
Personal
BI
Team BI Corporate BI
Power Pivot
O365 Power
BI
Excel SQL Server 2014
Memory Optimized
Tables
Wie funktionieren Memory
Optimized Tables?
MOT - was ist das eigentlich?
MOT (alias Hekaton) is a High performance,
memory-optimized OLTP engine integrated
into SQL Server and architected for modern
hardware trends.
http://de.wikipedia.org/wiki/Hundert
Architektur
Anlegen einer Tabelle
Quelle: David DeWitt
Wie verwendet man es?
Via standard ad-hoc T-SQL
Abfragen
(genannt “interop”) –
Bis zu 3X perf. boost
Nativ kompilierte
T-SQL Stored Procedures –
5X bis 30X perf. boost
(Nachteil: ein paar
Einschränkungen in V1)
Quelle: David DeWitt
Wie funktioniert der Clustered
Columnstore?
Zeilen werden zu Spalten
Product Customer Date Sale
Beer Thomas 2011-11-25 2 GBP
Beer Thomas 2011-11-25 2 GBP
Vodka Thomas 2011-11-25 10 GBP
Whiskey Marcel 2011-11-25 5 GBP
Whiskey Marcel 2011-11-25 5 GBP
Vodka Alexei 2011-11-25 10 GBP
Vodka Alexei 2011-11-25 10 GBP
Sales
ID Value
1 Beer
2 Beer
3 Vodka
4 Whiskey
5 Whiskey
6 Vodka
7 Vodka
ID Customer
1 Thomas
2 Thomas
3 Thomas
4 Marcel
5 Marcel
6 Alexei
7 Alexei
Product Customer
Und so weiter…
bis…
Und wir bekommen…
ID Value
1 Beer
2 Beer
3 Vodka
4 Whiskey
5 Whiskey
6 Vodka
7 Vodka
ID Customer
1 Thomas
2 Thomas
3 Thomas
4 Marcel
5 Marcel
6 Alexei
7 Alexei
Product Customer
ID Date
1 2011-11-25
2 2011-11-25
3 2011-11-25
4 2011-11-25
5 2011-11-25
6 2011-11-25
7 2011-11-25
Date
ID Sale
1 2 GBP
2 2 GBP
3 10 GBP
4 5 GBP
5 5 GBP
6 10 GBP
7 10 GBP
Sale
Und was jetzt?
ID Value
1 Beer
2 Beer
3 Vodka
4 Whiskey
5 Whiskey
6 Vodka
7 Vodka
Product
Run length
Encode
Product’
ID Value
1-2 Beer
3 Vodka
4-5 Whiskey
6-7 Vodka
Daten komprimieren
ID Value
1-2 Beer
3 Vodka
4-5 Whiskey
6-7 Vodka
ID Customer
1-3 Thomas
4-5 Christian
6-7 Alexei
Product’ Customer’
ID Date
1-7 2011-11-25
Date’
ID Sale
1-2 2 GBP
3 10 GBP
4-5 5 GBP
6-7 10 GBP
Sale’
Anlegen eines Columnstores
Erst Rowstore Tabelle anlegen
Tabelle in Columnstore
konvertieren
Was kann man damit erreichen?
Demo
Time
Aktuelle Kundenumgebung
• Datenbankserver mit 16 Cores und 128 GB RAM
• Cube auf separatem Server mit Fusion-IO-Karte
Ethernet
Datenkompression
CI bietet 5-7x bessere Kompression der Daten als SQL 2012 EE
*Daten im PDW sind immer komprimiert
Relationale Abfrageperformance
• Test Case: „Read Product Dimension.sql“
Read Resource Group hh:mm:ss Improvement Comment
Kunden Base line Default 01:40:00 100%
from HEAP default 00:27:24 365% *
from CSI MediumRC 00:16:59 589% *
from CSI LargeRC 00:13:05 764% *
from CSI XlargeRC 00:12:55 774% Best Value
*Keine Indizes, keine Partitionen, keine Optimierungen
CI ist 8x schneller für relationale Abfragen
Was verwenden wir wann?
Memory optimized Tables
• Optimiert für OLTP Workloads
• Gut für kleine und viele
Transaktionen
• Nicht gut bei großen Scans
• Keine Kompression
• Keine Indexstrukturen
• Schneller Zwischenspeicher
Clustered Columnstore
• Data Warehouse Queries
• Selektion einzelner Spalten
• Gute Kompression der Daten
Wie kompatibel ist In-Memory?
xVelocity
Power PivotSQL Server 2014
Laden der Daten nach Power Pivot
• Test: 20 Mio. Zeilen große Tabelle
• Daten werden unterschiedlich im SQL
Server gehalten (CI, CCI, MOT)
• Ergebnis
• CI: 2m 47s
• CCI: 2m 46s
• MOT: 4m 20s
Fazit: In-Memory ist nicht kompatibel
Vergleich der Kompression
Kompression
Vergleich zwischen Herstellern
In-Memory in SAP HANA
In-Memory in SAP
SAP HANA
Personal BI Team BI Corporate BI
HANA
Information
Composer
SAP BO Lumira
Excel
SAP BW
Workspace
SAP BO
LiveOffice
HANA
Studio
SAP HANA Ecosystem
SAP HANA Platform
SAP HANA Architektur
In-Memory in HANA
• Reine In-Memory Datenbank
• OLTP + OLAP in der gleichen Datenbank
• Derzeit: 80 Cores, 1 TB RAM in einem Server
-> 5-6 TB Data Warehouse
• Multitenancy
• Hauptspeicher kann pro Instanz verteilt werden
• Scale-out soll auch möglich sein
• Workload Management: Auf der Roadmap 
Demo SAP HANA
Zusammenfassung
Zusammenfassung
• SAP HANA ist eine reine In-Memory Datenbank
• Bei SQL Server haben wir die Wahl und können es kombinieren
• Die Kostenaspekte darf man nicht vernachlässigen
• Eigene In-Memory Tools für Self-Service BI (Power BI & Lumira)
• In-Memory ist nicht überall gleich implementiert, man muss
stark auf den Anwendungsfall achten (OLTP vs. DWH)
• Performance und Kompression werden oft vermischt
Zusammenfassung: Microsoft und SAP
• Beide Hersteller bieten hoch-performante in-Memory Technologien an
• Beide Hersteller bieten In-Memory Technologien für OLAP & OLTP Workloads an.
BI Users
Data
Discovery
Data Storage
& Operations
Zentraler
MetaDaten-
Layer
Engine läuft
auf Server
und Clients
Eine oder
mehrere
zentrale
HANA-
Instanzen
Zentralistische
Architektur
Verteilte
Architektur
Fragen & Antworten
In Memory-Technologien im Vergleich - SQL Server Konferenz 2015

In Memory-Technologien im Vergleich - SQL Server Konferenz 2015

  • 1.
    SAP HANA, PowerPivot, SQL Server – In-Memory-Technologien im Vergleich Marcel Franke
  • 2.
    Über mich –Marcel Franke • Practice Lead Advanced Analytics & Data Science • pmOne AG – Deutschland, Österreich, Schweiz • P-TSP für Microsoft für das Thema Big Data • Schwerpunkt: Data Warehouse, Big Data & Data Analytics • Blog: www.nexxtjump.com • E-Mail: [email protected]
  • 3.
    Unsere 3 Geschäftsbereiche Reporting& Information Design Corporate Performance Management Data Warehousing & Data Analytics  Self-Service Analytics  Big Data  Predictive Analytics  OLAP  Data Warehousing  EIM/MDM  SQL Server / PDW  SharePoint / Office  Hadoop / HDInsight  cMORE Modelling SchwerpunkteTechnologien  Self-Service Reporting  Reporting Design  Zentrale Notation  Prof. Hichert  Mobile BI  Eye-Tracking  cMORE Reporting  SharePoint / Office  XLCubed  SQL Server  Planung, Budgetierung  Forecasting  Konsolidierung  Cash Flow Mgmt  Risikomanagement  Basel III, Solvency II  Tagetik  SharePoint / Office  SQL Server
  • 4.
    Agenda • Was passiertam Markt? • Warum ist In-Memory so hip? • In-Memory bei Microsoft, inkl. Demo • In-Memory bei SAP HAN, inkl. Demo • Zusammenfassung
  • 5.
  • 6.
  • 7.
    In-Memory ist abernichts Neues SAP HANA OLAP-Technologien
  • 8.
    Ranking der Hersteller BI& Analytics Plattformen Data Warehouse
  • 9.
    Aber warum istIn-Memory so hip?
  • 10.
  • 11.
  • 12.
    Preisentwicklung Speicher 12 Preis proMB • 1957: $411,041,792 • 1989: $500 • 2014: $0.0085
  • 13.
    Bret Swanson (presidentof Entropy Economics LLC)
  • 14.
    Das sehen wirauch in der Cloud
  • 15.
    Aber was passiertim Bereich Storage? • Entwicklung von Speichermedien hinkt den anderen Entwicklungen um etwa 10 Jahre hinterher • Immer noch Festplatten-Technologien • SSD ist immer noch nicht so weit verbreitet und recht teuer • Wir können im heutigen Zeitalter aber nicht alle Daten In-Memory speichern
  • 16.
  • 17.
    Warum In-Memory-Datenbanken? Steigende Daten Volumina CalculationSpeed Art und Anzahl der Daten Quellen Geringe Transparenz Information nur auf hoher Aggregation verfügbar. Planungen und Analysen basieren oft auf veralteten Daten (Latenz: Tage, Wochen) Reaktives Business Model Verlorene Opportunities und Nachteile aufgrund mangelnder Agilität und Geschwindigkeit Geringe Reaktionsgeschwindigkeit Durch hohe Daten Latenz und Deployment Komplexität Derzeitige Situation Informations- Latenz
  • 18.
    Warum In-Memory Computing? TeraBytesan Daten In- Memory Skalierbarer Daten Througput Real-Time Hoch-Flexible Strukturen Business Performance verbessern  Lösungen können schnell und iterativ deployed werden  Planung und Simulation „on the fly“ auf nicht-aggregierten Daten Grundlage für Advanced und Predictive Analytics Flexibilität steigern  Iterative Entwicklungszyklen werden ermöglicht  Evolutionäre Vorgehensmodelle werden ermöglicht Zukünftige Situation
  • 19.
    Hintergrund – „Flaschenhälseverhindern“ Datenbank Applikation Calculation Calculation Zukünftiger Ansatz Klassischer Ansatz
  • 20.
    Move data tocompute or compute to data? move data to compute Datenbanken OLAP compute to data Daten ROLAP/ Direct Query
  • 21.
  • 22.
    In-Memory bei Microsoft xVelocity Personal BI TeamBI Corporate BI Power Pivot O365 Power BI Excel SQL Server 2014 Memory Optimized Tables
  • 23.
  • 24.
    MOT - wasist das eigentlich? MOT (alias Hekaton) is a High performance, memory-optimized OLTP engine integrated into SQL Server and architected for modern hardware trends. http://de.wikipedia.org/wiki/Hundert
  • 25.
  • 26.
  • 27.
    Wie verwendet manes? Via standard ad-hoc T-SQL Abfragen (genannt “interop”) – Bis zu 3X perf. boost Nativ kompilierte T-SQL Stored Procedures – 5X bis 30X perf. boost (Nachteil: ein paar Einschränkungen in V1) Quelle: David DeWitt
  • 28.
    Wie funktioniert derClustered Columnstore?
  • 29.
    Zeilen werden zuSpalten Product Customer Date Sale Beer Thomas 2011-11-25 2 GBP Beer Thomas 2011-11-25 2 GBP Vodka Thomas 2011-11-25 10 GBP Whiskey Marcel 2011-11-25 5 GBP Whiskey Marcel 2011-11-25 5 GBP Vodka Alexei 2011-11-25 10 GBP Vodka Alexei 2011-11-25 10 GBP Sales ID Value 1 Beer 2 Beer 3 Vodka 4 Whiskey 5 Whiskey 6 Vodka 7 Vodka ID Customer 1 Thomas 2 Thomas 3 Thomas 4 Marcel 5 Marcel 6 Alexei 7 Alexei Product Customer Und so weiter… bis…
  • 30.
    Und wir bekommen… IDValue 1 Beer 2 Beer 3 Vodka 4 Whiskey 5 Whiskey 6 Vodka 7 Vodka ID Customer 1 Thomas 2 Thomas 3 Thomas 4 Marcel 5 Marcel 6 Alexei 7 Alexei Product Customer ID Date 1 2011-11-25 2 2011-11-25 3 2011-11-25 4 2011-11-25 5 2011-11-25 6 2011-11-25 7 2011-11-25 Date ID Sale 1 2 GBP 2 2 GBP 3 10 GBP 4 5 GBP 5 5 GBP 6 10 GBP 7 10 GBP Sale
  • 31.
    Und was jetzt? IDValue 1 Beer 2 Beer 3 Vodka 4 Whiskey 5 Whiskey 6 Vodka 7 Vodka Product Run length Encode Product’ ID Value 1-2 Beer 3 Vodka 4-5 Whiskey 6-7 Vodka
  • 32.
    Daten komprimieren ID Value 1-2Beer 3 Vodka 4-5 Whiskey 6-7 Vodka ID Customer 1-3 Thomas 4-5 Christian 6-7 Alexei Product’ Customer’ ID Date 1-7 2011-11-25 Date’ ID Sale 1-2 2 GBP 3 10 GBP 4-5 5 GBP 6-7 10 GBP Sale’
  • 33.
    Anlegen eines Columnstores ErstRowstore Tabelle anlegen Tabelle in Columnstore konvertieren
  • 34.
    Was kann mandamit erreichen?
  • 35.
  • 36.
    Aktuelle Kundenumgebung • Datenbankservermit 16 Cores und 128 GB RAM • Cube auf separatem Server mit Fusion-IO-Karte Ethernet
  • 37.
    Datenkompression CI bietet 5-7xbessere Kompression der Daten als SQL 2012 EE *Daten im PDW sind immer komprimiert
  • 38.
    Relationale Abfrageperformance • TestCase: „Read Product Dimension.sql“ Read Resource Group hh:mm:ss Improvement Comment Kunden Base line Default 01:40:00 100% from HEAP default 00:27:24 365% * from CSI MediumRC 00:16:59 589% * from CSI LargeRC 00:13:05 764% * from CSI XlargeRC 00:12:55 774% Best Value *Keine Indizes, keine Partitionen, keine Optimierungen CI ist 8x schneller für relationale Abfragen
  • 39.
    Was verwenden wirwann? Memory optimized Tables • Optimiert für OLTP Workloads • Gut für kleine und viele Transaktionen • Nicht gut bei großen Scans • Keine Kompression • Keine Indexstrukturen • Schneller Zwischenspeicher Clustered Columnstore • Data Warehouse Queries • Selektion einzelner Spalten • Gute Kompression der Daten
  • 40.
    Wie kompatibel istIn-Memory? xVelocity Power PivotSQL Server 2014
  • 41.
    Laden der Datennach Power Pivot • Test: 20 Mio. Zeilen große Tabelle • Daten werden unterschiedlich im SQL Server gehalten (CI, CCI, MOT) • Ergebnis • CI: 2m 47s • CCI: 2m 46s • MOT: 4m 20s Fazit: In-Memory ist nicht kompatibel
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
    In-Memory in SAP SAPHANA Personal BI Team BI Corporate BI HANA Information Composer SAP BO Lumira Excel SAP BW Workspace SAP BO LiveOffice HANA Studio
  • 47.
  • 48.
  • 49.
  • 50.
    In-Memory in HANA •Reine In-Memory Datenbank • OLTP + OLAP in der gleichen Datenbank • Derzeit: 80 Cores, 1 TB RAM in einem Server -> 5-6 TB Data Warehouse • Multitenancy • Hauptspeicher kann pro Instanz verteilt werden • Scale-out soll auch möglich sein • Workload Management: Auf der Roadmap 
  • 51.
  • 52.
  • 53.
    Zusammenfassung • SAP HANAist eine reine In-Memory Datenbank • Bei SQL Server haben wir die Wahl und können es kombinieren • Die Kostenaspekte darf man nicht vernachlässigen • Eigene In-Memory Tools für Self-Service BI (Power BI & Lumira) • In-Memory ist nicht überall gleich implementiert, man muss stark auf den Anwendungsfall achten (OLTP vs. DWH) • Performance und Kompression werden oft vermischt
  • 54.
    Zusammenfassung: Microsoft undSAP • Beide Hersteller bieten hoch-performante in-Memory Technologien an • Beide Hersteller bieten In-Memory Technologien für OLAP & OLTP Workloads an. BI Users Data Discovery Data Storage & Operations Zentraler MetaDaten- Layer Engine läuft auf Server und Clients Eine oder mehrere zentrale HANA- Instanzen Zentralistische Architektur Verteilte Architektur
  • 55.

Hinweis der Redaktion

  • #14 president of Entropy Economics LLC
  • #18 Business Probleme
  • #19 Hadoop reinstreuen MPP-Architekturen Immer mehr Realtime -> Flexibilität steigern als Übergang in das BI Thema
  • #20 Datenbankhersteller bringen z.B. R auch für Statistische Methoden z.B. SAP BW – alle Kalkulationen im Applikationslayer
  • #21 Hardware: Der Preis pro Performance sinkt nach wie vor Software: kein vorberechneten Kalkulationen
  • #45 Bei vielen Redundanzen und breiten Tabellen hilft CCI
  • #47 High Performance Analytic Appliance
  • #51 http://saphanatutorial.com/an-insight-into-sap-hana-architecture-3/
  • #55 (SAP HANA lizensiert nach Daten im Hauptspeicher, SQL Server wird nach Cores
  • #56 Înfo navigator stewardship portal Kann auf der cloud laufen, server, excel, sharepoint HANA: cloud derzeit start limitiert Datensatz existiert nur 1x, R/3 auf HANA eigene Instanz, BW auf Hana eigene Instanz, daher HANA erstmal nur als Datenbank auf den zweiten Schritt dann mal nur HANA 1 der knoten kann immer noch sehr groß sein, aber die inseln werden nicht ausgeschlossen http://informativeplatforms.blogspot.co.at/2011/04/on-networks-and-circulation-patterns.html Man kann nicht verhindern, dass informationen verteilt sind, aber wir können es zumindest finden