Oracle propagiert die Exadata X3-2 als "Database In Memory Machine".



Ähnliche Dokumente
SAP Memory Tuning. Erfahrungsbericht Fritz Egger GmbH & Co OG. Datenbanken sind unsere Welt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Oracle Database Backup Service - DR mit der Cloud

3 Windows als Storage-Zentrale

Reporting Services und SharePoint 2010 Teil 1

Prozessarchitektur einer Oracle-Instanz

Windows Server 2012 R2 Essentials & Hyper-V

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Lizenzierung von System Center 2012

KURZANLEITUNG CLOUD OBJECT STORAGE

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

Restore Exchange Server 2007 SP2

Windows Server 2012 RC2 konfigurieren

Allgemeiner Leitfaden zum Einfügen suchmaschinenoptimierter Texte

Individuelle Formulare

ELO Print&Archive so nutzen Sie es richtig

Tutorial -

White Paper. Konfiguration und Verwendung des Auditlogs Winter Release

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Urs Meier Art der Info Technical Info (Februar 2002) Aus unserer Projekterfahrung und Forschung

OP-LOG

Eine Einführung in die Installation und Nutzung von cygwin

4D Server v12 64-bit Version BETA VERSION

Nachricht der Kundenbetreuung

3 Richtlinienbasierte Verwaltung und Multi-Server- Administration

Softwaren Engineering I

Naxtron GmbH Schlosstalstrasse Winterthur. Subject. New Features Oracle 9i Architecture

1. Einführung. 2. Archivierung alter Datensätze

Primzahlen und RSA-Verschlüsselung

Erstellen eines Formulars

Microsoft Update Windows Update

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

Windows 7 Winbuilder USB Stick

Benachrichtigungsmöglichkeiten in SMC 2.6

Bei der Benutzung des NetWorker Client Configuration Wizards könnten Sie die Namen Ihrer Datenbanken verlieren

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

MSI TECHNOLOGY. RaidXpert AMD. Anleitung zur Installation und Konfiguration MSI

MailUtilities: Remote Deployment - Einführung

Lokale Installation von DotNetNuke 4 ohne IIS

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Urlaubsregel in David

Avira Management Console Optimierung für großes Netzwerk. Kurzanleitung

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Dieser Ablauf soll eine Hilfe für die tägliche Arbeit mit der SMS Bestätigung im Millennium darstellen.

Einführungskurs MOODLE Themen:

2 Datei- und Druckdienste

Die Idee der Recovery Area: Sie enthält bei Beschädiging der Database Area alles, was für ein erfolgreiches Recovery gebraucht wird

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

So importieren Sie einen KPI mithilfe des Assistenten zum Erstellen einer Scorecard

How to do? Projekte - Zeiterfassung

Gezielt über Folien hinweg springen

SharePoint Demonstration

Kostenstellen verwalten. Tipps & Tricks

COMPUTER MULTIMEDIA SERVICE

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

POP -Konto auf iphone mit ios 6 einrichten

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

Microsoft Vista Leistungsoptimierung

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Dateien löschen und wiederherstellen

icloud nicht neu, aber doch irgendwie anders

Cookies. Krishna Tateneni Jost Schenck Übersetzer: Jürgen Nagel

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Herzlich Willkommen bei der BITel!

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

Fehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

FORUM HANDREICHUNG (STAND: AUGUST 2013)

Informationen zum neuen Studmail häufige Fragen

Verwendung des IDS Backup Systems unter Windows 2000

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

Die neue Aufgabe von der Monitoring-Stelle. Das ist die Monitoring-Stelle:

Simple SMS SMS Gateway

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

FIS: Projektdaten auf den Internetseiten ausgeben

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

ISA Server 2004 Einzelner Netzwerkadapater

BüroWARE Exchange Synchronisation Grundlagen und Voraussetzungen

BEO-Sanktionsprüfung Eine Einführung zum Thema Sanktionsprüfung und eine Übersicht zur BEO-Lösung.

Hilfe zur Dokumentenverwaltung

:: Anleitung Hosting Server 1cloud.ch ::

Anleitung - Archivierung

Webgestaltung - Jimdo 2.7

Leitfaden zur Einrichtung za-mail mit IMAP auf dem iphone

Preisvergleich ProfitBricks - Amazon Web Services M3 Instanz

Bauteilattribute als Sachdaten anzeigen

Handbuch ECDL 2003 Basic Modul 2: Computermanagement und Dateiverwaltung Dateien löschen und wiederherstellen

