article

DB2 ist die kommerzielle relationale Datenbank der Firma IBM.

Eigenschaften


Unter dem Produktnamen DB2 wird von IBM für verschiedene Betriebssystem-Plattformen vom Quellcode und von den Merkmalen her verschiedene Software für Datenbankmanagementsysteme vertrieben. So existieren in PL/X geschriebene Versionen für IBM Mainframes (heutige Maschinenbezeichnung: System z) für das Mainframe-Betriebssystem z/OS (vormals MVS) oder VSE, ferner eine in das Betriebssystem OS/400 integrierte Version für IBM-Midrangesysteme (heutige Maschinenbezeichnung System i), sowie in C geschriebene Versionen für unix-, linux- und windowsbasierte Systeme.

Aktuell sind die Versionen:

  • DB2 UDB for z/OS, Version 8
  • DB2 UDB for Linux, UNIX and Windows, V8.2.4
  • DB2 UDB for iSeries, Version 5 Release 3
  • DB2 Server for VSE & VM, V7.4

DB2 verwaltet Daten in Tablespaces. Das System erlaubt derzeit (2006) maximal 32768 Tablespaces mit einer maximalen Größe von 512 Gigabyte pro Tablespace. Das System kann somit theoretisch eine 16384 Terabyte umfassende Datenmenge speichern und verwalten. Es unterstützt neben den SQL-Datentypen auch binäre Datentypen (Text, Töne, Bilder, Videos). Zusammen mit Oracle Database und MS SQL-Server gehört DB2 zu den kommerziellen Systemen mit den größten Marktanteilen.

Seit Februar 2006 gibt es eine kostenlose Version (Express-C) für Windows und Linux mit den folgenden Einschränkungen gegenüber den kommerziellen Versionen:

  • max. 2 CPUs (werden nur nach Sockeln gezählt, mehrere Kerne und HT wird dabei nicht berücksichtigt)
  • max 4 GB Hauptspeicher
Diese Version hat verglichen mit den kommerziellen Varianten keine Einschränkungen hinsichtlich Größe der Datenbank und Anzahl der Benutzer.

DB2 für Unix und Windows wird mit SQL-Befehlen in der Kommandozeile administriert oder graphisch über die Steuerzentrale (Control Center (db2cc)). Die Administration auf Mainframes erfolgt in der Regel mittels Batchjobs, wobei zwischen DB2 Utilities (RUNSTATS, COPY, REORG usw.) und DBA-Jobs unterschieden wird (SQL wird mittels DSNTIAD in einem TSO-Backgroundjob durchgeführt). Kleinere Arbeiten werden oft auch am TSO-Terminal mittels SPUFI unter ISPF durchgeführt. Um bei der Ausführung von integrierten DB-Zugriffen (Statisches SQL) eine optimale Performance zu erzielen, wird ein sog. Optimizer eingesetzt, ein Expertensystem, welches bei der Programmvorbereitung den Zugriff auf die betreffenden Tabellen festlegt. Dies beruht auf den sog. Statistiken, die mittels o. a. Tool RUNSTATS periodisch aktualisiert werden.

Das so genannte DB2-EEE (sprich "triple I") - seit der Version 8 "DPF" (distributed partitioning feature) genannt - ist für größere Unix- oder Windowsumgebungen, wobei die Datenbank-Partitionen über mehrere Rechner (Nodes) verteilt werden können. Größere Mainframeumgebungen verwenden DB2 Data Sharing, wobei die Funktionalität des Parallel Sysplex der zSeries-Rechner voll genutzt wird.

Der Datenzugriff der Anwendungsschicht erfolgt mit ANSI-SQL und kann daher aus vielen Programmiersprachen heraus erfolgen.

Utilities


RUNSTATS

RUNSTATS ist ein Utility zur Erzeugung von statistischen Daten über die Inhalte von DB2-Tabellen. Zum Beispiel werden die minimalen und maximalen Werte einer Spalte und die Kardinalität der Spalten und der Tabelle ermittelt.

Abgelegt werden diese Daten im DB2-Systemkatalog, einer Sammlung von relationalen Tabellen, in denen DB2 Informationen über alle Objekte, wie Tabellen, Indizes, Spalten usw., ablegt (self descriptive, also „selbstbeschreibend“).

Das Datenbankverwaltungssystem benötigt diese statistischen Daten, um für die vom Anwender realisierten Zugriffe auf die DB2-Tabellen einen möglichst optimalen Zugriffspfad zu verwenden. Z. B. sind Index-Zugriffe in der Regel sinnlos, wenn die gesamte Tabelle nur wenige Zeilen enthält; ein einfaches Lesen aller Daten ist dann schneller. Neben den Daten für den Zugriffspfad (Optimizer) werden aber auch Daten für die Administration ermittelt, z. B. der Quotient der genutzten Speicherseiten oder der Komprimierungsgrad.

