HALDB (High Availability Large Database) ist ein Datenbanktyp bei IMS, den IBM mit IMS Version 7 neu eingeführt hat.

Größenbeschränkung

Bearbeiten

Besonderes Merkmal einer HALDB ist die Möglichkeit zur Partitionierung. Eine HALDB kann auf mehr als Tausend Partitionen aufgeteilt werden (bei Einführung: 1001). Jede Partition kann aus bis zu 10 Datagroups mit je maximal 4 Giga Byte Daten bestehen. Das ergibt eine maximale Größe von 1001*10*4 Giga Byte.

Partitionierung

Bearbeiten

Jeder Datenbanksatz besitzt einen eindeutigen Schlüssel (Key). Über diesen und mittels vordefinierter Keygrenzen ermittelt das Datenbanksystem selbstständig die zugehörige Partition für jeden Datenbanksatz. Alternativ kann dem Datenbanksystem je Datenbank eine selbstgeschriebene Routine für die Verteilung (Partition Selection Exit – PSE) bekanntgegeben werden.

HALDB-Typen

Bearbeiten

PHIDAM (Partitioned HIDAM)

Bearbeiten

Jede Partition besitzt einen Primary Index (HIDAM steht für Hierarchical Index Direct Access Method). Damit ist ein Direktzugriff über einen Index. möglich.

PHDAM (Partitioned HDAM)

Bearbeiten

Obwohl ohne Index, ist Direktzugriff mit Hilfe einer Hash-Funktion (Randomizing-Routine) möglich. Sie berechnet für jeden Datensatz die Stelle innerhalb der Datenbank-Partition, an der dieser zu stehen hat. Bei der Allianz wurde von W. Fritsch ein Verfahren namens WMP (Woifis Magic Partitioning) entwickelt, mit dem die Speicherreihenfolge über alle Partitionen hinweg unabhängig von der Partitionsanzahl und identisch mit derjenigen einer (unpartitionierten) HDAM DB mit Randomizing-Routine DFSHDC40 ist.

PSINDEX (Partitioned Secondary Index)

Bearbeiten

Zu jeder PDHAM oder PHIDAM Datenbank können optional 0 bis n Sekundär-Indizes (PSINDEX) definiert werden.

Bearbeiten