Werkschau Web-Präsentationen

Datensicherung EBV für Mehrplatz Installationen

Wie räume ich mein Profil unter Windows 7 auf?

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen.

Anleitung Postfachsystem Inhalt

Thema: Microsoft Project online Welche Version benötigen Sie?

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC

Wiederherstellen der Beispieldatenbanken zum Buch Microsoft Project 2010

Transkript:

Exadata X3-2 Database In Memory Machine - Wie geht das? Konrad Häfeli Senior Solution Manager Infrastructure Engineering September 2013

Oracle propagiert die Exadata X3-2 als "Database In Memory Machine". "From disk based with memory for acceleration to primarily memory based with disks for capacity" Das ist die Aussage von Oracle. Reicht dazu ein grosser Flash-Cache Speicher in den Storage Cells um das Label "In Memory DB" zu setzen, oder ist das nur ein Marketinggeplänkel? In diesem Artikel werden die Ideen und Konzepte von Oracle vorgestellt und die Auswirkungen auf die Praxis beschrieben. Anhand von mehreren Proof of Concepts konnten diese in verschiedenen Kundensituationen getestet werden. Zudem werden auch die Konfigurationsmöglichkeiten der Memory Hierarchie und deren Auswirkungen auf die Performance beleuchtet. Abb. 1: Exadata X3 Präsentation 1. Definition von In-Memory Der Begriff In-Memory ist schon länger bekannt, wird aber in der letzten Zeit von den verschiedenen Anbietern, vor allem im Bereich Appliances, vermehrt strapaziert. Nebst Angeboten von IBM oder Microsoft hat SAP mit HANA 1 (High Performance Analytic Appliance) Druck auf Oracle gemacht diesen Begriff Im Exadata Beschrieb zu haben. Gartner hat im Hype Cycle for Emerging Technologies, (Source: Gartner.com August 2013 2 ) die Begriffe In-Memory Database Management System und In-Memory Analytics aufgelistet, wobei der Zweite auf dem Weg zum produktiven Einsatz ist während der erste gerade den Gipfel der überhöhten Erwartungen überschritten hat. Oracle hat mit den Produkten Times-Ten 3 und Oracle In-Memory Database Cache den Begriff auch schon kommerziell geprägt. Kürzlich würde von Larry Ellison an der Oracle Open World 2013 die Database In-Memory Option für 12c 4 vorgestellt. 1 Beschreibung SAP HANA: http://www.saphana.com/community/about-hana 2 Gartner Hype Cycle for Emerging Technologies: http://www.gartner.com/newsroom/id/2575515 3 Oracle In-Memory Produkte: http://www.oracle.com/technetwork/products/timesten/overview/index.html 4 OOW13: https://blogs.oracle.com/oracleopenworld/entry/larry_ellison_keynote_everything_runs info@trivadis.com. www.trivadis.com. Info-Tel. 0800 87 482 347. Datum 13.01.2014. Seite 2 / 9

In den verschiedenen Blogs 5 wurde die Vorstellung der Exadata X3-2 als Database In- Memory Machine kontrovers diskutiert und auch eine Definition für echte IMDBs (In Memory Datebank) gemacht. Vermutlich hat Oracle, nachdem die 12c In-Memory Option auf der Roadmap war, den Bedarf nicht mehr gehabt Exadata als solche zu bezeichnen, sodass nun der Begriff In-Memory wieder aus den (Marketing-) Beschreibungen rausgefallen ist. Abb. 2: Exadata Header nach dem Launch von Oracle 12c Darum wird sich dieser Artikel nicht mehr um vage definierte Exadata In-Memory Funktionalität handeln, sondern um real implementierte Flash Cache Devices in den Storage Zellen der Exadata und deren optimalen Einsatz. 2. Exadata Smart Flash Cache In den Storage Servern einer Exadata Plattform werden jeweils 4 Sun Flash Accelerator F40 PCIe Karten eingesetzt, welche je 400GB Kapazität haben. Für ein voll ausgebautes Exadata Rack ergibt das über 22TB flash memory. Der Umstand dass diese Flash Devices nicht als Disks angebunden sind, sondern über den PCIe Bus, ermöglicht eine sehr gute Skalierung über die Karten und Server hinweg. Limitierende Disk-Controller wie sie für SSDs (solid state disks) eingesetzt werden können so sehr gut umgangen werden. Es gibt drei Hauptfunktionen der Flash Karten Caching von Datenbankobjekten im flash memory o Einerseits automatisch o Andererseits durch den DBA gemanaged (object pinning) Device für das Schreiben des Datenbank logging Bereitstellen von Zell-Disken aus flash memory Übrigens haben diese Devices eine automatische Fehlererkennung, welche defekte Komponenten aus dem Betrieb nimmt und somit die Funktionalität auch hochverfügbar zur Verfügung stellt. 3. Flash Cache Funktionalität Exadata Smart Flash Cache versteht unterschiedliche Typen von Datenbank I/O, entsprechend diesen werden die Speicherzugriffe gecached oder eben nicht. Caching: Regelmässig zugegriffenen Daten- und Index-Blöcke Controlfile Schreib- und Lesezugriffe Fileheader Schreib- und Lesezugriffe Vom DBA definierte Objektblock-Zugriffe (gepinnte Objekte) No-Caching: 5 http://flashdba.com/category/blog/, http://kevinclosson.wordpress.com/ info@trivadis.com. www.trivadis.com. Info-Tel. 0800 87 482 347. Datum 13.01.2014. Seite 3 / 9

