1 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Vorschau Oracle Datenbank 12c In-Memory Column Store (V12.1.0.2) Michael Künzner Leitender Systemberater The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 3 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Oracle Datenbank In-Memory Option In-Memory Spitzentechnologie – Nahtlos integriert in die Oracle Datenbank Liefert extreme Leistung für – Analyse und Ad-Hoc Reports auf aktuellen Daten – Enterprise OLTP und Data Warehousing – Scale-up und Scale-out Einfache Bereitstellung für alle Anwendungen und Kunden 4 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Ziele der Oracle Datenbank In-Memory Option Real-Time Ad-hoc Analysen auf aktuellen transaktionalen Daten – Alle Geschäftsdaten abfragen – Schnelle Antwort bekommen – Aktuelle Daten nutzen Beschleunigt auch OLTP 5 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Oracle In-Memory Entwicklungsschwerpunkte Spezifikation der Ziele Integration in existierende Infrastruktur – Hochverfügbarkeit – Backup & Recovery und Desaster Recovery Anwendungen profitieren ohne Änderungen Memory OLTP – Transparente Nutzung Row Format – SQL und Optimizer – OLTP und Analyse – Keine Datenmigration Einfache Nutzung – Einfache Definition durch SQL 6 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Memor y Analyse Column Format Jahrzehntelange Kontroverse Zeilenformat oder Spaltenformat OLTP läuft am besten im Zeilenformat Zeilen – Arbeitet auf wenigen Zeilen, vielen Spalten Analyse läuft am besten im Spaltenformat Spalten – Arbeitet auf wenigen Spalten, vielen Zeilen Bis jetzt musste immer ein Format gewählt werden 7 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Zeilenformat oder Spaltenformat Zeilenformat Typische OLTP Abfrage SELECT * FROM salesorders WHERE document_number = 95779216 Typische OLAP Abfrage SELECT sum(value) FROM salesorders WHERE document_date > 2013-08-28 8 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Spaltenformat Durchbruch: In-Memory Doppelformat Beide In-Memory Formate für die gleiche Tabelle Gleichzeitig aktiv und transaktional konsistent Analyse und Reports benutzen neues Spaltenformat OLTP benutzt Zeilenformat 9 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. OLTP Hauptspeicher Hauptspeicher Verkauf Verkauf Zeilen Format Spalten Format Analyse Oracle In-Memory Spaltentechnologie Echtes Spaltenformat ohne Logging Geringe Belastung bei OLTP Datenänderungen Daten aktiver Tabellen oder Partitionen werden InMemory geladen 10 Bei Start oder Zugriff Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Hauptspeicher “Echte” Spalten Alle Geschäftsdaten in Millisekunden finden Beispiel: Finde alle Verkäufe im Staat CA Jede CPU liest lokal In-Memory Spalten Scans benutzen superschnelle SIMD Vektorinstruktionen Leserate von Milliarden Zeilen pro Sekunde pro CPU Kern 11 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. In-Memory Spaltenspeicher Verkauf Spalte Staat >100x schneller “CA” CPU Lade mehrere Staat Werte SIMD Compare Vektorall vergleich values in 1 aller Werte cycle in 1 Zyklus Vektor Register Finde Datenkombination in Millisekunden Beispiel: Finde alle Verkäufe in Outlets Konvertiert Join Prozesse in schnelle Spaltenabfragen Geschäfte T Y P E Verkauf Storeid in 15,38,64 Joins bis zu 10x schneller Typ=outlet 12 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. S T O R E I D A M O U N T Sum Reports in Millisekunden generieren Beispiel: Verkaufstrends für Schuhe in Outlets Dynamische Erzeugung von In-Memory Reports Reportinhalte generiert während Fakt gelesen wird Reports bis zu 20x schneller ohne vordefinierte Würfel 13 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Geschäfte Verkauf In-Memory Report Produkte Verkäufe OLTP wird gebremst durch analytische Indexe Die meisten Indexe in gemischten OLTP (z.B. ERP) Datenbanken werden nur für die Analyse benutzt Arbeiten gut für bekannte InMemory und Platten Zugriffe 14 Aber die Pflege analytischer Indexe verlangsamen Datenänderungen Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Tabelle 1 bis 3 OLTP Indexe 5 bis 15 analytische Indexe Both Analytics and Extreme Performance OLTP In-Memory Spaltenspeicher ersetzen analytische Indexe und beseitigen den Overhead für Tabellen die in den Hauptspeicher passen Vordefinierte und Ad-hoc analytische Abfragen laufen schnell OLTP und Batch laufen bis zu 300% schneller 15 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Tabelle 1 bis 3 OLTP Indexe In-Memory Spaltenspeicher weniger Tuning und Administration Extreme Kapazität und Kosteneffizienz Größe ist nicht durch Hauptspeicher begrenzt Daten bewegen sich transparent zwischen den Speicherebenen Jede Ebene hat spezialisierte Algorithmen und Komprimierung Kapazität auf Platte IOs auf Flash Geschwinigkeit auf DRAM 16 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. DRAM Hottest Daten PCI FLASH Aktive Daten PLATTE Cold Daten Scale-Out In-Memory Datenbank Scale-Out über alle Server um Speicher und CPUs zu erweitern In-Memory Abfragen haben parallelisierten, lokalen Zugriff auf Spaltendaten über alle Server Direct-to-wire InfiniBand Protokoll beschleunigt Messaging 17 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. In Memory Column Store In Memory Column Store In Memory Column Store In Memory Column Store Scale-Up für optimale In-Memory Verarbeitung 18 Scale-Up auf großen SMPs SMP Skalierung beseitigt die Verteilung von Abfragen über alle Server oder die Koordinierung von Transaktionen Inter-Prozessor Bandbreite übersteigt jedes Netzwerk Copyright © 2014, Oracle and/or its affiliates. All rights reserved. In-Memory Column Store für Tabellen nutzen Der In-Memory Column Store unterteilt Datensätze in große Hauptspeicherbereiche Innerhalb einer Region werden die Spalten separat in einem kontinuierlichen Bereich gespeichert Beide Hauptspeicherbereiche können die gleichen Daten in unterschiedlichen Formaten speichern Der In-Memory Column Store ersetzt nicht den Buffer Cache, sondern ergänzt ihn Der In-Memory Column Store ist für folgende Objektlevel verfügbar – Tablespace, Tabelle, Partition und Tabellenspalten 19 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Oracle In-Memory ist einfach konfigurieren 1. Hauptspeicherkapazität konfigurieren ALTER SYSTEM SET inmemory_size=20G; 2. Tabellen oder Partitions für In-Memory konfigurieren ALTER TABLE | PARTITION … INMEMORY; 3. Anschließend die analytischen Indexe löschen 20 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. In-Memory Column Store für Tabellen nutzen Abfragen auf Tabellen im In-Memory Column Store haben eine signifikant bessere Leistung bei folgenden Arten von Operationen – Eine Abfrage die viele Datensätzen durchsucht und Filter mit Operatoren wie =, <, > und IN verwendet – Eine Abfrage die wenige Spalten aus einer Tabelle mit vielen Spalten selektiert, z.B. 5 Spalten aus einer Tabelle mit 100 Spalten – Eine Abfrage die eine kleine mit einer großen Tabelle joint – 21 Eine Abfrage die Daten aggregiert Copyright © 2014, Oracle and/or its affiliates. All rights reserved. In-Memory Column Store für Tabellen nutzen Abfragen auf Tabellen im In-Memory Column Store haben keine bessere Leistung bei folgenden Arten von Operationen – Abfagen mit komplexen Predikaten – Abfagen die eine große Anzahl von Spalten selektieren – Abfagen die eine große Anzahl von Zeilen zurückgeben – 22 Abfagen mit mehrfachen großen Tabellen Joins Copyright © 2014, Oracle and/or its affiliates. All rights reserved. In-Memory ist transparent für Anwendungen Full Functionality - No restrictions on SQL Trivial to Implement Fully Compatible - No migration of data or change of product - All existing applications run unchanged DB as a Service Ready - Oracle Multitenant in-memory Uniquely Achieves All In-Memory Benefits With No Application Changes 23 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Oracle In-Memory Delivers Extreme Verfügbarkeit Data Guard & GoldenGate Pure In-Memory format does not change Oracle’s storage format, logging, backup, recovery, etc. All Oracle’s mature availability technologies work transparently Protection from all failures Node, site, corruption, human error, change, etc. 24 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. RAC ASM RMAN In-Memory Datenbank vs. TimesTen TimesTen In-Memory Database Oracle Database In-Memory Scalable In-Memory Database for any type of application workload Combines best of DRAM, flash, disk Embedded in custom applications Extreme low latency OLTP workloads (Microsecond Response Time) Adaptive In-Memory Cache for Exalytics In-Memory Machine Application Application 25 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Application In-Memory Datenbank vs. Exadata Warum Exadata und nicht Standardhardware für In-Memory DB nutzen Exadata erweitert Analyse auf Flash und Plattenspeicher – Much higher Kapazität lower cost than in-memory only Exadata ist optimale Plattform for scalable in-memory clusters – Direct to Wire protocol on high-performance InfiniBand Exadata is the best platform for Database as a Service – Consolidate hundreds of databases to greatly reduce costs – Exadata blends disk, flash, and memory to optimize price-performance across all databases in DBaaS cloud – Most tactical databases don’t need the speed of in-memory only Exadata provides high write I/O, and log I/O rates needed for high performance in-memory OLTP and analytic databases 26 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Oracle In-Memory Option Zusammenfassung Extreme Leistung bei Analyse und OLTP auf aktuellen Daten Extreme Tiering, Scale-Out und Scale-Up Extreme Scale-Up auf M6 Big Memory Machine Extreme Verfügbarkeit In-Memory Nutzen ohne Änderung von Anwendungen 27 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 28 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 29 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 30 Copyright © 2014, Oracle and/or its affiliates. All rights reserved.