EIN TECHNISCHER ÜBERBLICK ÜBER DEN SUN ORACLE EXADATA STORAGE SERVER - ORACLE WHITEPAPER SEPTEMBER 2009

Die Seite wird erstellt Holger Rupp
 
WEITER LESEN
EIN TECHNISCHER ÜBERBLICK ÜBER DEN SUN ORACLE EXADATA STORAGE SERVER - ORACLE WHITEPAPER SEPTEMBER 2009
Oracle Whitepaper
september 2009

Ein technischer Überblick
über den Sun Oracle Exadata
Storage Server
EIN TECHNISCHER ÜBERBLICK ÜBER DEN SUN ORACLE EXADATA STORAGE SERVER - ORACLE WHITEPAPER SEPTEMBER 2009
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