I/O auf gespiegelte Daten Backup bezogene I/Os Datapump bezogene I/Os Datenfile Formatierungen Scans über Tabellen hinweg Jede I/O Operation eines Datenbankobjektes ist mit einem Tag versehen welches die CELL_FLASH_CACHE (DEFAULT/KEEP/NONE) Funktion betrifft. Der Default spezifiziert, dass Smart Flash Cache für Lese-Operationen eingesetzt wird. Mit KEEP kann das Caching forciert und mit NONE ausgeschalten werden. Die Schreiboperationen gehen direkt auf die (langsamen Disks). alter table <table_name> storage (cell_flash_cache KEEP); 4. Flash Cache Write-Back Damit der Flash-Speicher auch für Write-Operationen eingesetzt werden kann muss das zuerst auf den jeweiligen Storage-Zellen konfiguriert werden. Der bestehende Flash Cache Modus (Default: WriteThrough ) muss zuerst gelöscht werden, danach muss der Zellserver gestoppt, der WriteBack Modus gesetzt und der Zellserver wieder gestartet werden CellCLI> list cell attributes flashcachemode WriteThrough CellCLI> drop flashcache Flash cache... successfully dropped CellCLI> alter cell shutdown services cellsrv Stopping CELLSRV services... The SHUTDOWN of CELLSRV services was successful. CellCLI> alter cell flashcachemode = WriteBack Cell... successfully altered CellCLI> alter cell startup services cellsrv Starting CELLSRV services... The STARTUP of CELLSRV services was successful. CellCLI> create flashcache all Flash cache... successfully created Der Einsatz von WriteBack Caching bringt Vorteile bei Applikationen mit grosser Schreibintensität. Im Gegensatz zu Leseoptimierungen durch Caching, sind diese aber nicht immer offensichtlich, da der Databasewriter (DBWR) immer im Hintergrund schreibt und vielfach andere Flaschenhälse als das DBWR I/O zum Tragen kommen. Wenn dieses eingeschalte wird, dann sollte man durch Monitoring prüfen, dass der gewünschte Effekt erreicht wird. Dies kann durch Zellstatistiken (read/write auf disk und flash celldisks) gemacht werden, oder aber ab Oracle 11.2.0.4 (verfügbar seit dem 28. August 2013) mit den DB Statistiken Physical Write Requests Optimized. 5. Flash Logging Funktionalität Es ist ein Faktum, dass für Transaktionssysteme die Schreibgeschwindigkeit des Logwriters ausschlaggebend ist für die Performance der Applikation. Die durchschnittliche Wartezeit kann info@trivadis.com. www.trivadis.com. Info-Tel. 0800 87 482 347. Datum 13.01.2014. Seite 4 / 9

