Hardware-Trend des Marktführers braucht nicht zu schrecken:

Wer IBM sagte muß auch VSAM sagen

24.08.1979

HAMBURG - In der großen Familie der Dienst-Programme nehmen die Zugriffs-Methoden, insbesondere jene für Platten-Zugriffe, eine besondere Stellung ein: Anders als viele andere Utilities sind sie nicht einfach nur "nützlich", sondern sie sind notwendig in dem Sinne, daß ein vernünftiges Arbeiten ohne sie nicht möglich Entsprechend dringlich schiebt sich ein Problem für bisherige ISAM/DAM-Anwender in den Vordergrund, das aus der Tatsache folgt, daß IBMs zukünftige Hardware als direkt unterstützende Zugriffs-Methode nur noch VSAM zuläßt. Die Konsequenz daraus sind Programm-Umstellungen, denen auf Dauer niemand ausweichen kann. Der folgende Erfahrungsbericht einer größeren VSAM-Umstellung will versuchen, die immer noch verbreiteten Vorbehalte gegen die unbekannte Größe VSAM zu objektiveren.

Obgleich sich die "Virtual Storage Access Method" seit mehreren Jahren in der Landschaft der Basis-Software fest etabliert hat, gibt es noch immer zahlreiche Anwender, die auf "VSAM" die Eigenschaft "grausam" reimen. Diese Befangenheit war es auch, die -gemischte Gefühle erzeugte, als ein Beratungskunde den Auftrag erteilte, ein komplexes Dialog-System mit umfangreichem Batch-Teil auf VSAM-Füße zu stellen. Da es sich hierbei um ein Standard-Paket landete (System RF "Finanzbuchhaltung" des Walldorfer Softwarehauses SAP), bestand als Nebenbedingung die Forderung nach unveränderter Anwendungs-Logik. Das System, das bei einem Hamburger Anwender auf einer IBM/370-158 unter DOS/VS läuft, bildet den Hintergrund zu diesem Bericht. Mit 17 ISAM- und DAM-Dateien ist es zu den größeren Anwendungs-Systemen zu zählen, so daß die hier gewonnenen Umstellungs-Erfahrungen hinreichend repräsentativen Charakter haben dürften.

Grundlose Skepsis

Um das Ergebnis vorwegzunehmen: Die Vorbehalte gegen VSAM sind, unter dem Strich betrachtet, durchweg unhaltbar. Dies gilt nicht allein für Neu-Programmierung mit Hilfe von VSAM, sondern gleichermaßen für die Umstellung von ISAM-/DAM-Routinen. Zur Erhärtung dieser Aussage soll das Zugriffs-System VSAM anhand folgender Bewertungs-Kriterien dargestellt werden (ein Anspruch auf Vollständigkeit wird nicht erhoben):

- Abwärts-Kompatibilität

- Benutzerfreundlichkeit

- Leistungs-Umfang

- System-Performance

Die Frage der Kompatibilität mit den bisher verwendeten Datei-Zugriffs-Routinen ist für den VSAM-Neuling von besonderer Relevanz, bestimmt sie doch das Ausmaß und damit die Kosten der Umstellung von alten, aber noch nicht veralteten Programmen. Vordergründig betrachtet, schlägt dieser Punkt von auf die Negativ-Seite der VSAM-Bilanz, denn ISAM/DAM-kompatibel im formalen Sinn ist bekanntlich gar nichts an VSAM (abgesehen von dem ISAM/ VSAM-Interface, das die IBM bereitstellt, aber mit erheblichen Einschränkungen bezahlt werden muß).

Formal betrachtet ist bei VSAM alles anders, neu und verwirrend; geht man aber den zahlreichen neuen Begriffen auf den Grund ihres Wesens, so stellt man fest, daß zum großen Teil nur die Namen neu sind. So ist VSAM kein monolithischer Block, sondern zerfällt in drei wohl unterscheidbare Zugriffs-Formen, analog den drei VSAM-Datei-Organisations-Formen:

- KSDS (Key-sequenced Data Set)

- RRDS (Relative-Record Data Set)

- ESDS (Entry-sequenced Data Set).

Dabei verbergen sich hinter KSDS und RRDS - vom Wesen her - keine anderen als die alten Bekannten IS und DA. Unerheblich für die Zulässigkeit dieser Analogie sind die durchaus beträchtlichen Unterschiede in der internen Arbeitsweise, im formalen Coding und im administrativen Umfeld der Dateien. Entscheidend für die Bewertung der Abwärts-Kompatibilität kann allein die direkte Vergleichbarkeit der System-Komponenten auf Anwender-Ebene sein, weil sie die Voraussetzung für zeitsparende 1:1-Umstellungen bietet.

Mag auch der Begriff "benutzerfreundlich" nur schwer objektivierbar sein - einige kaum bestreitbare Komfort-Merkmale gegenüber ISAM/DAM lassen sich feststellen: - Unterscheidung von Datei-Verarbeitung und Datei-Verwaltung. Durch Auslagerung aller physischen Datei-Merkmale von der Programm-Ebene auf die administrative Ebene kann eine weitgehende Unabhängigkeit der Programme von nicht-anwendungsspezifischen Datei-Merkmalen erzielt werden.

Benutzerfreundlichkeit: Ohne Assembler unvollständig

Für die administrativen Aufgaben steht die Multi-Funktions-Utility AMS (Access Method Service) zur Verfügung, die allerdings in ihrem Anwendungs-Formalismus als etwas gewöhnungsbedürftig bezeichnet werden muß.

