EIN TECHNISCHER ÜBERBLICK ÜBER DEN SUN ORACLE EXADATA STORAGE SERVER - ORACLE WHITEPAPER SEPTEMBER 2009
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Oracle Whitepaper september 2009 Ein technischer Überblick über den Sun Oracle Exadata Storage Server
Whitepaper — Ein technischer Überblick über den Sun Oracle Exadata Storage Server Sun Oracle Exadata Storage Server und Sun Oracle Database Machine ........................................................... 2 Heutige Grenzen für Datenbank-I/O ................................................... 3 Exadata-Produktfamilie ....................................................................... 4 Sun Oracle Exadata Storage Server............................................... 4 Oracle Database Machine............................................................... 8 Exadata-Architektur........................................................................... 11 Datenbankserver-Software ........................................................... 12 Enterprise Manager Plug-In für Exadata ....................................... 13 Exadata-Software.......................................................................... 14 Exadata Smart Scan Processing .................................................. 14 I/O-Ressourcenmanagement mit Exadata .................................... 19 Leistungsbeschleunigung mit Exadata.......................................... 22 Virtualisierung des Exadata-Storage............................................. 23 Schlussfolgerung............................................................................... 29
Whitepaper — Ein technischer Überblick über den Sun Oracle Exadata Storage Server Sun Oracle Exadata Storage Server und Sun Oracle Database Machine Beim Sun Oracle Exadata Storage Server (Exadata) handelt es sich um einen Datenbankserver, der in hohem Maße für den Einsatz mit Oracle Database optimiert wurde. Exadata zeichnet sich durch eine überlegene I/O- und SQL-Verarbeitungsleistung aus, die sich besonders für Online Transaction Processing (OLTP), Data-Warehouse- Anwendungen (DW) und die Konsolidierung gemischter Arbeitslasten eignet. Alle Arten von Datenbankanwendungen profitieren von der extremen Leistungsfähigkeit, die sich durch den Einsatz einer Massive Parallel Grid-Architektur gemeinsam mit dem Exadata Storage Grid auszeichnet. Die Exadata-Storage-Produkte bestehen aus einer Kombination aus Hardware und Software und wurden für die Speicherung und den Zugriff auf Oracle-Datenbanken entwickelt. Exadata stellt datenbankfähige Speicherservices bereit, wie die Möglichkeit, die Datenbankverarbeitung vom Datenbankserver auf den Storage-Server zu verlagern. Dabei wird diese Funktion für die SQL-Verarbeitung und Datenbankanwendungen transparent ausgeführt. Zum Lieferumfang der Exadata Storage-Server gehört außerdem eine komplette End-to-End- Datenbanklösung – die Sun Oracle Database Machine. Bei der Sun Oracle Database Machine handelt es sich um eine Standardlösung für das Hosting von Oracle Database, die bequem eingerichtet werden kann und ein unvergleichbar hohes Leistungsniveau bietet. Database Machine und Exadata Storage Server zeichnen sich durch eine bahnbrechende Leistungsfähigkeit mit linearer I/O-Skalierbarkeit aus, sind im Hinblick auf Verwendung und Verwaltung äußerst benutzerfreundlich und stellen im Unternehmen die Verfügbarkeit und Zuverlässigkeit bereit, die für zentrale Geschäftsanwendungen erforderlich ist. Exadata ist ein gemeinsames Angebot von Oracle und Sun Microsystems. Dabei liefert Sun die Hardwaretechnologie für die Database Machine und den Exadata Storage Server. Oracle stellt die Software für die intelligenten Datenbankverarbeitungsfunktionen im Storage-Server und die enge Integration von Exadata Storage mit Oracle Database und allen damit verbundenen Funktionen bereit. Die Server von Sun zeichnen sich durch die Leistungsfähigkeit der neuen Generation von Intel® Xeon®-Prozessoren gepaart mit der innovativen Vielseitigkeit der Systementwicklungen von Sun aus. Die Merkmale dieser Server sind sehr hohe Dichte und Erweiterbarkeit. Deshalb eignen sie sich selbst für die anspruchsvollsten Anwendungen. Die revolutionäre Leistungssteigerung und Funktionalität von Sun Oracle Database Machine und Exadata Storage Server wurde durch die enge Partnerschaft zwischen Oracle und Sun möglich gemacht. 2
Whitepaper — Ein technischer Überblick über den Sun Oracle Exadata Storage Server Heutige Grenzen für Datenbank-I/O Die Grundlage für die Database Machine und Exadata besteht aus einer intelligenten Datenbanksoftware zur Verarbeitung der komplexen Anwendungen, die das Rückgrat eines jeden erfolgreichen Unternehmens bilden. Oracle Database unterstützt einen extrem großen Funktionsumfang, damit die komplexesten OLTP- und DW-Anwendungen implementiert werden können. Aber der Zugang auf Terabyte umfassende Datenbanken mit hoher Leistung, verbunden mit einer Kombination aus intelligenter Datenbanksoftware und leistungsfähiger Hardware, eröffnet enorme Möglichkeiten für Unternehmen, die Datenbankverarbeitung zu beschleunigen und auszuweiten. Eine leistungsfähige Hardware, um die erforderlichen I/O- Raten und die Bandbreite für moderne Anwendungen bereitzustellen, verbunden mit intelligenter Software, ist der Schlüssel für die extreme Leistungsfähigkeit der Exadata-Produkte. Traditionelle Storage-Geräte sind groß, aber relativ langsam und nicht für die hohen I/O-Raten geeignet, die für Transaktionslasten in großen Unternehmen benötigt werden. Anstelle von 100 IOPS (I/Os pro Sekunde) pro Datenträger benötigen Enterprise-Anwendungen wenigstens ein Vielfaches dieses Werts, um den von den Endbenutzern erwarteten Service anzubieten. Traditionelle Storage-Produkte stellen eine enge und begrenzte Schnittstelle für den Datenbankspeicher von Oracle-Datenbanken bereit. Im I/O-Pfad der Datenbank gibt es viele Engpässe, die die Datenbandbreite begrenzen. Daraus resultieren Einschränkungen bei der Datenbankleistung, wenn traditionelle Storage-Geräte zum Einsatz kommen. Datenbankserver benötigen viele SAN-HBA (Storage Area Network-Host-Bus-Adapter), um die Bandbreite bereitzustellen, die erforderlich ist, mit einer adäquaten Geschwindigkeit Daten vom Speicher an die Datenbank zu liefern. Häufig wird die für eine adäquate Leistung erforderliche Anzahl an HBAs nicht vom Server unterstützt, oder die so entstehenden Kosten sind zu hoch. Und Kosten und Komplexität in einer SAN-Switch-Umgebung explodieren beim Versuch, die erforderliche Bandbreite und Redundanz bereitzustellen. Dazu kommt, dass große Storage-Arrays nicht in der Lage sind, für die Hunderte von Datenträgern, die sich darin befinden, eine adäquate Bandbreite bereitzustellen. Das Ergebnis ist eine künstliche Verringerung der potenziellen Datenträgerleistung unterhalb des eigentlich Möglichen. Zu Engpässen für die Datenträgerleistung kommt es auf den Fibre Channel Loops (FCL) zum Datenträger und bei der Verarbeitungskapazität des Storage-Arrays. Traditionelle Storage-Geräte können auch nicht erkennen, ob sich eine Datenbank im Speicher befindet und bieten deshalb auch keine datenbankfähige I/O- oder SQL-Verarbeitung an. Wenn die Datenbank Zeilen und Spalten anfordert, werden Datenblöcke und nicht die Ergebnissätze für die Datenbankanfrage zurückgegeben. Herkömmliche Speicher verfügen über keine intelligenten Funktionen, die für Datenbanken optimiert wurden, und können deshalb nicht die konkreten Zeilen oder Spalten zurückgeben, die mit der Abfrage gesucht wurden. Wenn also I/O für die Datenbank verarbeitet wird, verbrauchen traditionelle Storage-Geräte Bandbreite, 3
Whitepaper — Ein technischer Überblick über den Sun Oracle Exadata Storage Server weil Daten zurückgegeben werden, die für die entsprechende Datenbankabfrage nicht relevant sind. Die Exadata-Produkte bieten eine Lösung für die Hauptdimensionen im Zusammenhang mit Datenbank-I/O, die die Leistung beeinträchtigen können. • Exadata basiert auf einer massiv parallelen Architektur, bei der mehr Pipes bereitgestellt werden, um die Daten schneller zwischen Datenbankservern und den Storage-Servern auszutauschen. • Dabei sind die in Exadata eingesetzten Pipes breiter und stellen eine extrem hohe Bandbreite zwischen den Datenbankservern und den Storage-Servern bereit. • Exadata ist datenbankfähig und kann gezielt nur die Daten versenden, die für die SQL- Anfragen benötigt werden. Auf diese Weise werden weniger Daten zwischen den Datenbankservern und den Storage-Servern ausgetauscht. • Exadata überwindet die Grenzen der Datenträgertechnologie Exadata-Produktfamilie Die Sun Oracle Exadata-Produktfamilie besteht aus zwei Gerätetypen. Die Grundlage der Exadata-Produktfamilie ist der Sun Oracle Exadata Storage Server. Er wird zum Aufbau von Data Warehousing-Lösungen mithilfe der durch Kunden bereitgestellten Datenbankserver und Infrastruktur verwendet. Beim zweiten Gerät der Exadata-Produktfamilie handelt es sich um die Sun Oracle Database Machine (Database Machine). Bei der Database Machine handelt es sich um eine komplette und vollintegrierte Lösung für ein Data Warehouse, die alle Komponenten zur schnellen und einfachen Einrichtung eines Enterprise Data Warehouse, inkl. Exadata Storage, beinhaltet. Sun Oracle Exadata Storage Server Beim Sun Oracle Exadata Storage Server handelt es sich um ein Datenbank-Speichergerät, auf dem die von Oracle bereitgestellte Exadata Storage Server Software ausgeführt wird. Die Hardwarekomponenten von Exadata Storage Server (die auch als Exadata-Zellen bezeichnet werden) wurden sorgfältig ausgewählt, um die Anforderungen einer hochgradig leistungsfähigen Verarbeitung von Datenbankanfragen zu erfüllen. Die Exadata-Software wurde so optimiert, dass die Hardwarekomponenten und Oracle Database optimal zusammenarbeiten. Jede Exadata- Zelle stellt eine überragende I/O-Leistung und Bandbreite für die Datenbank bereit. Der Sun Oracle Exadata Storage Server ist ein schneller, zuverlässiger Storage-Server mit hoher Kapazität, der dem Industriestandard entspricht. Jede Exadata-Zelle ist werkseitig folgendermaßen konfiguriert: 2 Intel Xeon E5540 Quadcore-Prozessoren, 12 SAS-Datenträger, verbunden mit einem Storage-Controller mit 512 MB batteriegepufferten Cache, 24 GB 4
Whitepaper — Ein technischer Überblick über den Sun Oracle Exadata Storage Server Arbeitsspeicher, Dual-Port InfiniBand-Konnektivität, Management-Schnittstelle für den Fernzugriff, zwei redundante, im laufenden Betrieb austauschbare Netzteile, die gesamte Software ist vorinstalliert und das Gerät belegt 2U in einem typischen 19-Zoll-Rack. Abb. 1: Exadata Storage-Zelle In der Exadata-Zelle befinden sich zwölf seriell verbundene SCSI-(SAS)-Laufwerke mit 600 GB. Dadurch werden bis zu 2 TB an unkomprimierter Benutzerdatenkapazität mit einer Bandbreite von bis zu 1,5 GB/Sekunden bereitgestellt. Wenn die Daten im komprimierten Format gespeichert werden, kann sich die Menge der Benutzerdaten und Datenbandbreite jeder Zelle häufig um das bis zu Zehnfache erhöhen. Die Benutzerdatenkapazität wird berechnet, nachdem der gesamte Festplattenspeicher gespiegelt und Platz für Datenbankstrukturen, wie Protokolle, Undo und temporärer Speicherplatz, reserviert wurde. Die Menge der tatsächlichen Benutzerdaten hängt von der Anwendung ab. Oracle Exadata Storage verwendet eine moderne InfiniBand-Verbindung zwischen den Servern und Storage-Servern. Jede Exadata-Zelle verfügt über eine Dual-Port InfiniBand-Verbindung mit vierfacher Datenrate (QDR), die die hohe Verfügbarkeit sicherstellt. Jedes InfiniBand-Link stellt eine Bandbreite von 40 GB bereit. Dies ist deutlich höher als bei herkömmlichen Storage-Servern oder Servernetzwerken. Das Verbindungsprotokoll von Oracle verwendet Direct Data Placement (DMA, Direct Memory Access), um eine möglichst niedrige CPU-Belastung sicherzustellen, indem Daten direkt aus dem Netzwerk in die Datenbankpuffer verschoben werden, ohne dass zusätzliche Kopien gemacht werden. Das InfiniBand-Netzwerk ist so flexibel wie ein LAN- Netzwerk und dabei so effizient wie ein SAN. Durch das InfiniBand-Netzwerk stellt Oracle sicher, dass die Leistung nicht durch das Netzwerk beeinträchtigt wird. Dasselbe InfiniBand- Netzwerk stellt auch eine hochleistungsfähige Cluster-Verbindung für die Oracle Database RAC- Knoten (Real Application Cluster, RAC) bereit. In Abbildung 2 unten wird eine kleine Datenbankumgebung dargestellt, die auf Exadata-Storage basiert. Zwei Oracle-Datenbanken, ein RAC und eine Einzelinstanz teilen sich drei Exadata- 5
Whitepaper — Ein technischer Überblick über den Sun Oracle Exadata Storage Server Zellen. Alle Komponenten für diese Konfiguration, d. h. Datenbankserver, Exadata-Zellen, InfiniBand-Switches, Ethernet-Switches und weitere unterstützende Hardware belegen gerade mal ein halbes herkömmliches 19-Zoll-Rack. Single-Instance RAC Database Database InfiniBand Sw itc h/Netw ork Exadata Cell Exadata Cell Exadata Cell Abb. 2: Konfiguration auf Grundlage von Exadata Storage-Zellen Oracle Exadata kann auf ein beliebig hohes Leistungsniveau skaliert werden. Um eine höhere Leistung und größere Speicherkapazität zu erreichen, werden weitere Exadata-Zellen der Konfiguration hinzugefügt. Die Leistung erhöht sich linear, wenn weitere Zellen hinzugefügt werden. Dabei kommt es weder je zwischen den Zellen zu einer Kommunikation, noch ist das in einer Exadata-Konfiguration erforderlich. Wie unten in Abbildung 3 dargestellt, passen in ein typisches 19-Zoll-42U-Rack bis zu 18 Exadata-Zellen. Dieses Rack würde eine Rohkapazität von 129,6 TB bereitstellen, und der Spitzendatendurchsatz würde 27 GB/Sekunde betragen. Wenn Sie zusätzliche Speicherkapazität benötigen, fügen Sie weitere Racks mit Exadata-Zellen hinzu, um eine Skalierung auf jede beliebige Bandbreite oder jedes Kapazitätsniveau durchzuführen. Die Ergänzung weiterer Racks ist einfach, da die InfiniBand-Struktur ohne Einbußen der Konnektivität mehrere Racks umfassen kann. Sobald das neue Rack angeschlossen wurde, werden die neuen Exadata- Datenträger von der Oracle-Datenbank erkannt und verfügbar gemacht. 6
Whitepaper — Ein technischer Überblick über den Sun Oracle Exadata Storage Server Add racks to scale further Scale to 18 cells in standard rack Each cell connects to 2 InfiniBand switches for Redundancy Dis k capacit y per rack: 130T B (18 cells x 7.2 T B per cell) InfiniBand links across P eak data bandwidth per rack : 27 GB /s racks for full connectivity Abb. 3: Skalierung der Exadata Storage-Lösung zur Erhöhung von Leistung und Kapazität Als Datenträgerverwaltungs- und Dateisystem für Exadata wird Oracle Automatic Storage Management (ASM) verwendet. Die Datenträgerüberwachung von ASM, kombiniert mit den Exadata-Datenträgern, die im laufenden Betrieb ausgetauscht werden können, gewährleistet, dass die Datenbank Ausfälle einzelner Datenträger tolerieren kann. Die Daten werden in Zellen übergreifend gespiegelt, um sicherzustellen, dass der Ausfall einer Zelle nicht zu Datenverlusten führt oder den Zugriff auf die Daten behindert. Diese massiv parallele Architektur sorgt für unbegrenzte Skalierbarkeit und Hochverfügbarkeit. Beim Einsatz von Exadata wird die SQL-Verarbeitung vom Datenbankserver auf den Exadata- Server verlagert. Neben den traditionellen Block-Services für die Datenbank ist es mit Exadata möglich, die Funktionen von der Datenbankinstanz auf den zugrunde liegende Speicher zu verschieben. Eine der einzigartigen Funktionen von Exadata-Storage betrifft die Rückgabe der Daten bei einer Abfrage. Während der traditionelle Speicher bei einer Datenbankabfrage die gesamte Tabelle zurückgibt, werden bei Exadata nur die betreffenden Zeilen und Spalten zurückgegeben. Exadata bringt die SQL-Verarbeitung so nahe wie möglich an die Daten (oder Datenträger) und sorgt dafür, dass die Datenträger parallel arbeiten. Dadurch wird der CPU- Verbrauch auf dem Datenbankserver reduziert, es wird viel weniger Bandbreite beim Verschieben der Daten zwischen Datenbankservern und Storage-Servern verbraucht, und die Abfrageergebnisse werden als Ergebnissatz und nicht als vollständige Tabelle zurückgegeben. Durch die Vermeidung von Datentransfers und Arbeitslasten auf dem Datenbankserver können Abfragen im Data Warehouse, die bislang eine große Belastung für Bandbreite und CPU 7
Whitepaper — Ein technischer Überblick über den Sun Oracle Exadata Storage Server darstellten, deutlich profitieren. Auch Online-Transaction-Processing-Systeme (OLTP-Systeme), die häufig große Batch- und Berichtsverarbeitungsoperationen enthalten, können eindrucksvolle Verbesserungen dank der Verminderung der Datentransfers aufweisen. Exadata-Storage ist für die Anwendung, die die Datenbank verwendet, vollständig transparent. Bestehende SQL-Anweisungen, ob ad hoc oder in Paketen oder in benutzerdefinierten Anwendungen, werden davon nicht beeinflusst und erfordern keine Änderungen, wenn der Exadata-Speicher verwendet wird. Die ausgelagerte Verarbeitung und die Bandbreitenvorteile der Lösung werden ohne Änderungen an der Anwendung bereitgestellt. Alle Funktionen von Oracle Database werden von Exadata vollständig unterstützt. Exadata funktioniert genauso gut mit Einzelinstanz- oder Real Application Cluster-Einrichtungen der Oracle-Datenbank. Funktionen, wie Oracle Data Guard, Oracle Recovery Manager (RMAN), Oracle Streams und andere Datenbank-Tools werden mit und ohne Exadata auf dieselbe Weise verwaltet. Benutzer und Datenbankadministratoren setzen dieselben Tools und Kenntnisse ein, über die sie aktuell verfügen, weil sich die Arbeit nicht von traditionellen Storage-Lösungen ohne Exadata-Geräte unterscheidet. Sowohl Exadata- als auch herkömmliche Storage-Lösungen können parallel als Datenbankspeicher verwendet werden, um die Migration zum oder vom Exadata-Storage zu bewerkstelligen. Das Wesen der traditionellen Storage-Produkte fördert die ineffiziente Speichereinrichtung für jede Datenbank in der IT-Infrastruktur. Die Exadata-Architektur stellt sicher, dass die gesamte Bandbreite und die gesamten I/O-Ressourcen des Exadata-Storage-Subsystems zu jeder Zeit und für jede Datenbank oder Arbeitsklasse bei Bedarf verfügbar gemacht werden. I/O-Bandbreite wird anteilsmäßig auf Grundlage benutzerdefinierter Richtlinien und Service Level Agreements (SLAs) an die verschiedenen Arbeitsklassen oder Datenbanken abgegeben, die sich gemeinsam einen Exadata-Server teilen. Die Funktionalität von Oracle Database Resource Manager (DBRM) wurde für die Zusammenarbeit mit Exadata-Storage zur Verwaltung der benutzerdefinierten Intra- und Inter-Datenbank-I/O-Ressourcennutzung erweitert, um sicherzustellen, dass die vom Kunden definierten SLAs erfüllt werden. Die Funktionen zur Verwaltung der I/O-Ressourcen von Exadata-Storage machen es möglich, die I/O-Ressourcen an die geschäftlichen Prioritäten der Organisation anzupassen und ein Shared-Storage-Grid für die Oracle-Datenbanken in der Umgebung aufzubauen. Oracle Database Machine Neben den Exadata-Storage-Zellen bietet Oracle eine vollständig integrierte Plattform für alle Ihre Datenbankanwendungen an. Die Sun Oracle Database Machine ist eine Standardlösung für das Hosting der Oracle-Datenbank, die keine großen Anforderungen an die Einrichtung stellt. Zwei Versionen der Database Machine, d. h. Database Machine Full Rack und Database Machine Half Rack, werden abhängig von der Größe der einzurichtenden Datenbank sowie der erforderlichen Verarbeitung und I/O-Bandbreite angeboten. 8
Whitepaper — Ein technischer Überblick über den Sun Oracle Exadata Storage Server Database Machine Full Rack besteht aus den folgenden Hardwarekomponenten: • 14 Exadata-Storage-Server (alle SAS-Datenträger) • 8 Datenbankserver für Oracle Database 11g, die dem Industriestandard entsprechen (2 Intel Xeon Dual-Socket Quadcore E5540-Prozessoren mit 2,53 GHz), 72 GB RAM, vier 146 GB SAS-Laufwerke, Dual-Port-InfiniBand-Host-Channel-Adapter (HCA), 4 Ethernet-Ports mit 1 GB/Sekunden und zwei redundante, im laufenden Betrieb austauschbare Netzteile) • Die gesamte erforderliche InfiniBand-Infrastruktur (z. B. drei InfiniBand-QDR-Switches und Kabel) für die Kommunikation zwischen Datenbankserver und Exadata-Server und die RAC- Internode-Kommunikation. • Ethernet-Switch zur Administration der Database Machine und Kommunikation von der Database Machine zu den Datenbank-Clients oder anderen Rechnersystemen • Tastatur, Monitor oder Bildschirmgerät, Maus, d. h. die KVM-Hardware zur lokalen Systemadministration • Herkömmliches 19-Zoll-42U-Rack-Packaging Jedes Database Machine Full Rack stellt eine Kapazität von bis zu 28 TB an unkomprimierten Benutzerdaten mit einer I/O-Bandbreite von bis zu 21 GB/Sekunde bereit. Darüber hinaus ist jedes Database Machine Full Rack ein Baustein für ein Data Warehouse. Die Racks können mit der im Lieferumfang enthaltenen InfiniBand-Struktur miteinander verbunden werden, um eine Einzelsystem-Image-Datenbank aufzubauen, die auf viele Petabyte skaliert werden kann. Ebenfalls verfügbar ist das Database Machine Half Rack. Diese kleinere Version der Database Machine besteht aus den folgenden Hardwarekomponenten: • 7 Exadata-Storage-Server (alles SAS) • 4 Datenbankserver für Oracle Database 11g, die dem Industriestandard entsprechen (2 Intel Xeon Dual-Socket Quadcore E5540-Prozessoren mit 2,53 GHz), 72 GB RAM, vier 146 GB SAS-Laufwerke, Dual-Port-InfiniBand-Host-Channel-Adapter (HCA), 4 Ethernet- Ports mit 1 GB/Sekunden und zwei redundante, im laufenden Betrieb austauschbare Netzteile) • Die gesamte erforderliche InfiniBand-Infrastruktur, Ethernet-Konnektivität und KVM- Hardware • Herkömmliches 19-Zoll-42U-Rack, wobei die obere Hälfte des Racks frei ist und für die Aufrüstung in ein Full-Rack genutzt werden kann. Jedes Database Machine Half Rack stellt eine Kapazität von bis zu 14 TB an unkomprimierten Benutzerdaten mit einer I/O-Bandbreite von bis zu 10,5 GB/Sekunde bereit. Darüber hinaus kann ein Database Machine Half Rack, das zu einem Full Rack aufgerüstet wurde, mit Hilfe der 9
Whitepaper — Ein technischer Überblick über den Sun Oracle Exadata Storage Server InfiniBand-Struktur aus dem Lieferumfang verbunden werden, um eine Einzelsystem-Image- Datenbank aufzubauen. Zusammenfassend bieten die Exadata-Produkte Lösungen für die drei Hauptdimensionen von Datenbank-I/O, die die Leistung im Data-Warehouse beeinträchtigen können. • Mehr Pipes: Exadata basiert auf einer massiv parallelen Architektur, bei der mehr Pipes bereitgestellt werden, um die Daten schneller zwischen Datenbankservern und den Storage- Servern auszutauschen. Wenn Exadata-Server der Datenbankkonfiguration hinzugefügt werden, wird die Bandbreite linear skaliert. • Breitere Pipes: InfiniBand ist fünf Mal schneller als Fibre Channel. Dabei sind die in Exadata eingesetzten InfiniBand-Pipes breiter und stellen eine extrem hohe Bandbreite zwischen den Datenbankservern und den Storage-Servern bereit. • Intelligente Software: Bei der Smart-Scan-Verarbeitung müssen weniger Daten durch die Pipes übertragen werden, weil die Daten im Speicher verarbeitet werden. Exadata ist datenbankfähig und kann gezielt nur die Daten versenden, die für die SQL-Anfragen benötigt werden. Auf diese Weise werden weniger Daten zwischen den Datenbankservern und den Storage-Servern ausgetauscht. 10
Whitepaper — Ein technischer Überblick über den Sun Oracle Exadata Storage Server Exadata-Architektur Die Hardware-Umgebung für ein typisches Exadata-basiertes Storage-Grid wurde in Abbildung 2 dargestellt. Bei jeder Exadata-Zelle handelt es sich um einen unabhängigen Server mit Datenträgerspeicher, auf dem die von Oracle bereitgestellte Exadata-Software ausgeführt wird. Datenbanken werden übergreifend auf Exadata-Zellen eingerichtet, und mehrere Datenbanken können sich Exadata-Zellen teilen. Datenbank und Exadata-Zellen kommunizieren über eine InfiniBand-Hochgeschwindigkeitsschnittstelle. Die Gruppe der Exadata-Zellen, die von mehreren Datenbanken gemeinsam genutzt wird, wird als ein Exadata Realm bezeichnet. Die Gruppe aus drei Zellen in Abbildung 2 ist ein Beispiel für ein Realm. Realms stellen die Isolation und damit den übergreifenden Schutz der betreffenden Datenbankgruppe sicher. Mechanismen werden bereitgestellt, um Datenträger oder vollständige Zellen zwischen Realms in einer kontrollierten und sicheren Art und Weise zu verschieben. Die Architektur der Exadata-Lösung umfasst Komponenten des Datenbankservers und in der Exadata-Zelle. Die allgemeine Architektur wird nachfolgend dargestellt. Single-Instance RAC Database Database DB Server DB Server DB Server DB Instance DB Instance DB Instance Enterprise DBRM DBRM DBRM Manager ASM ASM ASM iDB Protocol over InfiniBand Switch/Network InfiniBand with Path Failover OEL OEL OEL CELLSRV MS C ELLSRV MS CELLSRV MS C ell IORM RS IOR M RS IORM RS Co ntrol C LI Exadata Cell Exadata Cell Exadata Cell Abb. 4: Architektur der Exadata-Software 11
Whitepaper — Ein technischer Überblick über den Sun Oracle Exadata Storage Server Datenbankserver-Software Oracle Database 11g Release 2 wurde signifikant erweitert, um den Exadata-Speicher optimal zu nutzen. Die Exadata-Software ist optimal zwischen den Datenbankservern und den Exadata- Zellen aufgeteilt. Die Datenbankserver und die Exadata-Storage-Serversoftware kommunizieren über das iDB-Protokoll (Intelligent Database). iDB ist im Datenbank-Kernel implementiert und ordnet transparent den Exadata-optimierten Operationen Datenbankoperationen zu. iDB implementiert eine Architektur zur Übertragung von Funktionen neben der traditionellen Übertragung von Datenblöcken, die von der Datenbank bereitgestellt werden. iDB wird verwendet, um SQL-Operationen auf die Exadata-Zelle zu übertragen, damit diese dort ausgeführt und die Ergebnisse an den Datenbank-Kernel zurückgegeben werden. Dabei geben die Exadata-Zellen keine Datenbankblöcke, sondern entsprechend der SQL-Abfrage nur die entsprechenden Zeilen und Spalten zurück. Wie bestehende I/O-Protokolle kann iDB Byte- Bereiche direkt auf dem Datenträger lesen und schreiben. Wenn es also nicht möglich ist, die Verarbeitung auszulagern, funktioniert Exadata wie ein traditionelles Storage-Gerät für die Oracle-Datenbank. Wenn es allerdings machbar ist, ermöglicht die Logik im Datenbank-Kernel, dass z. B. Tabellen-Scans an den Exadata-Server weitergegeben und dort ausgeführt werden, sodass nur die angeforderten Daten an den Datenbankserver zurückgegeben werden. iDB baut auf dem Industriestandard Reliable Datagram Sockets-Protokoll (RDSv3) auf und läuft über InfiniBand. Das ZDP-Protokoll (Zero-Loss Zero-Copy Datagram Protocol) ist eine Zero- Copy-Implementierung von RDS und wird verwendet, um das unnötige Kopieren von Blöcken zu vermeiden. Mehrere Netzwerkschnittstellen können auf den Datenbankservern und Exadata- Zellen verwendet werden. Dabei handelt es sich um ein extrem schnelles Protokoll mit niedriger Latenz, das die Anzahl der erforderlichen Datenkopien minimiert, die für die I/O-Operationen erforderlich sind. Automatic Storage Management (ASM) ist die Grundlage für das Storage-Management von Exadata. ASM virtualisiert die Storage-Ressourcen und stellt das erweiterte Volume-Management und die Dateisystemfunktionen von Exadata bereit. Die gleichmäßige Verteilung der Datenbankdateien über die verfügbaren Exadata-Zellen und Datenträger führt zu einer gleichmäßigen I/O-Belastung über die gesamte Storage-Hardware. Die Fähigkeit von ASM, eine nicht intrusive Ressourcenzuordnung durchzuführen, ist einer der Hauptfaktoren, die die Funktionalität des Shared-Storage-Grid in Exadata-Umgebungen möglich machen. Und die ASM-Funktionen zum Spiegeln und im Zusammenhang mit Fehlergruppen sind verantwortlich für einen Großteil der Funktionalität zur Gewährleistung von Datenschutz und Robustheit innerhalb der Exadata-Umgebung. Mit ASM werden die Daten in allen Zellen übergreifend gespiegelt, um die hohe Verfügbarkeit beim Ausfall einer Zelle weiterhin zu sichern. Die Funktion Database Resource Manager (DBRM) wurde in Oracle Database 11g zur Zusammenarbeit mit Exadata erweitert. Mit Hilfe von DBRM können Benutzer neben CPU, Undo, Grad der parallelen Verarbeitung, aktive Sitzungen und anderen verwalteten Ressourcen 12
Whitepaper — Ein technischer Überblick über den Sun Oracle Exadata Storage Server die Intra- und Inter-Datenbank-I/O-Bandbreite definieren und verwalten. Dies ermöglicht die gemeinsame Speichernutzung durch mehrere Datenbanken, ohne dass dabei die Gefahr besteht, dass eine Datenbank die I/O-Bandbreite monopolisiert und die Leistung der anderen Datenbanken beeinträchtigt, die gemeinsam denselben Speicher verwenden. Nutzungsgruppen wird ein prozentualer Anteil der verfügbaren I/O-Bandbreite zugeordnet und der DBRM sorgt dafür, dass diese Ziele eingehalten werden. Die Implementierung erfolgt über I/O-Tagging der Datenbank, wobei die verbundene Datenbank und Nutzungsgruppe identifiziert werden. Die Datenbank erhält eine vollständige Darstellung der I/O-Prioritäten über den gesamten I/O- Stack. Die I/O-Zuordnungen der Intra-Datenbank-Nutzungsgruppe werden auf dem Datenbankserver definiert und verwaltet. Die Inter-Datenbank-I/O-Zuordnungen sind innerhalb der Software in der Exadata-Zelle definiert und werden vom I/O Resource Manager (IORM) verwaltet. Die Software der Exadata-Zelle stellt sicher, dass die Inter-Datenbank-I/O- Ressourcen innerhalb und zwischen Datenbanken verwaltet und ordnungsgemäß zugeordnet werden. Insgesamt stellt der DBRM sicher, dass jede Datenbank die angegebene Menge an I/O- Ressourcen erhält und die benutzerdefinierten SLAs erfüllt werden. Enterprise Manager Plug-In für Exadata Exadata wurde in die Oracle Enterprise Manager (EM) Grid Control integriert, um ohne großen Aufwand die Überwachung der Exadata-Umgebung zu ermöglichen. Indem Sie ein Exadata- Plug-In in das bestehende EM-System installieren, können die Statistiken und Aktivitäten auf dem Exadata-Server überwacht und Ereignisse und Warnmeldungen an den Systemadministrator gesendet werden. Zu den Vorteilen der Integration des EM-Systems in Exadata gehören: • Die Überwachung des Oracle Exadata-Storage • Die Sammlung von Informationen zur Konfiguration und Leistung des Speichers • Die Erzeugung von Alarmen und Warnungen auf Grundlage der Schwellenwerte • Die Bereitstellung von integrierten aussagekräftigen Metriken und Berichten auf Grundlage von historischen Daten Alle Funktionen, die Benutzer von Oracle Enterprise Manager erwarten, werden von Exadata unterstützt. Durch die Verwendung der EM-Schnittstelle können Benutzer mit nur geringem Aufwand die Exadata-Umgebung zusammen mit anderen Oracle Database-Umgebungen verwalten, die traditionell mit Enterprise Manager verwendet werden. DBAs können über die vertraute EM-Schnittstelle Berichte anzeigen, um die Integrität des Exadata-Systems zu ermitteln und die Konfiguration des Exadata-Storage verwalten. 13
Whitepaper — Ein technischer Überblick über den Sun Oracle Exadata Storage Server Exadata-Software Wie jedes andere Storage-Gerät ist der Exadata-Server ein Computer mit CPUs, Arbeitsspeicher, einem Bus, Datenträgern, NICs sowie anderen Komponenten, aus denen ein Server normalerweise besteht. Auf dem Server läuft auch ein Betriebssystem (OS), bei dem es sich im Fall von Exadata um Oracle Enterprise Linux (OEL) 5.1 handelt. Die Exadata-Storage-Server- Software, die auf der Exadata-Zelle ausgeführt wird, läuft unter OEL. Der Zugriff auf OEL ist in einem eingeschränkten Modus zur Verwaltung der Exadata-Zelle möglich. CELLSRV (Cell Services) ist die primäre Komponente der Exadata-Software, die auf der Zelle ausgeführt wird und die Mehrzahl der Exadata-Storage-Services bereitstellt. CELLSRV ist eine Multithread-Software, die mit der Datenbankinstanz auf dem Datenbankserver kommuniziert und auf Grundlage des iDB-Protokolls Blöcke an Datenbanken übergibt. Sie stellt die erweiterten Funktionen zum Auslagern von SQL bereit, überträgt Oracle-Blöcke, wenn es nicht möglich ist, die SQL-Verarbeitung auszulagern, und implementiert die DBRM I/O Resource Management- Funktionen, um die I/O-Bandbreite an die verschiedenen Datenbanken und Nutzungsgruppen, die I/O ausgeben, zu verteilen. Bei zwei weiteren Komponenten der Oracle-Software, die auf der Zelle ausgeführt werden, handelt es sich um Management Server (MS) und Restart Server (RS). MS ist die primäre Schnittstelle, um den Status der Exadata-Zelle zu administrieren, zu verwalten und abzufragen. MS funktioniert zusammen mit der Exadata-Befehlszeilenschnittstelle (CLI) und dem EM Exadata-Plug-In und stellt die Funktionen für die eigenständige Verwaltung und Konfiguration der Exadata-Zelle bereit. Beispielsweise werden von der Zelle CLI-Befehle zur Konfiguration von Storage, Abfrage der I/O-Statistiken und einem Neustart der Zelle ausgegeben. Zum Umfang gehört auch eine verteilte CLI, mit der es möglich ist, Befehle an mehrere Zellen zu senden, um die zellenübergreifende Verwaltung zu erleichtern. Restart Server (RS) sorgt dafür, dass die Exadata-Software und Services fortwährend funktionieren. Sie wird auch zur Aktualisierung der Exadata-Software verwendet. Die Software organisiert zudem, dass die Storage-Services gestartet werden und laufen, und startet bei Bedarf die Services neu. Exadata Smart Scan Processing Bei traditionellem, nicht iDB-fähigem Speicher befindet sich die gesamte Datenbanklogik in der Datenbanksoftware auf dem Server. Das nachfolgende Beispiel eines Tabellen-Scans dient als Illustration, wie die SQL-Verarbeitung unter dieser Architektur durchgeführt wird. 14
Whitepaper — Ein technischer Überblick über den Sun Oracle Exadata Storage Server Abb. 5: Traditionelles Modell für Datenbank-I/O und SQL-Verarbeitung X Der Client gibt eine SELECT-Anweisung mit einem Prädikat aus, damit die Daten gefiltert und nur die gewünschten Zeilen zurückgegeben werden. Y Der Datenbank-Kernel ordnet diese Anfrage der Datei und den Bereichen zu, die die zu scannende Tabelle enthalten. Z Der Datenbank-Kernel gibt die I/O zum Lesen der Blöcke aus. [ Alle Blöcke der abgerufenen Tabelle werden in den Speicher gelesen. \ Anschließend erfolgt die SQL-Verarbeitung in den Raw-Blöcken, wobei nach den Zeilen gesucht wird, die das Prädikat erfüllen. ] Zuletzt werden die Zeilen an den Client zurückgegeben. Bei großen Abfragen wird der größte Teil der gelesenen Zeilen durch das Prädikat herausgefiltert. Trotzdem müssen alle Blöcke aus der Tabelle gelesen, über das Storage-Netzwerk übertragen und in den Arbeitsspeicher kopiert werden. Es werden viel mehr Zeilen in den Speicher gelesen, als für die gewünschte SQL-Operation erforderlich wäre. Dabei werden viele Datentransfers generiert, die Bandbreite verbrauchen und Durchsatz und Antwortzeit der Anwendung beeinträchtigen. Durch die Integration der Datenbankfunktionalität in die Speicherungsschicht des Datenbank- Stacks können Abfragen und andere Datenbankoperationen sehr viel effizienter ausgeführt werden. Indem die Datenbankfunktionalität so nahe wie möglich an der Hardware implementiert wird – im Fall von Exadata auf Datenträgerebene – können Datenbankoperationen dramatisch beschleunigt und der Systemdurchsatz erhöht werden. Mit Exadata-Storage werden Datenbankoperationen sehr viel effizienter verarbeitet. Wenn eine Abfrage einen Tabellen-Scan durchführt, kann sie innerhalb von Exadata verarbeitet werden. Dabei wird nur die erforderliche Teilmenge der Daten an den Datenbankserver zurückgegeben. Zeilenfilterung, Spaltenfilterung und die Verarbeitung einiger Join-Operationen (neben anderen 15
Whitepaper — Ein technischer Überblick über den Sun Oracle Exadata Storage Server Funktionen) werden innerhalb der Exadata-Storage-Zellen ausgeführt. Wenn das passiert, werden nur die relevanten und erforderlichen Daten an den Datenbankserver zurückgegeben. Abbildung 6 illustriert, wie ein Tabellen-Scan im Exadata-Storage ausgeführt wird. Abb. 6: Ausgelagerte Smart-Scan-Verarbeitung X Der Client gibt eine SELECT-Anweisung mit einem Prädikat aus, damit die Daten gefiltert und nur die gewünschten Zeilen zurückgegeben werden. Y Der Datenbank-Kernel bestimmt, ob der Exadata-Storage verfügbar ist, konstruiert einen iDB-Befehl, der den ausgegebenen SQL- Befehl repräsentiert und sendet diesen an den Exadata-Storage. Z Die CELLSRV-Komponente der Exadata-Software scannt die Datenblöcke, um die Zeilen und Spalten zu identifizieren, die die ausgegebene SQL-Abfrage erfüllen. [ Nur Zeilen, die das Prädikat erfüllen und die gewünschten Spalten werden in den Speicher gelesen. \ Der Datenbank-Kernel konsolidiert die Ergebnissätze von den Exadata-Zellen. ] Zuletzt werden die Zeilen an den Client zurückgegeben. Smart-Scans sind für die Anwendung transparent, und es ist nicht erforderlich, Änderungen an der Anwendung oder dem SQL-Code vorzunehmen. SQL EXPLAIN PLAN zeigt an, wenn Exadata Smart Scan verwendet wird. Die zurückgegebenen Daten entsprechen in allen Punkten und im Hinblick auf Transaktionen der Lese-Funktionalität und dem Verhalten der Oracle- Datenbank. Wenn eine Zelle während einer Smart-Scan-Operation ausfällt, können die noch nicht abgeschlossenen Teile des Smart Scan transparent an eine andere Zelle weitergeleitet und dort abgeschlossen werden. Smart Scans sind in der Lage, die komplexen internen Mechanismen der Oracle-Datenbank richtig zu verarbeiten. Dazu gehören u. a.: nicht festgeschriebene Daten und gesperrte Zeilen, verkettete Zeilen, komprimierte Tabellen, Verarbeitung in der Landessprache, Datenarithmetik, Suchen mit regulären Ausdrücken, Materialized Views und partitionierte Tabellen. 16
Whitepaper — Ein technischer Überblick über den Sun Oracle Exadata Storage Server Die Oracle-Datenbank und der Exadata-Server führen gemeinsam verschiedene SQL- Anweisungen aus. Indem die SQL-Verarbeitung vom Datenbankserver ausgelagert wird, werden Server-CPU-Zyklen freigegeben und ein großer Teil des Bandbreitenverbrauchs wird eingespart. Diese Ressourcen sind dann verfügbar, um für andere Anfragen einen besseren Service bereitzustellen. SQL-Operationen werden schneller ausgeführt und es können mehr Operationen gleichzeitig laufen, da weniger von der I/O-Bandbreite benötigt wird. Wir werden uns nun mit verschiedenen SQL-Operationen beschäftigen, die vom Einsatz von Exadata profitieren. Prädikatfilterung für Smart-Scan Exadata unterstützt die Prädikatfilterung für Tabellen-Scans. Anders als bei der traditionellen Methode, bei der alle Zeilen in einer Tabelle an den Datenbankserver zurückgegeben werden, werden nur die gewünschten Zeilen zurückgegeben. Wenn z. B. die folgende SQL-Anweisung ausgegeben wird, werden von Exadata nur die Zeilen an die Datenbankinstanz gesendet, in denen das Einstelldatum später als das angegebene Datum ist. SELECT * FROM employee_table WHERE hire_date > ‘1-Jan-2003’; Durch die Möglichkeit, nur die relevanten Zeilen an den Server zurückzugeben, wird die Datenbankleistung deutlich verbessert. Diese Leistungsverbesserung trifft auch auf komplexere Abfragen zu, einschließlich Abfragen mit Unterabfragen. Spaltenfilterung für Smart-Scan Exadata stellt für Tabellen-Scans Spaltenfilterung – Spaltenprojektion genannt – bereit. Anders als bei der traditionellen Methode, bei der alle Spalten in einer Tabelle an den Datenbankserver zurückgegeben werden, werden nur die gewünschten Spalten zurückgegeben. Wenn z. B. die folgende SQL-Anweisung ausgegeben wird, werden von Exadata nur die Spalten employee_name und employee_number columns an den Datenbank-Kernel zurückgegeben. SELECT employee_name, employee_number FROM employee_table; Bei Tabellen mit vielen Spalten oder Spalten mit LOBs (großen Objekten) kann die eingesparte I/O-Bandbreite sehr groß sein. Wenn Prädikat- und Spaltenfilterung gemeinsam verwendet werden, wird die Leistung dramatisch verbessert und der Verbrauch der I/O-Bandbreite reduziert. Darüber hinaus trifft die Spaltenfilterung auch auf Indizes zu und ermöglicht so eine noch schnellere Abfrageleistung. Verarbeitung von Join-Anweisungen mit Smart Scan Exadata führt Joins zwischen großen Tabellen und kleinen Lookup-Tabellen durch. Dabei handelt es sich um ein häufiges Szenarium für Data Warehouses mit Star-Schemata. Die Implementierung erfolgt mit Hilfe von Bloom-Filtern, einer effizienten probabilistischen Methode zur Ermittlung dessen, ob es sich bei einer Zeile um einen Bestandteil eines gewünschten Ergebnissatzes handelt. 17
Whitepaper — Ein technischer Überblick über den Sun Oracle Exadata Storage Server Neue Offload-I/O-Optimierungen und Funktionen für Smart-Scan Bei Oracle Database 11g Release 2 werden mehrere neue, leistungsfähige Smart-Scan- und Offload-Funktionen für Exadata-Storage bereitgestellt. Dazu gehören: Technologie zur Storage- Indizierung, Smart-Scan-Offload der neuen Hybrid Columnar Compressed Tables, Smart-Scan- Offload der verschlüsselten Tablespaces und Spalten und Auslagerung der Data Mining-Modell- Bewertung. Storage-Indizierung Storage-Indizes stellen eine sehr leistungsfähige Funktionalität dar, die im Exadata-Storage bereitgestellt werden und dazu beitragen, dass I/O-Operationen vermieden werden. Die Exadata Storage-Server-Software erstellt und verwaltet einen Storage-Index im Exadata-Speicher. Der Storage-Index überwacht die minimalen und maximalen Werte der Spalten für Tabellen, die in der Zelle gespeichert sind. Wenn in einer Abfrage eine WHERE-Klausel spezifiziert wird, untersucht – noch bevor eine I/O-Operation durchgeführt wird – die Exadata-Software den Storage-Index, um zu ermitteln, ob die Zeilen mit dem angegebenen Spaltenwert in der Zelle vorhanden sind, indem der Spaltenwert mit den minimalen und maximalen Werten verglichen wird, die im Storage-Index verwaltet werden. Wenn sich der Spaltenwert außerhalb des minimalen oder maximalen Bereichs befindet, wird für diese Abfrage Scan I/O vermieden. Viele SQL-Operationen werden extrem schneller ausgeführt, weil viele I/O-Operationen automatisch durch einige wenige speicherinterne Lookups ersetzt werden. Um den Aufwand für Operationen zu minimieren, werden Storage-Indizes automatisch transparent von der Exadata Storage-Server- Software erstellt und verwaltet. Smart Scan von Hybrid Columnar Compressed Tables Eine weitere neue Funktion von Oracle Database 11g Release 2 sind die Hybrid Columnar Compressed Tables. Diese neuen Tabellen bieten ein hohes Maß an Komprimierung für Daten, die im Bulk Load-Verfahren geladen und abgefragt werden. Die Smart-Scan-Verarbeitung von Hybrid Columnar Compressed Tables wird bereitgestellt und Spaltenprojektion und Filterung werden innerhalb von Exadata ausgeführt. Darüber hinaus wird die Dekomprimierung der Daten nach Exadata ausgelagert, um die CPU-Auslastung auf den Datenbankservern zu reduzieren. Unter der Annahme, dass die Hybrid Columnar Compressed Tables um den Faktor 10 komprimiert sind, wird die I/O-Rate im Vergleich zu den unkomprimierten Daten das Zehnfache betragen. Smart-Scan der verschlüsselten Tablespaces und Spalten Neu in Exadata ist die Smart-Scan-Offload-Verarbeitung von verschlüsselten Tablespaces (TSE) und verschlüsselten Spalten (TDE). Zwar haben die früheren Releases von Exadata den Einsatz von TSE und TDE vollständig unterstützt, so konnten sie jedoch noch nicht von der Exadata- 18
Whitepaper — Ein technischer Überblick über den Sun Oracle Exadata Storage Server Offload-Verarbeitung profitieren. Durch diese Erweiterung wird nunmehr die Leistung beim Zugriff auf vertrauliche Daten verbessert. Entladen der Data-Mining-Modell-Bewertung Eine weitere neue Funktion, die auf Exadata verlagert wurde, ist die Data-Mining-Modell- Bewertung. Dadurch gewährt die Bereitstellung von Data-Warehouses auf Exadata oder Database Machine eine noch bessere und dauerhaftere Datenanalyseplattform. Alle Data-Mining- Bewertungsfunktionen (z. B. prediction_probability) werden auf Exadata zur Verarbeitung verlagert. Dies beschleunigt nicht nur die Geschwindigkeit der Warehouse-Analyse, sondern reduziert den CPU-Verbrauch des Datenbankservers und die I/O-Belastung zwischen Datenbank-Server und Exadata-Storage. Weitere Exadata Smart-Scan-Verarbeitung Zwei weitere Datenbankoperationen, die auf Exadata ausgelagert wurden, sind inkrementelle Datenbank-Backups und die Erstellung von Tablespaces. Die Geschwindigkeit und Effizienz der inkrementellen Datenbank-Backups wurde mit Exadata signifikant verbessert. Die Granularität der Änderungsverfolgung in der Datenbank ist deutlich feiner bei Verwendung von Exadata- Storage. Änderungen mit Exadata werden auf Ebene des individuellen Oracle-Blocks und nicht auf Ebene einer großen Gruppe von Blöcken aufgezeichnet. Daraus resultieren ein geringerer I/O-Bandbreitenverbrauch und eine schnellere Ausführung von Datensicherungen. Mit Exadata werden auch Dateien effizienter erstellt. Wenn z. B. der Befehl „Create Tablespace“ ausgegeben wird, wird dieser Befehl nicht synchron für jeden Block des im Serverspeicher formatierten neuen Tablespace ausgeführt und in den Speicher geschrieben, sondern ein iDB- Befehl, mit den Anweisungen, den Tablespace zu erstellen und die Blöcke zu formatieren, wird an Exadata gesendet. Die Belegung von Host-Speicher wird reduziert und mit dem Anlegen und Formatieren der Tablespace-Blöcke verbundenes I/O wird ausgelagert. Da bei diesen Operationen I/O-Bandbreite eingespart wird, ist mehr Bandbreite für andere geschäftsentscheidende Aufgaben verfügbar. I/O-Ressourcenmanagement mit Exadata Beim traditionellen Speicher wird das Anlegen eines Shared-Storage-Grid dadurch beeinträchtigt, dass es unmöglich ist, Prioritäten für die verschiedenen Jobs und Benutzer festzulegen, die I/O- Bandbreite aus dem Storage-Subsystem verbrauchen. Dasselbe trifft zu, wenn mehrere Datenbanken sich ein Storage-Subsystem teilen. Die Funktionen von DBRM und der I/O- Ressourcenverwaltung können verhindern, dass eine Arbeitsklasse oder Datenbank die Datenträgerressourcen und Bandbreite monopolisiert, und stellt sicher, dass benutzerdefinierte SLAs bei der Verwendung von Exadata-Storage erfüllt werden. Der DBRM ermöglicht die Koordinierung und Priorisierung von I/O-Bandbreite, die von den verschiedenen Datenbanken bzw. verschiedenen Benutzern oder Arbeitsklassen verbraucht wird. Durch die enge Integration 19
Whitepaper — Ein technischer Überblick über den Sun Oracle Exadata Storage Server der Datenbank in die Storage-Umgebung erkennt Exadata die Arten von Arbeiten und wie viel I/O-Bandbreite verbraucht wird. Folglich können Benutzer das Exadata-System einsetzen, um die verschiedenen Arten von Arbeitslasten zu identifizieren, diesen Arbeitslasten Prioritäten zuzuweisen und sicherzustellen, dass die wichtigsten Arbeitslasten vorrangig behandelt werden. In einem Data-Warehouse oder in Umgebungen mit gemischten Arbeitslasten sollten Sie u. U. gewährleisten, dass verschiedenen Benutzern und Aufgaben innerhalb einer Datenbank der korrekte relative Betrag der I/O-Ressourcen zugewiesen wird. Beispielsweise können Sie 70 % der I/O-Ressourcen interaktiven Benutzern im System und 30 % der I/O-Ressourcen den Batch-Jobs für die Berichterstellung zuteilen. Mit DBRM und den Funktionen der I/O- Ressourcenverwaltung können Vorgaben ohne großen Aufwand im Exadata-Storage durchgesetzt werden. Ein Exadata-Administrator kann einen Ressourcenplan erstellen, in dem festgelegt ist, wie die I/O-Anforderungen priorisiert werden sollten. Dies wird durch die Gruppierung von verschiedenen Arbeitsarten in sogenannte Nutzungsgruppen erreicht. Nutzungsgruppen werden durch mehrere Attribute definiert, inkl. des Benutzernamens, des Namens des Client- Programms, der Funktion und der Zeitdauer, während der die Abfrage bereits läuft. Nach der Definition dieser Nutzungsgruppen kann der Benutzer in einer Hierarchie festlegen, welche Nutzungsgruppe Vorrang bei den I/O-Ressourcen erhält und wie viele I/O-Ressourcen jeder Nutzungsgruppe zugeteilt werden. Diese Hierarchie zur Bestimmung der Priorisierung der I/O- Ressourcen kann gleichzeitig auf Intra-Datenbank-Operationen (d. h. Operationen, die innerhalb einer Datenbank vorkommen) und Inter-Datenbank-Operationen (d. h. Operationen, die zwischen verschiedenen Datenbanken vorkommen) angewendet werden. Wenn der Exadata-Storage gleichzeitig von mehreren Datenbanken verwendet wird, können Sie die Zuordnung der I/O-Ressourcen zu einer Datenbank priorisieren, um zu verhindern, dass eine Datenbank die Datenträgerressourcen und Bandbreite monopolisiert und die benutzerdefinierten SLAs erfüllt werden. Wie in der nachfolgenden Abbildung können Sie z. B. zwei Datenbanken haben, die sich den Exadata-Storage teilen. 20
Whitepaper — Ein technischer Überblick über den Sun Oracle Exadata Storage Server Database A Database B (Single-Instance) (RAC) Exadata Cell Exadata Cell Exadata Cell Abb. 7: Inter-Datenbank-I/O-Ressourcenverwaltung mit Exadata Die Geschäftsziele bestimmen, dass jede dieser Datenbanken einen relativen Wert und eine relative Bedeutung für die Organisation haben. Es wird festgelegt, dass Datenbank A 33 % der verfügbaren Gesamt-I/O-Ressourcen und Datenbank B 67 % der Gesamt-I/O-Ressourcen erhalten sollen. Um sicherzustellen, dass den verschiedenen Benutzer und Aufgaben innerhalb jeder Datenbank der richtige relative Wert der I/O-Ressourcen zugeordnet wird, werden verschiedene Nutzungsgruppen definiert. 21
Whitepaper — Ein technischer Überblick über den Sun Oracle Exadata Storage Server • Für Datenbank A werden zwei Nutzungsgruppen definiert. • 60 % der I/O-Ressourcen werden für interaktive Marketing-Aktivitäten reserviert. • 40 % der I/O-Ressourcen werden für Batch-Marketing-Aktivitäten reserviert. • Für Datenbank B werden drei Nutzungsgruppen definiert. • 60 % der I/O-Ressourcen werden für interaktive Vertriebs-Aktivitäten reserviert. • 30 % der I/O-Ressourcen werden für Batch-Vertriebs-Aktivitäten reserviert. • 10 % der I/O-Ressourcen werden für Key-Account-Vertriebsaktivitäten reserviert. Diese Nutzungsgruppenzuweisungen erfolgen relativ zu den Gesamt-I/O-Ressourcen, die jeder Datenbank zugeordnet werden. Im Wesentlichen hat Exadata I/O Resource Manager eine der Herausforderungen gelöst, die von der traditionellen Storage-Technologie vernachlässigt wurden: die Schaffung einer Shared- Storage-Grid-Umgebung mit der Möglichkeit, die Arbeit mehrerer Datenbanken und Benutzer, die sich gemeinsam das Storage-Subsystem teilen, auszugleichen und zu priorisieren. Die Exadata I/O-Ressourcenverwaltung stellt sicher, dass benutzerdefinierte SLAs für mehrere Datenbanken erfüllt werden, die sich den Exadata-Datenbankspeicher teilen. Dies stellt sicher, dass jede Datenbank oder jeder Benutzer den richtigen Anteil an der Datenträger-Bandbreite erhält, um die entsprechenden Geschäftsziele zu erfüllen. Leistungsbeschleunigung mit Exadata Exadata-Storage ermöglicht unübertroffene Leistungsverbesserungen für typische Arbeitslasten in einem Data-Warehouse. Bei vollständigen Tabellen-Scans werden unterschiedlich große Verbesserungen erzielt, die von der Smart-Scan-Filterung und der ausgeglichenen Hardware abhängen, die für die Exadata-basierten Data-Warehouses verwendet wurden. Die Exadata- Storage-Server stellen eine Skalierungsarchitektur in der Form bereit, dass sich die Bandbreite erhöht, wenn Zellen der Konfiguration hinzugefügt werden. Dies ermöglicht sehr große Leistungsverbesserungen, verbunden mit schnellen InfiniBand-Verbindungen und der Verringerung der übertragenen Datenmenge durch die ausgelagerte Verarbeitung. Im Vergleich des Exadata-Storage mit traditionellen Storage-Produkten, die mit der Oracle-Datenbank verwendet werden, wird häufig die zehnfache Geschwindigkeit bei diesen Operationen realisiert. In vielen Fällen können jedoch sogar Geschwindigkeitsverbesserungen im Bereich des 50-fachen oder darüber erreicht werden. Nachfolgend werden zwei reale Beispiele für Leistungsverbesserungen beschrieben. 22
Whitepaper — Ein technischer Überblick über den Sun Oracle Exadata Storage Server 28x Tablespace Creation Average Speedup Index Creation Handset to Customer Mapping Report CRM Customer Discount Report CRM Service Order Report Warehouse Inventory Report CDR Full Table Scan 0 10 20 30 40 50 60 70 80 Abb. 8: Leistungsverbesserung einer Telekommunikationsanwendung mit Exadata um den Faktor 10 bis 72 M e r c h a n d is in g L e v e l 1 D e t a il: P e r io d A g o M e r c h a n d is in g L e v e l 1 D e t a il: C urre nt - 52 w ee k s S u p p l y C h a in V e n d o r - Ye a r - I te m M o vem e nt M e rc ha ndi s i ng L ev e l 1 D e t ai l by W ee k M a t e r ia li ze d V ie w s R e b u ild D a te t o D a te M o v e m e n t C o m p a r is o n - 5 3 w e e k s P r o m p t 0 4 C lo n e f o r A C L a u d it 16x S a le s a n d C u s t o m e r C o u n t s Average G if t C a r d A c t iv a ti o n s Speedup R e c a ll Q u e r y - 5 .0 10 .0 1 5.0 20 .0 25 .0 3 0.0 35 .0 4 0 .0 4 5.0 50 .0 Abb. 9: Leistungsverbesserung einer Anwendung im Einzelhandel um den Faktor 3 bis 48 Virtualisierung des Exadata-Storage Exadata stellt viele komplexe und leistungsfähige Funktionen für die Virtualisierung der Storage- Verwaltung bereit, die auf den Stärken von Oracle Database, der Exadata-Software und der Exadata-Hardware aufbauen. Exadata Storage-Software Wie zuvor beschrieben, handelt es sich bei der Exadata-Zelle um einen Server, auf dem Oracle Enterprise Linux sowie die von Oracle bereitgestellte Exadata-Software ausgeführt wird. Beim ersten Start wird die Zelle wie jeder andere Computer im Exadata Storage-Service-Modus hochgefahren. Die ersten beiden Datenträger haben ein kleines logisches Einheitennummern- 23
Sie können auch lesen