in der DB-Statistik log file sync wait eingesehen werden. Das Problem ist, dass nebst generell limitierenden Antwortzeiten auch sogenannte hiccups auftreten können. Das sind zeitweise sehr lange Antwortzeiten, die nicht nur auf Disks sondern auch bei Flashspeicher Einsatz vorkommen können. Dies ist bedingt durch Lösch-Zyklen und automatische Datenumverteilung, welche sicherstellen soll dass die Speicherzellen gleichmässig genutzt werden (sogenanntes wear leveling ). Die Funktion wird sichergestellt, indem eine vernachlässigbare Menge an flash memory (default ist 512MB) als temporärer Storage für die Redolog I/Os bereitgestellt wird. Die Redologfiles selbst sind immer noch in voller Grösse auf den Disks abgelegt (ASM Diskgroups). Die interne Funktion macht zwei Schreiboperationen, die Eine auf Disk, die Andere auf Flash. Diejenige welche zuerst das Acknowledge zurückbringt lässt die Applikation weiterarbeiten. Dieser Mechanismus läuft im Hintergrund ab und ist vollumfänglich Transparent für die Applikation. Alle bestehenden Best Practices bezüglich Anzahl und Grösse der Redologfiles sind weiterhin gültig, der einzige Unterschied ist:! Konstante low latency beim Schreiben von Redolog Daten Die Funktionalität kann pro Zellserver über eine Abfrage der Metrikhistorie geprüft werden: CELLCLI> LIST METRICHISTORY WHERE objecttype = 'FLASHLOG' AND - metricvalue!= 0 AND name like 'FL_EFFICIENCY_PERCENTAGE.*' - ATTRIBUTES name, metricobjectname, metricvalue, collectiontime FL_EFFICIENCY_PERCENTAGE FLASHLOG 100 % 2013-09-25T22:59 FL_EFFICIENCY_PERCENTAGE_HOUR FLASHLOG 100 % 2013-09-25T22:59 FL_EFFICIENCY_PERCENTAGE FLASHLOG 100 % 2013-09-25T23:00 FL_EFFICIENCY_PERCENTAGE_HOUR FLASHLOG 100 % 2013-09-25T23:00 FL_EFFICIENCY_PERCENTAGE FLASHLOG 100 % 2013-09-25T23:01 FL_EFFICIENCY_PERCENTAGE_HOUR FLASHLOG 100 % 2013-09-25T23:01 6. Flash Disk Funktionalität Das Default-Verhalten weist alles flash memory dem Flash Cache resp. auch dem Flash Logging zu. Es können aber auch optional aus den Flash Devices logische flash disks erstellt werden. Diese können wie gewöhnliche Exadata cell disks eingesetzt und für ASM Diskgruppen zur Verfügung gestellt werden, welche dann vollumfänglich auf flash memory liegen. Die folgende Grafik veranschaulicht das Storage Layout. info@trivadis.com. www.trivadis.com. Info-Tel. 0800 87 482 347. Datum 13.01.2014. Seite 5 / 9

Abb. 3: Flash Card Storage Layout Die Limite ist maximal 4 cell disks pro Flashkarte, das heisst maximal 16 pro Zellserver. Erstellung von flash griddisks mit CELLCLI Kommandos: CELLCLI> drop flashlog; drop flashcache; create griddisk FLS_CD_00_dm01cel01 celldisk=fd_00_dm01cel01 create griddisk FLS_CD_01_dm01cel01 celldisk=fd_01_dm01cel01 create griddisk FLS_CD_02_dm01cel01 celldisk=fd_02_dm01cel01 create griddisk FLS_CD_03_dm01cel01 celldisk=fd_03_dm01cel01 create flashlog celldisk ='FD_04_dm01cel01,FD_05_dm01cel01, - FD_06_dm01cel01,FD_07_dm01cel01' create flashcache celldisk='fd_04_dm01cel01,fd_05_dm01cel01, - FD_06_dm01cel01,FD_07_dm01cel01' Erstellung von flash diskgroups mit SQL Kommandos: SQL> create diskgroup FLASH_DG external redundancy disk 'o/192.168.10.3/fls_cd_00_dm01cel01, 'o/192.168.10.3/fls_cd_01_dm01cel01, 'o/192.168.10.3/fls_cd_02_dm01cel01, 'o/192.168.10.3/fls_cd_03_dm01cel01' 'o/192.168.10.4/fls_cd_00_dm01cel02, 'o/192.168.10.4/fls_cd_01_dm01cel02, 'o/192.168.10.4/fls_cd_02_dm01cel02, 'o/192.168.10.4/fls_cd_03_dm01cel02, 'o/192.168.10.5/fls_cd_03_dm01cel03, 'o/192.168.10.5/fls_cd_01_dm01cel03, 'o/192.168.10.5/fls_cd_02_dm01cel03, 'o/192.168.10.5/fls_cd_00_dm01cel03, attribute 'cell.smart_scan_capable'='true', 'compatible.asm'='11.2.0.3.0', 'compatible.rdbms'='11.2.0.3' 'au_size = 4M'; Verschieben von Tablespaces auf flash diskgroups mit RMAN Kommandos: rman> sql 'alter tablespace exatest offline'; rman> copy datafile 6 to '+FLASH_DG'; rman> copy datafile 7 to '+FLASH_DG'; rman> switch datafile 6 to copy; rman> switch datafile 7 to copy; rman> recover tablespace exatest; rman> sql 'alter tablespace exatest online'; 7. Test Resultate über die verschiedenen Funktionalitäten Natürlich interessiert bei solchen Funktionen immer auch welche Konfigurationen welche Performancevorteile bringen. Wir haben ein relativ einfaches Testsetup gewählt und von zwei info@trivadis.com. www.trivadis.com. Info-Tel. 0800 87 482 347. Datum 13.01.2014. Seite 6 / 9