- Einheitliches Aufruf-Format. Die bei ISAM/DAM vorhandene Vielfalt des Zugriffs-Formalismus entfällt. Alle drei VSAM-Datei-Organisationsformen werden mit demselben Satz von Befehlen und Parametern verarbeitet. Außerdem besteht weitgehende Übereinstimmung zwischen OS und DOS. Im CICS wird VSAM von den normalen FILE-CONTROL-Aufrufen unterstützt.

- Fehlerbehandlung. VSAM verfügt über eine detaillierte und einheitliche Fehlerbehandlung, die sich auch durch grobe Anwender-Fehler nicht irritieren läßt, sondern stets eine aufschlußreiche Diagnose an den Benutzer zurückmeldet. Dies gilt nicht nur für die Programm-Ebene, sondern gleichermaßen für den administrativen Teil (AMS).

- Jedoch auch ein Wermutstropfen ist zu verdauen: Um alle Möglichkeiten von VSAM "auszureizen", muß man sich der Assembler-Sprache bedienen. Die gegenwärtig erhältlichen Compiler unterstützen VSAM-Zugriffe nicht in allen Funktionen. Den sanften Zwang zu Assembler-Programmierung mag mancher Anwender als benutzerfreundlich empfinden.

Leistungs-Umfang: DB-Komfort in weiter Ferne

Stellt man VSAM als ganzes ISAM/ DAM gegenüber, so muß man, will man zu einem fairen Ergebnis gelangen, der unterschiedlichen Leistungs-Breite bei der Vergleichsobjekte Rechnung tragen. Zwar gehört VSAM wie ISAM und DAM in die Gruppe der Basis-Zugriffs-Routinen, ist damit also noch weit entfernt vom Komfort und Leistungsvermögen gängiger Datenbank-Systeme; betrachtet man aber VSAM-Eigenschaften wie Sekundär-Index-Verwaltung, variable Satzlänge, Fortfall von Satzblockung, etc., so muß man VSAM eine eigene Leistungsklasse einordnen, die deutlich höher liegt als diejenige der herkömmlichen Zugriffs-Methoden.

Die Umstellungs-Arbeiten an dem SAP-System haben gezeigt, daß neben einem deutlich, umfassenderen Leistungs-Volumen die Abdeckung der primitiven" Anforderungen von IS-/ DA-Dateien gleichermaßen möglich ist, und zwar ohne in die Logik der Anwendungsprogramme eingreifen zu müssen.

Dieses Ergebnis kann als repräsentativ für beliebige ISAM/DAM-Anwendungen gelten, da die Programme des SAP-Paketes die ganze Bandbreite von ISAM/DAM-Funktionen enthalten. Selbst "exotische" DAM-Anwendungen wie undefiniertes Satzformat lassen sich auf VSAM problemlos abbilden.

Jede Leistung hat ihren Preis - das gilt auch für VSAM. Mehr Leistung bedeutet in der Regel mehr Instruktionen, und damit mehr Hauptspeicher-Bedarf und längere Lauf-/Antwortzeiten. Nun würde es sicherlich zu weit führen, an dieser Stelle alle Möglichkeiten des VSAM-Tunings zu erörtern; ob CI-Size-Optimierung, Benutzung von User-Buffern oder bestimmte Programmier-Strategien: Nichts kann darüber hinwegtäuschen, daß auch für VSAM die Regel von der Substituierbarkeit von Zeit und Raum gilt, sprich: Gibst du mir mehr Speicher, geb? ich dir die Antwort schneller.

System-Performance: MB-Denkweise empfohlen

Der VSAM-Adept ist in der Regel gut beraten, wenn er sich als Maßeinheit für virtuelle Partition-Größen des Megabyte angewöhnt: Ein halbes ist gut, ein vierter bei größeren Anwendungen unzureichend; und falls CICS im Spiel ist. gilt ein ganzes als guter Wert. Nicht zu vergessen eine ausreichende Transient-Area. Wohlgemerkt, es läuft auch mit weniger, nur vielleicht nicht ganz so schnell. Zugegeben: Von allen gewonnenen Ergebnissen sind jene über Zeit- und Speicherbedarf wahrscheinlich am wenigsten repräsentativ.

Ein weiteres Bewertungs-Kriterium ist die Erlernbarkeit, denn die Leistungs-Vielfalt erschließt sich nur demjenigen, der die Formal-Regeln der VSAM-Anwendung beherrscht. Nun hat jeder seine eigene Lernmethodik und -Geschwindigkeit, die Frage ist also kaum allgemein zu beantworten.

Dennoch besteht die Möglichkeit, mit geringem Lern-Aufwand einen sicheren und ausbaufähigen Weg ins VSAM-Neuland zu finden: Wichtig dabei ist, einen Lehr-Stoff zu finden, der anfängergerecht aufbereitet ist und sich zunächst auf die einfachen VSAM-Funktionen beschränkt. Denn VSAM ist wie eine Zwiebel, schalenförmig aufgebaut: Die Oberfläche ist leicht zugänglich, der Weg ins Innere führt oft über Tränen.

Doch das muß den ausgezeichneten Gesamt-Eindruck nicht trüben; gemessen an ISAM und DAM erweist sich VSAM als ausgereifte, zuverlässige Basis-Software, die dem Benutzer selten Rätsel aufgibt. Diese Wertung mag manchen (erfahrenen) Leser als unangemessen positiv erscheinen; deshalb sei zugegeben, daß es durchaus auch Momente gab, in denen man VSAM zum Teufel hätte wünschen mögen.

- Diplom-Volkswirt Lutz Wagner arbeitet für das "Büro für DV-Beratung und Software-Service" in Eppendorfer Weg 55, 2000 Harnburg 19, Tel.: 040/4 91 63 43