DB2-Administration: Datenbankdefinition

Begriffserklärung DBMS

Das Datenbankmanagementsystem interpretiert die eingehenden Befehle (SQL- oder Datenbankbefehle) und führt diese aus, falls sie fehlerfrei sind. Da in SQL-Befehlen nur logische und keinerlei physische Objekte vorkommen, ist es die Aufgabe des DBMS zu erkennen, welche physischen Objekte angesprochen werden müssen, um den jeweiligen Befehl auszuführen. Somit bildet das DBMS die Schnittstelle zwischen der logischen Ebene (Datenbank) und der physischen Ebene (Betriebssystem). Da die logische Sicht auf die Datenbankobjekte völlig hardware-unabhängig ist, kann dieser Teil der Verarbeitungslogik gekapselt werden und bildet den Kern (Kernel) des DBMS.

Hierunter fallen Aufgaben wie zum Beispiel die Prüfung der SQL-Befehle, SQL-Optimierung sowie die Verwaltung und Zuordnung von logischen und physischen Objekten. Ebenso ist der Hardware-abhängige Teil der Verarbeitungslogik, wie Festplattenzugriffe, Zugriffe auf den Hauptspeicher et cetera, gekapselt. Diese Technik ermöglicht es, den eigentlichen und weitaus größeren Teil, der ein RDBMS ausmacht, völlig unabhängig von der Hardware zu betrachten. Dies war bei der DB2 UDB (Universal Data Base) für die dezentralen Plattformen nicht immer so. Erst ab der Version DB2 UDB V2.x bzw. DB2 UDB V5.x wurde diese Trennung durchgeführt. Dieser Schritt machte es IBM jedoch möglich, die bis dahin verschiedenen DB2-Produkte, die es für die dezentralen Plattformen gab (DB2 für OS/2, DB2 für AIX usw.), zu einem Produkt, der DB2 UDB, zu vereinen.

Heute ist ein Zustand erreicht, in dem sich die DB2 UDB auf allen dezentralen Plattformen aus reiner SQL-Sicht (hauptsächlich für Programmierer interessant) identisch und zu großen Teilen aus Sicht der Datenbankbefehle (betrifft hauptsächlich DB-Administratoren) bis auf ein paar Nuancen gleich verhält.

Dies gilt jedoch nicht für die Systeme AS/400 und z/OS (Mainframe). Diese Systeme besitzen bisher einen völlig anderen Datenbankkern (Kernel) für die logische Verarbeitung. Bei der AS/400 ist dieser Datenbankkern sogar völlig in das Betriebssystem OS/400 integriert.

IBM verwendet inzwischen den Begriff der DB2 UDB für alle Plattformen. Es ist IBM sogar gelungen, für die dezentralen Plattformen dieselbe Versionsnummerierung wie für z/OS zu verwenden und für beide Welten nahezu dieselben logischen Datenbankobjekte (zum Beispiel Trigger, stored procedures) zur Verfügung zu stellen. Dennoch ist es an dieser Stelle sehr leicht zu verstehen, dass sich diese verschiedenen DB2 UDB-Systeme nicht gleich verhalten können, solange der Datenbankkern nicht identisch ist.

Somit müssen sowohl der Programmierer und noch viel mehr der Administrator die Unterschiede zwischen den beiden Welten z/OS, AS/400, VM/VSE und den dezentralen Plattformen (Unix, Windows) beachten.