Knoten aus eine RAC Datenbank mit Swingbench 6 belastet, dabei wurde die SGA mit 1 GB eher klein gewählt, damit möglichst viel Aktivität auf den Disken resp. dem Flash Cache forciert werden konnte. Es wurde der Swingbench Stress Test Benchmark ausgewählt, mit einer Anpassung der Konfiguration auf 70 zu 30 Prozent zu Gunsten der Schreiboperationen. Nach einem Warm-Up Durchgang wurden 4 Zyklen a 5 Minuten mit dem jeweiligen Testszenario gefahren. Folgende Szenarien wurden geprüft: WA: Kein writeback, kein flashcache, kein flashlog, kein cell keeping (als Baseline) FCO: nur flashcache FLO: nur flashlog FCLO: flashcache und flashlog (Exadata default configuration) WB: zusätzlich writeback OP: zusätzlich Object Pinning DG: asm diskgroup mit flashcache, flashcache und flashlog 6 Swingbench Tool: http://dominicgiles.com/swingbench.html info@trivadis.com. www.trivadis.com. Info-Tel. 0800 87 482 347. Datum 13.01.2014. Seite 7 / 9

Dabei ergaben sich folgend grafisch dargestellte Testresultate: Abb. 4: Testresultate Flash-Cache Einsatzszenarien Analyse der Resultate: Flash Logging verbessert die Performance um 24% Der Default Einsatz von flash cache und log ergibt Verbesserungen um 34% Einschalten des Write-Back Cache verbessert um weitere 13% gegenüber dem Default Object pinning hatte keinen messbaren Vorteil gegenüber dem normalen Caching, hingegen war die CPU Last markant tiefer Der Einsatz von Flash Diskgroups kann sich negativ auswirken, denn sie limitieren die Ressourcen für das automatische Caching info@trivadis.com. www.trivadis.com. Info-Tel. 0800 87 482 347. Datum 13.01.2014. Seite 8 / 9

8. Fazit In der Einführung zum Thema wurde klar dargelegt, dass die Exadata X3-2 keine In-Memory Database Machine im Sinne der Terminologie ist. Nichts destotrotz ist sie eine eindrückliche flash cache basierte Datenbank Plattform. Innerhalb des Systems hat es einzigartige Funktionalität welche einsatzspezifisch konfiguriert werden kann. Flash caching Flash logging Write-Back caching Flash cache diskgrouping Wie bei den meisten Dingen der Exadata Plattform sind die vordefinierten Einstellungen gut. Es bedingt also praktisch kein zusätzliches Tuning in dem Bereich. Wir schlagen aber dennoch vor den Einsatz von Write-Back cache zu prüfen, denn das beschleunigt die Hintergrundprozesse (DBWR), was sich bei unseren Tests positiv auf die allgemeine Performance ausgewirkt hat. Wenn Sie aber richtige In-Memory Funktionalität in Ihrer Exadata Oracle Datenbank haben möchten, dann freuen Sie sich auf den Release der 12c Oracle Database In-Memory Option irgendwann im nächsten Jahr Viel Erfolg beim Konfigurieren und Betreiben Ihrer Exadata Umgebung. Wenn Sie Fragen dazu haben steht Ihnen unser Exadata-Competence-Team gerne zur Seite und unterstützt Sie mit den Erfahrungen aus dem täglichen Einsatz. Konrad Häfeli Trivadis AG Europastrasse 5 Tel: +41-(0)58 459 55 55 CH-8152 Glattbrugg Fax: +41-(0)58 459 55 95 Internet: www.trivadis.com Mail: konrad.haefeli@trivadis.com info@trivadis.com. www.trivadis.com. Info-Tel. 0800 87 482 347. Datum 13.01.2014. Seite 9 / 9