RUNSTATS sollte immer dann ausgeführt werden, wenn sich die Inhalte von Tabellen wesentlich geändert haben, oder wenn neue Indizes angelegt wurden. Danach müssen bei statischem SQL auch die verweisenden DB2-Packages neu gebunden werden, da darin die Zugriffswege abgelegt sind.

Das Tool kann für Tabellenbereiche (Tablespace) oder Indizes ausgeführt werden und kann auch im Rahmen anderer administrativer Utilities eingebettet laufen (REORG, LOAD).

JCL-Beispiel für DB2 (z/OS):

//RSTAT EXEC DSNUPROC,UID='JCA.RUNSTA',TIME=1440, // UTPROC='', // SYSTEM='V71A',DB2LEV=DB2A //UTPRINT DD SYSOUT=* //SYSIN DD * RUNSTATS TABLESPACE DSNXXX.DSNABCDE TABLE(ALL) SAMPLE 25 INDEX(ALL) SHRLEVEL CHANGE Hier werden im Tablespace DSNXXX.DSNABCDE in allen Tabellen und Indizes 25% der Zeilen untersucht (SAMPLE 25). Ein paralleler Update durch andere Prozesse ist erlaubt (SHRLEVEL CHANGE).

REORG

REORG ist ein Utility zur Reorganisation von DB2-Tabellen (Unix- und Windows-Version) oder Tablespaces (Mainframe). Dabei werden die Daten in einer optimalen Art und Weise auf dem permanenten Speicher abgelegt. Die optimale Weise wird über den Cluster-Index bestimmt. Die Speicherseiten werden optimal aufgefüllt und Zeilen, die nicht auf ihrer ursprünglichen Seite stehen (Far-or-Page, Near-Of-Page), werden wieder an die bestmögliche Position verschoben.

Das Utility kann offline oder online arbeiten. Bei der Offline-Variante werden die Daten dem Clustering-Index entsprechend sortiert und in temporäre Dateien gespeichert. Der Tablespace wird dann neu angelegt und die Daten werden – nun sortiert – wieder in den Tabellenbereich eingetragen. Anschließend werden alle Indizes neu aufgebaut.

Bei der Online-Variante wird ein neuer Tablespace („Schattenkopie“) angelegt und die Daten werden sukzessive in den neuen Bereich sortiert übertragen. Zwischenzeitliche Änderungen werden anschließend aus dem Recovery-Log eingearbeitet, wobei eine Arbeitstabelle (Mappingtable) der Zuordnung von alten zu neuen internen Satzschlüsseln (Record Identifiers) dient. Sind alle Änderungen berücksichtigt, findet ein „Switch“ statt, nach dem die DB2 fortan auf den neuen Tabellenbereich zugreift. Der alte Bereich wird verworfen.

Zusätzlich zum Reorganisieren können Sicherungskopien (COPY) und statistische Daten (RUNSTATS) ermittelt werden.

JCL-Beispiel für DB2 (z/OS):

//REORG EXEC DSNUPROC,UID='JCA.REORG',TIME=1440, // UTPROC='', // SYSTEM='V71A',DB2LEV=DB2A //UTPRINT DD SYSOUT=* //SYSIN DD * REORG TABLESPACE DSNXXX.DSNABCDE Hier wird der Tablespace DSNXXX.DSNABCDE reorganisiert.

Extensions


Die Funktionalität von DB2 kann mit sog. Extendern erweitert werden, die erweiterte Funktionalität für spezialisierte Datentypen anbieten.

Net Search Extender

Für effiziente Volltextsuche auf Spalten mit Textinhalten.

Spatial Extender

Für geografische Probleme (Flutzonenanalyse etc)

Object Relational Extender

Erweiterung zum Arbeiten mit Objekten auf RDBMS-Basis

XML Extender

Für die Speicherung und Bearbeitung von XML Daten.

Geschichte


Im Zuge der Entwicklung der relationalen Benutzerschnittstelle »Structured Query Language« (SQL) wurde IBM-intern der erste Prototyp, das so genannte System R entwickelt (1975-1979). Aus diesen Erfahrungen wurde SQL/DS für DOS/VSE entwickelt. Parallel hierzu wurde die eigenständige Produktlinie des Mainframe MVS (heute z/OS) vorangetrieben. DB2 war die zweite verfügbare relationale Datenbank am Markt.

Zwischenzeitlich existieren DB2-Produkte auf unterschiedlichen System-Plattformen wie DB2 Universal Database (UDB) for z/OS, DB2/VM/VSE, DB2 Universal Database (UDB) für LUW (AIX, HP-UX, Linux, Sun Solaris, Microsoft Windows (XP/2000/2003)) und DB2 Universal Database (UDB) for iSeries (System i5, ehemals AS/400), .

Im Großrechnerbereich hat DB2 zu einem großen Teil das hierarchische Datenbanksystem IMS von IBM abgelöst.

Weblinks


Datenbankmanagementsystem | IBM

IBM DB2 | DB2 | DB2 | DB2 | DB2 | DB2UDB | DB2 | DB2 | IBM DB2 | DB2

 

This article is licensed under the GNU Free Documentation License. It uses material from the "DB2".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld