Thema: Anforderungen neuer DB Systeme durch Grid Computing Studienarbeit von Lars Franke aus Rudolstadt BERUFSAKADEMIE LÖRRACH – STAATLICHE STUDIENAKADEMIE – UNIVERSITY OF COOPERATIVE EDUCATION Ausbildungsbereich Wirtschaft Betreuende(r) Dozent(-in): Abgabetermin: Kurs: Fachrichtung Unternehmen Betreuer(in) im Betrieb: Dirk Ücker 8. März 2004 WWI01B Wirtschaftsinformatik Delta Energy Solution AG Jörg Sobottka Ehrenwörtliche Erklärung Ich versichere hiermit, dass ich meine Studienarbeit mit dem Thema Anforderungen neuer DB Systeme durch Grid Computing selbstständig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt habe. Basel, 08.04.2017 Anforderungen neuer DB Systeme durch Grid Computing 2 Kurzfassung In dieser Studienarbeit geht es hauptsächlich um Grid Computing und Datenbanken. Es wird kurz erklärt, was ein Cluster und ein Grid ist. Die Entwicklung dieser Techniken wird aufgezeigt. Daraufhin werden die Anforderungen an Datenbanken im Grid erarbeitet. Diverse Anforderungen im Bereich der Clustertechnik, der Informationsverwaltung, des Ressourcenmanagement, der Einhaltung von Standards, der Portabilität, Sicherheit sowie Selbstverwaltung werden erarbeitet. Alle diese Punkte werden durch spezielle Techniken umgesetzt und optimiert. Einen grossen Teil der Arbeit ist die Umsetzung dieser Anforderungen durch die Firma Oracle Mit deren neuer Datenbank 10g, einer Grid – fähige Datenbank, sollen neue Leistungsressourcen ausgeschöpft werden. Die Datenbank selbst bringt schon viele Werkzeuge mit, um einen Grid zu realisieren. Der Leser soll einen Eindruck erhalten über die unterschiedlichen Werkzeuge von Oracle, und ob die erarbeiteten Anforderungen erfüllt wurden. Anforderungen neuer DB Systeme durch Grid Computing 3 Inhaltsverzeichnis Seite Ehrenwörtliche Erklärung ...................................................................................2 Kurzfassung.........................................................................................................3 Abkürzungsverzeichnis ......................................................................................6 Abbildungsverzeichnis .......................................................................................7 Tabellenverzeichnis.............................................................................................8 1 Einleitung.....................................................................................................9 1.1 1.2 1.3 1.4 Motivation............................................................................................................. 9 Problemstellung und -abgrenzung ..................................................................... 9 Ziel der Arbeit..................................................................................................... 10 Vorgehen ............................................................................................................ 10 2 Grundlagen ................................................................................................ 11 2.1 2.2 2.3 2.4 Definition von Clustern und Grid Computing ................................................... 11 Entstehung von Clustering und Grid Computing ............................................. 11 Die Entwicklung von Grid Computing .............................................................. 12 Grid Computing als Nachfolger des Internet ................................................... 13 3 Anforderungen an Datenbanken im Grid ................................................14 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 Anforderungen an die Clustertechnik .............................................................. 14 Anforderungen an die Informationsverwaltung............................................... 15 Anforderungen an Ressourcenmanagement ................................................... 15 Anforderung an Einhaltung von Standards ..................................................... 15 Anforderungen an die Portabilität .................................................................... 16 Anforderungen an die Sicherheit...................................................................... 16 Anforderungen an ein Selbstverwaltendes System ........................................ 17 Zusammenfassung ............................................................................................ 18 4 Lösungskonzept am Beispiel von Oracle 10g, Grid Datenbank ...........19 4.1 4.2 4.3 Oracle Real Application Cluster (RAC) ............................................................. 19 Resonanzen ....................................................................................................... 20 Informationsaustausch bei Oracle ................................................................... 21 4.3.1 Oracle Transportable Tablespaces ........................................................... 21 4.3.2 Oracle Streams ........................................................................................ 21 4.3.3 Distributed SQL und Distributed Transactions .......................................... 21 4.3.4 Heterogener Zugang mit gewöhnlichen Verbindungen und transparentem Gateways ................................................................................................. 22 4.3.5 Externe Tabellen und BFILES................................................................... 22 Scheduling und Ressourcenmanagement ....................................................... 22 Einhaltung von Standards ................................................................................. 23 Portabilität .......................................................................................................... 23 Sicherheitsmechanismen .................................................................................. 24 4.7.1 Enterprise User Security........................................................................... 24 4.7.2 Virtual Private Database ........................................................................... 24 4.7.3 Oracle Label Security ............................................................................... 24 4.4 4.5 4.6 4.7 Anforderungen neuer DB Systeme durch Grid Computing 4 4.8 4.9 Selbst verwaltende Datenbank ......................................................................... 24 4.8.1 Höchste Verfügbarkeit .............................................................................. 25 4.8.2 Selbst führend .......................................................................................... 25 4.8.3 Oracle Enterprise Manager Grid Control .................................................. 25 Zusammenfassung ............................................................................................ 26 5 Erreichte Ergebnisse und Ausblick .........................................................27 5.1 5.2 Erreichte Ergebnisse ......................................................................................... 27 Ausblick ............................................................................................................. 27 Quellenverzeichnis ............................................................................................28 Stichwortverzeichnis.........................................................................................29 Anforderungen neuer DB Systeme durch Grid Computing 5 Abkürzungsverzeichnis IT Informations Technologie TCO Total Cost of Ownership SMP Symmetric Multiprocessing SQL Structured Query Language ODBC Open Database Connectivity OLEDB Object Linking and Embedding Database SDK Software Developement Kit DBA Database Administrator OEMGC Oracle Enterprise Manager Grid Control SSL Secure Socket Layer GGF Global Grid Forum DB Datenbank DBMS Datenbank Management System z.B. zum Beispiel RAC Real Application Cluster Usw. Und so weiter PL/SQL Programming Language / Structured Query Language API Application Programming Interface VPD Virtual Private Database GUI Graphical User Interface Anforderungen neuer DB Systeme durch Grid Computing 6 Abbildungsverzeichnis Seite Abbildung 1: Die Entwicklung von Grid Computing ..................................................... 12 Abbildung 2: Shared Disk vs. Shared Nothing Architektur ........................................... 20 Anforderungen neuer DB Systeme durch Grid Computing 7 Tabellenverzeichnis Seite Tabelle 1: Anforderungen von DB Systemen im Grid................................................... 18 Anforderungen neuer DB Systeme durch Grid Computing 8 1 Einleitung 1.1 Motivation Zur heutigen Zeit ist es normal, dass Informationen über das Internet ausgetauscht werden. Doch was wäre, wenn die heutige Infrastruktur des Internet noch effektiver genutzt werden könnte? Es ist heute schon möglich über das Internet nicht nur Informationen, sondern auch Rechenleistung oder Speicherkapazität gemeinsam zu nutzen. So könnten ungenutzte Ressourcen mehrerer Computer zur Verfügung gestellt werden, um einen ausgelasteten Rechner zu entlasten. Datenbanken benötigen immer sehr viele Ressourcen, da sie grosse Datendateien möglichst schnell bearbeiten müssen. Für Datenbankanwendungen ist es also ein sehr grosser Vorsprung, wenn auch die Ressourcen von anderen Rechnern mitgenutzt werden können. Dadurch können nicht nur die vorhandenen IT - Systeme effizient genutzt werden, es folgt auch automatisch eine Senkung der TCO im IT Bereich. Grid Computing ist der Nachfolger des Internet. Das ist bei vielen Firmen zu sehen. Oracle ändert z.B. den Namen seiner neusten Datenbank von ursprünglich Oracle 9i (i wie Internet) nach Oracle 10g (g wie Grid Computing). Auch für IBM ist Grid Computing eine Schlüsseltechnologie, hier werden jährlich mehr als 4 Mrd. $ in Grid Computing investiert. Grid Computing basiert auf offene Standards und ist eine zukunftsfähige Technologie. Wer sich mit Grid Technologien beschäftigt, kann mit Sicherheit einen Nutzen daraus ziehen. 1.2 Problemstellung und -abgrenzung „Datenbanksysteme finden ihren Einsatz in bestimmten Gebieten, in denen sie möglichst aktuelle Auskünfte über deren Sachverhalte und Vorgänge geben sollen. Um diese Auskünfte geben zu können, bedarf es einer sehr hohen Performanz sowie Ausfallsicherheit des Systems. Die benötigte Performanz und Geschwindigkeit, aber auch die Verfügbarkeit des Systems wird einerseits durch die entsprechende Hardware garantiert, andererseits ist eine möglichst zielbewusste Einteilung der vorhandenen Ressourcen unabdingbar.“1 In der Vertiefungsarbeit des Autors vom 28.07.2003 mit dem Titel „Architekturen von SQL Datenbankservern“ wurde näher auf die Einteilung der vorhandenen Ressourcen eines einzelnen Datenbankservers eingegangen. In der heutigen Arbeit stehen die Optimierung der Hardware durch Clustering genauso wie die 1 Zitat von [LAFR03], Seite 9 Anforderungen neuer DB Systeme durch Grid Computing 9 ERROR! USE THE HOME TAB TO APPLY ÜBERSCHRIFT 1 TO THE TEXT THAT YOU WANT TO APPEAR HERE. Einteilung der vorhandenen Ressourcen im Cluster oder Grid im Mittelpunkt. Während in der Vertiefungsarbeit die Prozesse eines einzelnen Datenbankservers diskutiert wurden, liegt nun der Fokus auf den Prozessen zwischen mehreren Servern, die gemeinsam vorhandene Aufgaben im Computergrid lösen. Um die Komplexität der Prozesse zu verdeutlichen, werden die Anforderungen an ein Datenbanksystem im Grid herausgearbeitet. Deren Umsetzung wird anschliessend am Beispiel von Oracle 10g verdeutlicht. 1.3 Ziel der Arbeit Ziel der Arbeit ist es, die Anforderungen von Datenbanksystemen im Computergrid herauszuarbeiten. Zu Beginn werden die Grundlagen des Grid Computing behandelt. Die Umsetzung der Anforderungen sollen am Beispiel von Oracle Datenbank 10g, der neuen Grid fähigen Datenbank von Oracle, erläutert werden. Am Ende der Arbeit sollte sich der Leser ein Urteil bilden können, ob mit dieser Datenbank ein Grid – fähiges System ermöglicht wurde. 1.4 Vorgehen Die Arbeit beginnt mit einer kurzen Definition von Clustering und Grid Computing, da diese beiden Begriffe sehr nah beieinander liegen. Weiterhin soll kurz auf die Entstehung von Clustering und Grid Computing sowie die weitere Entwicklung von Grid Computing eingegangen werden. Es wird gezeigt, wieso Grid Computing der Nachfolger des Internet ist. Nach der Einleitung werden die Anforderungen an Datenbanken im Grid erarbeitet. Die Anforderungen beziehen sich vor allem auf die Bereiche der Clustertechnik, der Informationsverwaltung, des Ressourcenmanagement, der Portabilität, der Sicherheit und der Selbstverwaltung des Systems. Weiterhin wird gezeigt welche Standards vorhanden sind. Die Wichtigkeit der Einhaltung von Standards wird erläutert. Im Lösungskonzept wird gezeigt, wie die Firma Oracle mit ihrer neuen Datenbank 10g diese Anforderungen umgesetzt hat und welche Werkzeuge dafür eingesetzt bzw. entwickelt wurden. Auch die Hardwareanforderungen werden aufgezeigt. Im letzten Teil der Arbeit werden die erreichten Ergebnisse zusammengefasst. Ein Blick in die Zukunft soll die weitere Entwicklung von Grid Computing andeuten. Anforderungen neuer DB Systeme durch Grid Computing 10 2 Grundlagen 2.1 Definition von Clustern und Grid Computing Mehrere Rechner gemeinsam zu nutzen ist keine neue Idee. In vielen Forschungszentren oder grossen Rechenzentren werden mehrere Computer zu einem Cluster zusammengefügt. „In a computer system, a cluster is a group of servers and other resources that act like a single system and enable high availability and, in some cases, load balancing and parallel processing.” 2 Ein Cluster ist also eine Gruppe von Servern, z.B. in einem Serverschrank, die zusammen wie ein einzelnes System agieren und somit eine hohe Verfügbarkeit garantieren. In einigen Fällen ist es möglich, die Rechenleistung zu verteilen, oder bestimmte Berechnungen parallel zu verarbeiten. Bei Grid Computing werden hingegen die freien Ressourcen von allen Rechnern im Intranet oder sogar im Internet genutzt. „Grid Computing (englisch: "Gitter-Berechnung") bezeichnet alle Methoden, die Rechenleistung vieler Computer innerhalb eines Netzwerkes so zusammenzufassen, dass über den reinen Datenaustausch hinaus die (parallele) Lösung von extrem rechenintensiven Problemen ermöglicht wird (verteiltes Rechnen). Aus jedem Computer in dem "Gitter" wird gewissermaßen eine, den anderen Einheiten gleichgestellte, CPU mitsamt Speicher. So kann - im Prinzip - sowohl die Kapazität als auch die Rechenleistung von heutigen Supercomputern zu deutlich geringeren Kosten übertroffen werden.“3 Wie dieses Zitat zeigt, handelt es sich bei Grid Computing um einen günstigen Weg, viel Rechenleistung zur Verfügung zu stellen. Weiterhin ist das System sehr ausfallsicher, es spielt eine geringe Rolle wenn ein Rechner im Grid ausfällt, da die anderen Rechner dessen Arbeit übernehmen können. 2.2 Entstehung von Clustering und Grid Computing Der erste Cluster wurde von IBM in den 70er Jahren für die Airforce entwickelt. Einen deutlichen Einfluss in dieser Zeit hatte die Entwicklung von Personalcomputern, das erste multitaskingfähige Unix System und die Verabschiedung von Ethernet als Standard für lokale Netzwerke. Bereits Anfang der 90er Jahre entstand mit den ersten Client-Server Architekturen die Vorstellung für Grid Computing. Das Wort Grid kann analog zum Stromnetz (engl. Power Grid) 2 3 Zitat aus [WHAT04] Zitat aus [NETL04] Anforderungen neuer DB Systeme durch Grid Computing 11 ERROR! USE THE HOME TAB TO APPLY ÜBERSCHRIFT 1 TO THE TEXT THAT YOU WANT TO APPEAR HERE. gesehen wurde. Vorerst kam es zum Clustering, wobei mehrere Computer für einzelne Aufgaben zusammen zur Verfügung gestellt werden. Bei Grid Computing im heutigen Sinne werden mehrere verschiedene Rechner, egal ob Supercomputer oder Desktop, zu einem virtuellen Supercomputer verbunden. Dabei spielt keine Rolle, ob die Rechner lokal oder global verteilt sind. 2.3 Die Entwicklung von Grid Computing Abbildung 1: Die Entwicklung von Grid Computing In dieser Grafik sind verschiedene Stufen der Entwicklung von Grid Computing zu sehen. Der Nutzenwert von Grid Computing steigt im Laufe der Zeit immer mehr. Der erste Abschnitt der Grid Entwicklung wird hier als Cluster bezeichnet. Cluster Grids sind heute bereits realisiert. Die Verteilung von Jobs und das Bereitstellen einer Verarbeitungswarteschlange in einem Cluster System sind hier das Hauptaugenmerk. Der zweite Schritt sind die Intra Grids. Es handelt sich um Standortunabhängige Grids in einem Firmennetzwerk. Eine wichtige Rolle spielen hier die Sicherheitsaspekte und einheitliche Authentifizierung. In den Intra Grids stehen erweiterte Möglichkeiten, wie die Lastverteilung zur Verfügung. Die CPU Last wird in einem Verteilten System koordiniert, der Nutzenwert solcher Systeme ist bereits höher als bei Clustern. Die Extra Grids sind unternehmensübergreifende Grids. Hier spielt die IT Infrastruktur von mehreren Partnerunternehmen zusammen. Eine Lastverteilung zwischen allen Beteiligten erfordert neue Sicherheitsmassnahmen, die Leistung des Systems steigt allerdings enorm. Der letzte Schritt ist derzeit noch ein langfristiges Ziel – die Inter Grids oder auch Wide Area Service Grids, die ein regionales, nationales oder sogar globales Ausmass haben sollen. Diese Anforderungen neuer DB Systeme durch Grid Computing 12 ERROR! USE THE HOME TAB TO APPLY ÜBERSCHRIFT 1 TO THE TEXT THAT YOU WANT TO APPEAR HERE. Stufe bezeichnet den eigentlichen Wunschtraum von Grid Computing. Dieser ist ein Netzwerk, in dem Rechen- oder Speicherleistung genau so bezogen werden kann wie Strom aus der Steckdose. Es könnte wie ein Pear to Pear Netzwerk sein, in dem jeder Benutzer gewisse Dateien für den Upload freigibt und dafür andere Dateien von anderen Benutzern herunterladen darf. Der einzige Unterschied ist, dass im Pear to Pear Netzwerk Dateien getauscht werden und im Grid Netzwerk die Rechen- und Speicherleistung. 2.4 Grid Computing als Nachfolger des Internet Die Zeit ist reif für Grid Computing. Folgende Punkte unterstreichen die unaufhaltsame Nachfolge des Internet in Form von Grid Computing In heutigen Unternehmen muss auf Erschwinglichkeit geachtet werden. Die Kosten sollen möglichst gering sein und die Effizienz möglichst hoch. Genau das soll durch Grid Computing ermöglicht werden, indem die Leistung von sonst ungenutzter Hardware effizient genutzt wird. Statt ungenutzten Computerinseln entsteht ein virtueller Supercomputer, zusammengesetzt aus den einzelnen Rechnern des Unternehmens. Bei der Hardware werden heute überall Blades angeboten. Bei Blades handelt es sich um günstige und ausbaufähige Hardware, Blades werden in so genannte Blade Farmen montiert. Miteinander verbunden entsteht aus der Blade Farm ein Computer Cluster, der leicht durch weitere Blades erweitert werden kann. Durch die Nutzung von Grid Computing entsteht ein sehr leistungsfähiges und erweiterbares Computersystem. Im Softwarebereich wächst Linux schneller als jedes andere Betriebssystem. Heutzutage ist Linux noch nicht fähig, grosse SMP4 zu skalieren. Allerdings bei Blades mit 1 – 4 CPU, also kleine SMP, fühlt sich Linux schon heute heimisch. Die ökonomischen Aspekte von Blades, sowie die Verträglichkeit von Linux mit Blades wird Linux zu einem weitern Aufschub verhelfen. Ein weiterer grosser Vorteil von Linux ist dessen Preis. Deshalb werden sich Blade Cluster mit Linux immer mehr durchsetzen. Eines der neusten Modeworte in der Software- und Hardwareindustrie ist das Wort „Virtualisierung“. Doch nichts ist virtueller wie der Versorgungsbetrieb. Genau das ist eines der Ziele von Grid Computing, die Versorgung mit Rechenleistung bzw. Speicher. Grosse Unternehmen wie Oracle oder IBM beschäftigen sich immer mehr mit Grid Computing. Diese Unternehmen wirken im GGF5 zusammen, um sich auf Standardtechnologien zu einigen. IT Organisationen streben auch Grid Technologien an. Durch Grid Computing kann bestehende Hardware effektiv genutzt werden. So werden nutzlose Rechner genauso wie Rechner unter Volllast vermieden. Jeder Rechner im Unternehmen kann dadurch der gleichen Auslastung unterliegen. 4 SMP (Symmetric Multiprocessing) ist die Verarbeitung von Programmen mit mehreren Prozessoren, die sich das Betriebssystem und Hauptspeicher teilen. 5 Global Grid Forum, grosse Unternehmen der Software Industrie beschliessen Standards für Computergrids Anforderungen neuer DB Systeme durch Grid Computing 13 3 Anforderungen an Datenbanken im Grid 3.1 Anforderungen an die Clustertechnik Das Grid System baut auf einen Computercluster auf. In diesem Cluster befinden sich mehrere einzelne Rechner, die zusammen einen virtuellen Supercomputer bilden. Wenn die Auslastung des Systems steigt, müssen neue Rechner zum Cluster hinzugefügt werden bzw. wenn der Cluster zu wenig ausgelastet ist, können Rechner entfernt werden um andere Aufgaben zu erledigen. Dabei werden Techniken benötigt, die ein Entfernen oder Hinzufügen von Rechnern ermöglichen, ohne dass das komplette System heruntergefahren werden muss. Weiterhin ist es erstrebenswert, günstige Systeme im Cluster einzusetzen. Dabei kann es wiederum schneller zu Ausfällen von einzelnen Rechnern kommen. Es werden also Techniken benötigt, um die Daten auf den einzelnen Rechnern in einer gemeinsamen Datenbasis abzulegen. Dadurch wären die Daten weiterhin verfügbar, auch wenn einer der Rechner ausfällt. Die anderen Rechner im Cluster müssten anschliessend automatisch die Arbeit des ausgefallenen Rechners übernehmen, um einen unterbrechungsfreien Betrieb zu garantieren. Auch eine automatische Lastverteilung im Cluster ist von Vorteil. Dadurch könnten automatisch mehr Ressourcen zur Verfügung gestellt werden, wenn ein Rechenintensiver Prozess abzuarbeiten ist. Die Lastverteilung sollte dabei auch manuelle Eingriffsmöglichkeiten haben. Dadurch könnte einer Datenbank z.B. zwischen 22:00 Uhr und 03:00 Uhr täglich besonders viel Rechenleistung zur Verfügung gestellt werden. Die Ursache könnte dabei das Füllen eines Data Warehouse mit den aktuellen Daten sein, dieses benötigt besonders viel Rechenleistung. Neben der reinen Lastverteilung im Cluster kann es auch möglich sein, das bestimmte Datenbankeinheiten heruntergefahren werden, weil diese vorübergehen nicht benötigt werden. Diese müssten wieder gestartet werden, wenn die Performanz unter der geforderten Grenze liegt. In einem grossen Cluster mit sehr vielen Datenbanken ist das sehr schwer manuell zu kontrollieren, da die Performanz aller Datenbanken manuell überwacht werden müsste. Weiterhin könnten die DB Einheiten gerade beschäftigt sein, so das der Benutzer warten muss, bis die Arbeit beendet ist. Das Herunterfahren, einschliesslich Weiterleitung der anliegenden Arbeiten, sowie das Hochfahren von DB Einheiten sollte automatisch geschehen. Anforderungen neuer DB Systeme durch Grid Computing 14 ERROR! USE THE HOME TAB TO APPLY ÜBERSCHRIFT 1 TO THE TEXT THAT YOU WANT TO APPEAR HERE. 3.2 Anforderungen an die Informationsverwaltung In einem Computergrid werden Informationen zwischen verschiedenen Systemen ausgetauscht und in unterschiedlichen Datenbanken oder Dateisystemen gespeichert. Um die Informationen an einem Ort aufzubewahren oder um einen Rechner im Grid auszuwechseln, müssen die Datendateien der DB kopiert oder verschoben werden können. Doch die Daten alleine reichen oft nicht aus, zusätzlich müssen auch die Metadaten in die neue Datenbank übernommen werden. Das DBMS im Grid muss also Möglichkeiten bieten, um die Daten und Metadaten möglichst einfach zu exportieren und wieder zu importieren. Dabei sollte der Import und Export auch Betriebssystemübergreifend funktionieren, da in einem Grid die Möglichkeit bestehen muss, dass alle auf dem Markt vorhandenen Systeme integriert werden können. Die Daten einer Abfrage kommen möglicherweise aus unterschiedlichen Datenbanken verschiedener Hersteller, die sich im Grid befinden. Es muss eine Möglichkeit geboten werden, dass solche Abfragen durchgeführt werden können. Dadurch könnte eine Applikation mehrere Datenbanken im Grid nutzen. Beispiel einer solchen Abfrage: Ich möchte die Telefonnummer aus einer Informix Datenbank zusammen mit den Kundendaten aus der Oracle Datenbank abfragen. Ein wichtiger Punkt beim Arbeiten mit mehreren Datenbanken ist die Sicherung von Transaktionen zwischen den Datenbanken. Dadurch können auch geschäftskritische Daten über mehrere Datenbanken hinweg verarbeitet werden, ohne dass eine zusammenhängende Abfragen nur zur Hälfte durchgeführt wird. Es muss weiterhin denkbar sein, das eine Applikation über Standardschnittstellen auf jede beliebige Datenbank gleichermassen zugreift. Trotzdem sollten bestimmte Besonderheiten oder Fähigkeiten der jeweiligen Datenbank bekannt sein, um sinnvoll mit diesen umgehen zu können. Nicht nur fremde Datenbanken, sondern auch Daten im Dateisystem sollten genutzt werden können. Das Sinnvollste hierbei wäre, wenn auch die Daten im Dateisystem genauso wie eine relationale Datenbank und zusammen mit anderen Daten aus einer Datenbank abgefragt werden können. 3.3 Anforderungen an Ressourcenmanagement Ein Werkzeug zum Einteilen der vorhandenen Ressourcen wird benötigt. Da jede Aufgabe die Leistung von mehreren Datenbankinstanzen im Grid beanspruchen kann, ist es notwendig, eine Art Warteschlange für die anstehenden Arbeiten zu haben. Dabei muss allerdings definiert werden können, ob ein Vorgang auf mehreren Rechnern verarbeitet werden darf oder nur auf einem speziellen Rechner. Es könnte weiterhin sein, dass einer der Datenbankbenutzer besonders viel Rechenleistung benötigt und somit die Performanz aller anderen Benutzer des Systems einschränkt. Um das zu verhindern, muss ein Leistungslimit auf Benutzerebene gesetzt werden können. 3.4 Anforderung an Einhaltung von Standards Das System im Grid sollte auf Standards basieren. Wenn alle Grid Systeme auf die gleichen Standards basieren, ist es leichter, in ferner Zukunft einen globalen Grid zu ermöglichen. Schon jetzt kann durch Standards eine einheitliche Verbindung gewährleistet werden. Das Global Grid Forum arbeitet daran, Standards für Grid Technologien zu entwickeln. Unterschiedliche Arbeitsgruppen und Komitees, bestehend aus wissenschaftlichen Teilnehmern, Forschern und Mitgliedern grosser Unternehmen, konzentrieren sich auf diverse Aspekte von Grid Computing. Anforderungen neuer DB Systeme durch Grid Computing 15 ERROR! USE THE HOME TAB TO APPLY ÜBERSCHRIFT 1 TO THE TEXT THAT YOU WANT TO APPEAR HERE. Das Datenbanksystem im Grid sollte auf jeden Fall auf diesen Standards basieren und möglichst am Global Grid Forum beteiligt sein. Der Globus Toolkit, der viele Komponenten zum Erstellen eines Grid beinhaltet, setzt sich als Standard durch. Er sollte auch ein Datenbanksystem im Grid unterstützen. Der Globus Toolkit enthält zudem viele Werkzeuge, um Komponenten und Ressourcen im Grid zu kontrollieren, zu überwachen, sie zu steuern und zu verbinden. Das erleichtert den Umgang mit den Komponenten im Grid und sorgt als Standard für einheitliche Grids. 3.5 Anforderungen an die Portabilität Das System im Grid sollte möglichst portabel sein. Das heisst z.B. die Datenbank im Grid muss jederzeit auf andere Hardware mit einem anderen Betriebssystem übertragen werden können. Nur so kann der Grid funktionieren. Es darf nicht sein, das im Grid Probleme entstehen, weil eine fremde Hardware hinzugefügt wurde. Wenn jede Hardware genutzt werden kann, ist der Grid homogen. Eine Datenbank in einem homogenen Grid sollte auch auf jedem System die gleichen Eigenschaften und Funktionen bieten. 3.6 Anforderungen an die Sicherheit Die Sicherheit im Grid wird durch dessen Dynamik stark beeinflusst und ist daher besonders wichtig. Jeder Benutzer darf nur auf die ihm anvertrauten Daten zugreifen. Wichtige unternehmenskritische Daten dürfen auf keinen Fall von den falschen Personen gesehen oder manipuliert werden. Grundsätzliche Sicherheitsalgorithmen für eine sichere Kommunikation, den Umgang mit vertraulichen Daten und neue Mechanismen für die feinkörnige Zugangskontrolle werden benötigt. Grid Systeme und Applikationen im Grid werden viele oder alle der Standard Sicherheitsfunktionen benötigen. Diese sollen nun dargelegt werden. Authentifizierung: Jeder Benutzer der sich Zugang zum System verschaffen will, muss sich identifizieren. Das geschieht z.B. durch eine Anmeldung mit Benutzername und Passwort. Die Verwaltung der Kennwörter bzw. Zugangscodes sollte möglichst zentral erfolgen. Der Anmeldeprozess sollte über eine sichere Verbindung erfolgen. Zugangskontrolle oder Autorisierung: Nachdem sich der Benutzer eingeloggt hat, ermittelt das System aus einem zentralen Verzeichniss, zu welchen Bereichen der jeweilige Benutzer Zugang bekommt. Möglicherweise darf nicht jeder Benutzer des Grid Systems auch jeden Bereich nutzen. Deshalb sollten auch die Benutzerrechte zentral verwaltet werden. Integrität: Die Sicherheitsrichtlinien müssen sich vollständig in das Grid System integrieren können. Deshalb sollte die Sicherheit zentral verwaltet werden. So können Redundanzen in den Sicherheitsrichtlinien verhindert werden. Privatbereiche: Das Grid System benötigt z.B. für die Besitzer des Computersystems im Grid private Bereiche, um vertrauenswürdige Dokumente abzulegen, und um Geheimnisse in der Abarbeitung zu verstecken. Diese Privatbereiche können durch die Autorisierung sichergestellt werden. Anforderungen neuer DB Systeme durch Grid Computing 16 ERROR! USE THE HOME TAB TO APPLY ÜBERSCHRIFT 1 TO THE TEXT THAT YOU WANT TO APPEAR HERE. 3.7 Nachweisbarkeit: Vorgänge und auch Fehler müssen über eine längerfristige Zeit dokumentiert werden, um sie nachzuvollziehen und somit in der Zukunft auszuschliessen. Auch Grid interne Angriffe können somit abgewehrt werden, weil der Angreifer durch seine Zugangscodes identifiziert und daraufhin aus dem Grid ausgeschlossen werden kann. Anforderungen an ein Selbstverwaltendes System Ein Grid System sollte sich möglichst selbst verwalten und steuern. Grid Systeme sollten sich an die sich ändernden Umstände selbst anpassen. Dazu gehört auch eine Toleranz gegenüber alltäglichen Fehlern. Die wichtigsten Punkte der Selbstverwaltung sind: Höchste Verfügbarkeit und Ausfallsicherheit, das sollte nicht nur auf teurer Hardware sondern auch auf günstiger Hardware erfolgen. Wenn einer der Rechner im System ausfällt, sollte daher diese Ressource sofort wiederhergestellt werden. Die Arbeit kann etwa von den anderen Rechnern im Grid übernommen werden, so dass der Ausfall kaum Bemerkt wird. Lediglich eine Nachricht an den Administrator des Systems sollte verschickt werden um den ausgefallenen Rechner gegebenenfalls wieder instand zu setzen. Selbst führendes System, das System sollte sich selbst beobachten und somit selbst Engpässe feststellen können. Wird ein Engpass festgestellt, muss dieser sofort behoben werden, etwa durch das automatische Freigeben einer neuen Ressource. Somit gäbe es nie einen einzigen überlasteten Rechner. Dadurch, dass die Rechner somit selten an ihre Leistungsgrenzen stossen, wird das Leben der Hardware verlängert und die TCO verringert. Ein Werkzeug wird benötigt um möglichst alle Elemente im Grid zu kontrollieren und zu steuern. Zu den Elementen gehört die Lastverteilung der Server, genauso wie das Management von Storage Elemente. Der Administrator sollte dieses Werkzeug nutzen können, um den Grid zu kontrollieren und selbst anzupassen. Anforderungen neuer DB Systeme durch Grid Computing 17 ERROR! USE THE HOME TAB TO APPLY ÜBERSCHRIFT 1 TO THE TEXT THAT YOU WANT TO APPEAR HERE. 3.8 Zusammenfassung In der folgenden Tabelle sind alle Anforderungen an Datenbanksysteme im Grid und die wichtigsten Punkte der jeweiligen Anforderung aufgezählt. Sie soll einen kurzen Überblick geben, um auf einen Blick die Anforderungen an ein Datenbanksystem im Computergrid zu überblicken. Herausgearbeitete Anforderung Wichtigste Aufgaben in Bezug auf die jeweilige Anforderung: Rechner hinzugügen und entfernen Einsatz von günstiger Hardware Automatische Lastverteilung Performance überwachen und DB’s starten oder herunterfahren Daten und Metadaten kopieren und verschieben Abfragen auch fremder DB’s im Grid Zugriff von Applikationen über Standardschnittstellen Ressourcenmanage ment Gute Warteschlange zum Einteilen aller Prozesse auf alle Systeme im Grid Einhaltung von Standards Mitarbeit im Global Grid Forum Nutzung des Globus Toolkit Portabilität Plattformunabhängigkeit und Betriebssystemunabhängigkeit Sicherheit Authentifizierung und Autorisierung Integrität und zentrale Verwaltung der Sicherheitsrichtlinien Vorhandensein von Privatbereichen Nachweisbarkeit Höchste Verfügbarkeit Führung durch Erkennung von Engpässen Eigene Überwachung Clustertechnik Informationsverwalt ung Selbstverwaltung Tabelle 1: Anforderungen von DB Systemen im Grid Anforderungen neuer DB Systeme durch Grid Computing 18 4 Lösungskonzept am Beispiel von Oracle 10g, Grid Datenbank Die Firma Oracle hat schon mit der Version 9i ihrer Datenbank einen Schritt Richtung Grid Computing unternommen und einige entsprechende Techniken entwickelt. Vor kurzer Zeit kam nun die Version 10g der Oracle Datenbank auf den Markt. Es fällt auf, das die Versionsbezeichnung der Datenbank von 9i nach 10g gewechselt hat. Das hat den Ursprung darin, das Oracle jetzt aktiv mit der Grid Computing Technik wirbt. Das „g“ in Oracle 10g steht für Grid Computing und das „i“ in den früheren Versionen steht für Internet. Der Werbespruch von Oracle ist: „Internet ist out, Grid Computing ist in“. Aufgrund dieses Umstandes wird sich das Lösungskonzept auf die Grid Datenbank von Oracle beziehen. Die wichtigsten Bestandteile von Oracles Grid Datenbank sollen nun aufgezeigt und erläutert werden. 4.1 Oracle Real Application Cluster (RAC) Der RAC von Oracle erlaubt es, echte Applikationen auf Komponenten für den Massenmarkt laufen zu lassen. Oracle ist mit dem RAC auf Linux Clustern unlimitiert skalierbar. In der Architektur sind keine Limits vorhanden. RAC ermöglicht damit einen hohen Nutzenwert auf günstigen Blade Farmen. Durch RAC können jederzeit beliebige Blades zum Cluster hinzugefügt werden, um die Speicherkapazitäten oder die Rechenleistung zu steigern, oder sie können entfernt werden, wenn sie nicht mehr benötig werden. Da RAC auf eine Shared Disc Architektur aufbaut, kann der Cluster erweitert oder verkleinert werden, ohne das System herunterzufahren. RAC ist weiterhin eine kostengünstige Methode um viel Leistung zu erzielen. Statt einen grossen Supercomputer zu kaufen, werden mehrere Blades oder andere günstige Systeme gekauft. Diese zusammen ergeben einen virtuellen Supercomputer. Es entsteht ein sehr ausfallsicheres System. Fällt einer der Blades aus, kann dessen Arbeit sofort von anderen Blades übernommen werden. Es handelt sich bei Oracle und RAC um die sogenannte „Shared Disk“ Architektur, bei der nur eine gemeinsame Datenbasis vorhanden ist. Dadurch kann auch jederzeit ein Blade hinzugefügt oder entfernt werden, ohne die Daten neu zu paritionieren bzw. aufzuteilen. Die Daten sind natürlich partitioniert. Die Shared Disk Architektur ist also eine wichtige Grundlage für den Computer Grid, da es ohne diese Architektur schwieriger ist, neue Komponenten zu ergänzen oder zu entfernen. Anforderungen neuer DB Systeme durch Grid Computing 19 ERROR! USE THE HOME TAB TO APPLY ÜBERSCHRIFT 1 TO THE TEXT THAT YOU WANT TO APPEAR HERE. Die meisten anderen Datenbankhersteller arbeiten mit der „Shared Nothing“ Architektur. Dabei hat jedes Blade eine eigene Datenbasis. Fällt hier ein Blade aus, so fallen auch die Daten dieses Blades aus. Beim Hinzufügen oder Entfernen von Blades müssen die Daten immer wieder erneut partitioniert werden da bei diesem System die Daten künstlich angeordnet sind. Diesen Sachverhalt und den Unterschied zur Shared Disk Architektur soll die folgende Abbildung verdeutlichen. Abbildung 2: Shared Disk vs. Shared Nothing Architektur Oracle 10g bietet weiterhin automatische Lastverteilung für Dienste im RAC an. Der RAC verteilt automatisch die Last der Verbindungen, so wie sie zwischen den Instanzen entstehen. Zusätzlich, durch Nutzung des Resource Manager, kann der Benutzer Taktiken definieren, um die Ressourcenbelegung für die Dienste, die in der RAC Datenbank ablaufen, zu steuern. Um diese Taktiken einzuhalten, werden automatisch die Datenbankinstanzen den jeweiligen Diensten durch den RAC zugeteilt. Weiterhin bietet Oracle 10g die Möglichkeit, mit einem Knopfdruck neue Server zum RAC hinzuzufügen oder zu entfernen. Dabei installiert die Oracle Datenbank alle benötigte Software und startet eine Datenbank Instanz auf dem neuen Server. Der neue Server ist anschliessend sofort einsatzbereit und im Grid integriert. Ähnlich, durch einen Knopfdruck, kann ein Datenbankserver vom RAC entfernt werden. 4.2 Resonanzen Durch Resonanzen wird die Anzahl der Server in einem Cluster, die für die jeweilige Datenbank benötigt wird, automatisch vergrössert und verkleinert, so dass gewünschte Anforderungen an Geschwindigkeit etc. erfüllt werden. In einem grossen Cluster mit vielen Datenbanken wäre es Anforderungen neuer DB Systeme durch Grid Computing 20 ERROR! USE THE HOME TAB TO APPLY ÜBERSCHRIFT 1 TO THE TEXT THAT YOU WANT TO APPEAR HERE. schwierig, dieses manuell zu kontrollieren. Der Benutzer müsste alle Datenbanken im Cluster überwachen und manuell für jede Datenbank neue Instanzen starten oder beenden um die gewünschte Performanz zu erreichen. Das könnte sehr lange dauern da jeweils zuerst gewartet werden muss, bis die aktiven Datenbanksitzungen beendet sind, bevor die Instanz heruntergefahren wird. Diese Aufgabe übernimmt Oracle 10g automatisch. Die Last der Datenbanken wird automatisch überwacht. Wenn eine Instanz heruntergefahren wird, werden die aktiven Sitzungen automatisch auf eine andere Instanz verlagert. Wird eine neue Instanz gestartet so kommt es automatisch zu einer Lastverteilung zwischen allen verfügbaren Instanzen. 4.3 Informationsaustausch bei Oracle Um das Arbeiten in einem Grid zu ermöglichen, müssen Informationen zwischen verschiedenen Systemen ausgetauscht werden. Diese Informationen können in unterschiedlichen Datenbanken oder auch im Dateisystem abgelegt sein. Im Folgenden werden Verfahren zum Informationsaustausch, die von Oracle angeboten werden, aufgezeigt und erklärt. 4.3.1 Oracle Transportable Tablespaces Die Datendateien einer Oracle Datenbank haben den Namen Tablespace. Durch transportable Tablespaces wird dem Benutzer eines Grids eine sehr schnelle Möglichkeit geboten, einen Teil der Daten von einer Oracle Datenbank zu einer anderen zu befördern. Die Datendateien können von der Datenbank abgekoppelt werden, an einen anderen Ort kopiert und wieder eingefügt werden. Durch das Abkoppeln und Anschliessen von Datendateien muss nur ein kleiner Teil der Metadaten neu eingelesen oder geladen werden. Oracle Data Pump, ein neues Feature in Oracle Datenbank 10g, wird auch zum Importieren und Exportieren von Datendateien genutzt. Es handelt sich um eine schnelle, parallele Infrastruktur, die eine zügige Migration der Daten und Metadaten von einer Datenbank zu einer anderen erlaubt. Werden transportable Tablespaces in eine andere Datenbank verschoben, so kann der Data Pump genutzt werden, um die Metadaten zu extrahieren und in der neuen Datenbank wieder zu erstellen. 4.3.2 Oracle Streams Manche Daten müssen, während sie erstellt oder verändert werden, gemeinsam genutzt werden. Durch Oracle Streams können Daten zwischen Datenbanken, Datenknoten oder Blade Farmen fliessen. So wird ein einheitliches System geboten um Informationen auszutauschen, Nachrichten kombiniert in eine Warteschlange zu stellen, Daten nachzubilden, Ereignisse abzuarbeiten, ein Data Warehouse zu füllen, Anzeigen und das Veröffentlichen oder Bestellen in einer einzelnen Technologie bereitzustellen. Beim Anstehen einer Änderung können also zwei oder mehrere Kopien von Daten synchron aktualisiert werden. 4.3.3 Distributed SQL und Distributed Transactions Durch verteiltes SQL6 ist es in einem Computergrid möglich, auf Daten in mehreren Datenbanken zuzugreifen oder Daten zu integrieren. Dabei spielt es keine Rolle, ob alle anderen Datenbanken von Oracle sind oder nicht. Ein transparenter Fernzugriff auf die Daten mit 6 SQL = Structured Query Language, die Standard Abfragesprache für Datenbanken Anforderungen neuer DB Systeme durch Grid Computing 21 ERROR! USE THE HOME TAB TO APPLY ÜBERSCHRIFT 1 TO THE TEXT THAT YOU WANT TO APPEAR HERE. verteiltem SQL erlaubt es dem Benutzer des Grids, die Applikationen gegen jede beliebige Datenbank laufen zu lassen, ohne den Programmcode anzupassen. Verteilte Transaktionen erlauben die Sicherung von Transaktionen über mehrere Datenbanken hinweg. Die Transaktionen werden dabei über verschiedene Applikationen hinweg gesichert, wie z.B. Altsysteme oder Systeme anderer Anbieter. 4.3.4 Heterogener Zugang mit gewöhnlichen Verbindungen und transparentem Gateways Die Funktion des heterogenen Zugangs erlaubt es, dass Oracle Datenbankapplikationen ohne eine Änderung von Code auf jeder Nicht - Oracle Datenbank funktionieren. Die Applikationen greifen dabei auf die fremde Datenbank genau so wie auf eine Oracle Datenbank zu. Die gewöhnlichen Verbindungen mit denen der Zugriff auf die Nicht – Oracle Datenbanken erfolgt, sind Industriestandards wie ODBC7 und OLEDB8. Transparente Gateways sorgen dafür, dass Oracle die Ressourcen bzw. Fähigkeiten von den Nicht Oracle Datenbanken kennt. Dadurch kann Oracle die Daten in das Format der anderen Datenbank übersetzen und den Zugriff optimieren. Oracle unterstützt dabei die Datenbanksysteme der grössten Anbieter, also DB2, Microsoft SQL Server, Informix, Ingres und Sybase. 4.3.5 Externe Tabellen und BFILES Durch die externen Tabellen von Oracle erhält der Grid Benutzer einen relationalen Zugriff auf die im Dateisystem gespeicherten Daten. Die Daten aus dem Dateisystem können dabei gemeinsam mit anderen Daten aus der Datenbank abgefragt werden, als wären sie auch in einer Datenbank. Somit können Daten eines Dateisystems und Daten einer Datenbank in einer Abfrage vereinigt werden. BFILES erlauben es, die Metadaten zu steuern und auf Daten in Dateien zuzugreifen. BFILES sind grosse binäre Datenobjekte die sich ausserhalb eines Tablespace in Systemdateien des Betriebssystems befinden. 4.4 Scheduling und Ressourcenmanagement Der Benutzer eines Computer Grid kann die Ressourcen der Oracle Datenbank einteilen und die Abarbeitung der einzelnen Arbeiten steuern. Die Oracle job queue, also die Warteschlange der anstehenden Arbeiten, stellt einen flexiblen Mechanismus bereit, um die Abarbeitung von Datenbankaufgaben zu steuern. Dabei können Aufgaben zu einer bestimmten Zeit in einem bestimmten Intervall abgearbeitet werden, weiterhin kann die Anzahl der Abarbeitungsprozesse bestimmt werden. In einer Oracle RAC Umgebung kann eine Aufgabe entweder auf allen verfügbaren Datenbankinstanzen oder auf einer spezifischen Datenbankinstanz abgearbeitet werden. 7 8 ODBC = Open Database Connectivity, ist eine Standardschnittstelle für den Zugriff auf Datenbanken OLEDB = Object Linking and Embedding Database, ist eine Schnittstelle für den Datenzugriff Anforderungen neuer DB Systeme durch Grid Computing 22 ERROR! USE THE HOME TAB TO APPLY ÜBERSCHRIFT 1 TO THE TEXT THAT YOU WANT TO APPEAR HERE. Der Oracle Ressourcen Manager erlaubt die Begrenzung der Oracle Ressourcen für einen Grid Benutzer. Dadurch wird eine gerechte Nutzung der verfügbaren Ressourcen für alle Benutzer des Computer Grid sichergestellt. 4.5 Einhaltung von Standards Das Global Grid Forum arbeitet daran, Standards für Grid Computing zu entwickeln. Verschiedene Komitees und Arbeitsgruppen konzentrieren sich auf die unterschiedlichen Aspekte von Grid Computing. Sie bestehen aus wissenschaftlichen Teilnehmern, Forschern und aus Mitgliedern grosser Unternehmen wie Oracle, IBM usw. Der Globus Toolkit hat sich durchgesetzt als ein Standard zum Erstellen eines Grids. Er bietet verschiedene nützliche Komponenten, um Grid Applikationen und Entwicklungsumgebungen für den Grid aufzubauen. Der Globus Toolkit ist der de facto Standard um einen Grid aufzubauen. Der Oracle Globus Development Kit stellt Scripte zur Verfügung, um die Technologien von Oracle effizient mit dem Globus Toolkit zu benutzen. Der Globus Resource Allocation Manager steuert die Belegung von Ressourcen, das Erstellen von Prozessen, sowie Überwachungs- und Verwaltungsaufgaben. Es werden hinterlegte Kommandos einer Sprache namens Resource Specification Language übersetzt in die Sprache, die vom lokalen Computer und Scheduler verstanden werden. Dadurch können über ein Netzwerk die Funktionen der Oracle Datenbank aufgerufen werden. Zu den Funktionen gehört der Import, Export oder das Ausführen von Datenbankoperationen über SQL Plus. Dieser Mechanismus erlaubt es, eine entfernte Datenbank für Grid Aufgaben einzurichten. Weiterhin können über die Resource Specification Language des Globus Ressource Allocation Manager Datenbankabfragen und PL/SQL Routinen abgearbeitet werden. So können Aufgaben an den Scheduler von Oracle über dessen PL/SQL API9 weitergeleitet werden. Somit kann der Grid Benutzer die Arbeiten auf dem entfernten System ausführen, planen und überwachen. Der Grid Resource Information Service des Globus Toolkit stellt Informationen bereit, um die Ressourcen im Grid zu finden und zu überwachen. Dadurch können Oracle Datenbanken gefunden und überwacht werden, weiterhin werden für den Benutzer wichtige Datenbankeigenschaften dargelegt. 4.6 Portabilität Oracle Portability zwischen verschiedenen Betriebssystemen und Hardware bedeutet, dass ein heterogener Grid ermöglicht werden kann. Ein heterogener Grid besagt, dass im Grid jede beliebige Hardware von jedem beliebigen Hersteller hinzugezogen werden kann. Dadurch kann eine Applikation, die im SMP entwickelt wurde, jederzeit in eine Grid Umgebung übertragen werden. Die Oracle Datenbank ist für jedes wichtige Betriebssystem verfügbar und bietet jeweils die gleichen Funktionen und Ressourcen in allen unterstützten Systemen, solange eine einheitliche Code Basis vorliegt. 9 API = Application Programming Interface, ist eine Programmierschnittstelle Anforderungen neuer DB Systeme durch Grid Computing 23 ERROR! USE THE HOME TAB TO APPLY ÜBERSCHRIFT 1 TO THE TEXT THAT YOU WANT TO APPEAR HERE. 4.7 Sicherheitsmechanismen Oracle stellt industriegeprüfte Sicherheitsmassnahmen für den Grid zur Verfügung. Die Sicherheitsmechanismen von Oracle wurden von 15 unabhängigen Testern für Sicherheit überprüft. Oracle bietet umfassende Funktionen um Sicherheitsbedürfnisse aus den Unternehmen heraus zu behandeln. Es bietet die vollständigsten Funktionen für sichere Datenübertragung, Authentifizierung, Autorisierung und Überprüfung. Reihenweise Sicherheitsleistungen und Datenverschlüsselungen werden bereitgestellt, um unternehmenskritische Daten zu schützen. 4.7.1 Enterprise User Security Enterprise User Security zentralisiert die Verwaltung der Beglaubigung und Berechtigung der Benutzer in einem Verzeichnis. Dadurch muss nicht jeder Benutzer in jeder Datenbank erneut erstellt werden, sondern nur einmal. Der Benutzer kann anschliessend auf alle Datenbanken in seiner Domäne zugreifen, sofern es die im Verzeichnis definierten Berechtigungen zulassen. Oracle 10g bietet weiterhin die Möglichkeit, eine Smart Card mit einem SSL10 Zertifikat zu versehen, das einem Benutzer den Roaming Zugang zum Grid erlaubt. Auch Berechtigungszertifikate können eingesetzt werden. 4.7.2 Virtual Private Database Eine VPD11 bietet eine vom Server erzwungen, feinkörnige Zugangskontrolle und einen Zusammenhang zu sicheren Applikationen der innerhalb der Grid Einstellungen genutzt wird. Dadurch wird mehreren Kunden, Partnern oder Abteilungen ermöglicht, die gleiche Datenbank über einen sicheren Zugang abzufragen, um Zugriff auf Unternehmenskritischen Daten zu erhalten. VPD ermöglicht es, gewisse Daten einem Kunden oder Partner zuzuordnen, mit der Zusicherung auf physische Datentrennung. Diese Trennung kann bei Oracle 10g auf einzelne Views, Tabellen oder sogar Spalten herunter gebrochen werden. 4.7.3 Oracle Label Security Oracle Label Security ermöglicht es, gewisse Sicherheitsrichtlinien für einzelne Spalten oder Zeilen zu definieren, um den Zugang auf diese zu kontrollieren und um Sicherheitspolicen zu sparen. Über ein GUI12 kann der DBA13 diese Richtlinien schnell erstellen. Durch die Verknüpfung mit dem Oracle Internet Directory können diese Richtlinien zentral verwaltet werden obwohl der Grid ständigen Änderungen unterliegt. 4.8 Selbst verwaltende Datenbank Einer der wichtigsten Punkte bei Grid Systemen ist, dass sie auf sich selbst angewiesen sind, also sich selbst steuern und mit sich verändernden Umständen zu Recht kommen. Eine Grid Infrastruktur muss fehlertolerant gegenüber individuellen Komponenten sein und höchste Verfügbarkeit in allen Zusammenstellungen bieten. 10 SSL = Secure Socket Layer, ein Sicherheitsmechanismus Virtual Private Database, im folgenden mit VPD bezeichnet 12 Graphical User Interface, Grafische Benutzeroberfläche 13 Datenbank Administrator, Verwalter der Datenbank 11 Anforderungen neuer DB Systeme durch Grid Computing 24 ERROR! USE THE HOME TAB TO APPLY ÜBERSCHRIFT 1 TO THE TEXT THAT YOU WANT TO APPEAR HERE. 4.8.1 Höchste Verfügbarkeit Die Oracle Datenbank 10g bietet die höchste Stufe an Verfügbarkeit und Ausfallsicherheit für den Grid. Das ist auch der Fall bei günstiger Standardhardware. Abgesehen davon, dass Fehler immer wieder passieren, bietet Oracle 10g eine beinahe sofortige Wiederherstellung von Systemfehlern. Weiterhin ist eine widerstandsfähige Funktion integriert, um vor Datenfehlern und Missgeschicken zu schützen. Die neue flashback Funktion der Datenbank erlaubt die Wiederherstellung einer DB zu einer bestimmten Zeit, um vor menschlichen Fehlern zu schützen. Mit dieser Flash Backup Funktion können nun günstige Standardlaufwerke für ein Backup verwendet werden. Zusätzlich werden Funktionen angeboten, um die geplanten Stillstandszeiten zu minimieren, da diese vor allem im Dauerbetrieb immer kritisch zu betrachten sind. Geplante Stillstandszeiten entstehen beispielsweise durch ein Update der Datenbanksoftware. Die Rolling Update Funktion verhindert diese Auszeiten, die Datenbank muss nicht heruntergefahren werden, um ein Update auszuführen. Im Computergrid z.B. in einer Blade Farm organisiert die Datenbank das Update so, dass ein Blade nach dem anderen ein Update erhält. Die Arbeit des einzelnen Blade übernimmt in dieser Zeit ein anderes Blade. Dadurch bleibt die Datenbank immer online und die Benutzer können mit den Daten arbeiten. 4.8.2 Selbst führend Durch die selbst führenden Funktionen ist Oracle ein grosser Schritt zur Selbstverwaltung der Datenbank gelungen. Die Funktionen enthalten einen Datenbankmonitor, um alle für die Performanz des Systems wichtigen Daten zu erfassen. Aufgrund dieser Informationen werden durch das Oracle Database Automatic Memory Managment automatisch Speicherressourcen auf verschiedene Bestandteile der Datenbank verteilt. Das automatische Gesundheitsmanagement der Datenbank versendet Nachrichten über diverse Aspekte der Datenbank um die Überwachung zu vereinfachen. 4.8.3 Oracle Enterprise Manager Grid Control14 Durch den OEMGC ist es nicht nur möglich die Datenbank oder den Application Server von Oracle zu steuern, sondern auch Bestandteile anderer Anbieter. Dazu gehören Web Applikationen, Hosts, Storage Elemente und die Lastverteilung der Server. Das OEMGC enthält weiterhin einen SDK15, um weitere Elemente darüber kontrollieren zu können. Grid Control bezeichnet eine zentrale und einfache Verwaltungsumgebung, um Bestandteile im Grid zu kontrollieren und die Performanz vom Grid zu überwachen. Das gilt für alle Bestandteile im Grid und von jedem Ort im Netzwerk. Der DBA kann über OEMGC auf alle Funktionen der im Grid enthaltenen Datenbanken zugreifen. Grid Control betrachtet die Performanz und Verfügbarkeit des Grid als ein einheitliches ganzes Gebilde statt als isolierte Speichereinheiten, Datenbanken und Applikationsservern. Das IT Personal kann die einzelnen Hardwarebestandteile als logische Einheiten gruppieren und diese 14 15 Im weiteren Verlauf der Arbeit mit OEMGC bezeichnet SDK = Software Developement Kit, eine Entwicklungsumgebung für Programme Anforderungen neuer DB Systeme durch Grid Computing 25 ERROR! USE THE HOME TAB TO APPLY ÜBERSCHRIFT 1 TO THE TEXT THAT YOU WANT TO APPEAR HERE. als eine Ressource managen. Dadurch wächst nicht die Komplexität des Systemmanagement, wenn der Grid aus sehr vielen Rechnern besteht. 4.9 Zusammenfassung Oracles neue Datenbank erfüllt die herausgearbeiteten Anforderungen und übertrifft diese sogar teilweise. Damit ist ein guter Schritt Richtung Grid Datenbank erfolgt. Vor allem im Bereich der Clustertechnik war Oracle schon in der letzten Version auf einem ähnlich guten Stand. Die Verwaltung von Informationen wurde auf vielfältige Arten umgesetzt. Durch die Nutzung von Standards können fremde Systeme jederzeit verbunden werden, solange diese auch die Standards nutzen. Im Bereich der Sicherheit, der besondere Aufmerksamkeit erfordert, sind hohe Massstäbe gesetzt. Auch die Anforderungen der Selbstverwaltung wurden umgesetzt. Dem Grid fähigen Datenbanksystem sollten keine Hindernisse mehr im Weg stehen. Anforderungen neuer DB Systeme durch Grid Computing 26 5 Erreichte Ergebnisse und Ausblick 5.1 Erreichte Ergebnisse Das Ziel der Arbeit, die Anforderungen von Datenbanken im Computergrid herauszuarbeiten, wurde erreicht. Dafür wurden als erstes die Grundlagen des Grid Computing gezeigt. Die Umsetzung der herausgearbeiteten Anforderungen wurde an der Oracle Datenbank 10g, der neuen Grid – fähigen Datenbank von Oracle, gezeigt. Hierbei wurden viele Werkzeuge und Techniken, die Oracle einsetzt, gezeigt um einen Eindruck von der Komplexität des Systems zu erhalten. Der Leser kann sich nun einen Eindruck verschaffen, ob die Erarbeiteten Anforderungen umgesetzt wurden. 5.2 Ausblick Heute wird davon ausgegangen das Grid Computing der Nachfolger des Internet ist. In den Grundlagen wurde in Abbildung 1 die Entwicklung vom heutigen Cluster zu zukünftigen Inter Grids gezeigt. Inter Grids sollen einen nationalen oder sogar internationalen Umfang annehmen. Ob es tatsächlich eine derartige Entwicklung geben wird, steht nicht genau fest. Wenn sich allerdings alle Anbieter von Grid Produkten an die Standards des Global Grid Forum halten und den Globus Toolkit als Standard Toolkit nutzen, stehen die Chancen für einen globalen Inter Grid ziemlich gut. Da diese Arbeit nur die theoretischen Aspekte zeigt, ist es natürlich fraglich, ob diese Techniken auch in der Praxis so gut funktionieren, wie sie sich in der Theorie anhören. Um nun also auch die praktischen Aspekte zu erfahren, darf sich der Leser auf die in naher Zukunft folgende Diplomarbeit freuen. Die Diplomarbeit wird sich mit der Modularisierung einer bestehenden Software Architektur durch Grid Computing unter besonderer Berücksichtigung von Oracles Grid Datenbank 10g beschäftigen. Anforderungen neuer DB Systeme durch Grid Computing 27 QUELLENVERZEICHNIS Quellenverzeichnis Quellen aus dem Internet: [WHAT04] http://whatis.techtarget.com/definition/0,,sid9_gci211801,00.html, Definition von Cluster, abgerufen am 19.02.2004 [NETL04] http://www.net-lexikon.de/Grid-Computing.html, Definition von Grid Computing, abgerufen am 19.02.2004 [LIGH04] http://www.lightreading.com/document.asp?doc_id=33405, Grid Networking, abgerufen am 19.02.2004 [VISE04] http://www.visek.de/?16430, Geschichte von Grid Computing, abgerufen am 19.02.2004 [GRID04] http://www.gridcomputing.com/, Grid Computing Info Centre, abgerufen am 20.02.2004 [GRIF04] http://www.gridforum.org/, Global Grid Forum, abgerufen am 20.02.2004 [ORAC04] http://www.oracle.com/, Oracle, abgerufen am 20.02.2004 [TECH04] http://technet.oracle.com/, Oracle Technet, abgerufen am 20.02.2004 PDF Dokumente [ORAC02] Oracle and the Grid, Oracle White Paper, Stand November 2002 [ORAC03] Oracle Database 10g: The Database for the Grid, Oracle White Paper, Stand November 2003 [LAFR03] Vertiefungsarbeit Lars Franke vom 28.07.2003 mit dem Titel „Architekturen von SQL Datenbankservern“ Bücher: [ERRA94] Mehrrechner-Datenbanksysteme, von Erhard Rahm, Addison-Wesley Verlag, 1994 [KDAG01] Component Database Systems, von Klaus R. Dittrich und Andreas Geppert, DPunkt Verlag, 2001 [PEDA96] Verteilte Datenbanken und Client/Server-Systeme, von Peter Dadam, Springer Verlag, 1996 Anforderungen neuer DB Systeme durch Grid Computing 28 Stichwortverzeichnis A H Anforderungen an Datenbanken im Grid 14 Heterogener Zugang mit gewöhnlichen Verbindungen und transparentem Gateways 22 Anforderungen an die Clustertechnik 14 Anforderungen an die Informationsverwaltung 15 Anforderungen an die Portabilität 16 Anforderungen an die Sicherheit 16 Anforderungen System 17 an ein Selbstverwaltendes Anforderungen an Einhaltung von Standards 15 Hohe Verfügbarkeit 24 I Informationsaustausch bei Oracle 21 L Anforderungen an Ressourcenmanagement 15 Ausblick 27 D Definition von Clustern und Grid Computing 11 Die Entwicklung von Grid Computing 12 Lösungskonzept am Beispiel von Oracle 10g, Grid Datenbank 19 M Motivation 9 Distributed SQL und Distributed Transactions 21 O E Oracle Enterprise Manager Grid Control 25 Einhaltung von Standards 23 Oracle Real Application Cluster (RAC) 19 Einleitung 9 Oracle Streams 21 Enterprise User Security 24 Oracle Transportable Tablespaces 21 Entstehung von Clustering und Grid Computing 11 P Erreichte Ergebnisse 27 Externe Tabellen und BFILES 22 G Grid Computing als Nachfolger des Internet 13 Grundlagen 11 Oracle Label Security 24 Portabilität 23 Problemstellung und - abgrenzung 9 Q Quellenverzeichnis 28 Anforderungen neuer DB Systeme durch Grid Computing 29 STICHWORTVERZEICHNIS R V Resonanzen 20 Virtual Private Database 24 S Vorgehen 10 Z Scheduling und Ressourcenmanagement 22 Selbstführend 25 Ziel der Arbeit 10 Selbstverwaltende Datenbank 24 Zusammenfassung der Anforderungen 18 Sicherheitsmechanismen 23 Zusammenfassung Lösungskonzept 25 Anforderungen neuer DB Systeme durch Grid Computing 30