Die differenzierte Puffer- und Container-Technik des Data Base Handlers (DBH) bietet eine wichtige Funktion für die Durchsatzsteigerung. Puffer und Container sind Hauptspeicherbereiche zur Zwischenspeicherung bestimmter Daten.
Die wichtigsten Puffer und Container des SESAM/SQL-DBH sind folgende:
User-Data-Buffer - für Anwenderdaten
System-Data-Buffer - für Systemzugriffsdaten
Sicherungspuffer - für Transaktionssicherung und logische Datensicherung
Cursor-Puffer - für Zwischenergebnisse von Wiedergewinnungsanweisungen
Planpuffer - für SQL-Zugriffspläne
Transfer-Container - für Frage-/Antwortbereiche von SQL-Scans und logischen Dateien
Work-Container - für Arbeitsleisten
Ziel der Puffer- und Container-Technik ist es, Platten-Ein-/Ausgaben zu minimieren: Schreibaufträge, die sonst blockweise ausgeführt werden müssten, können gesammelt und zusammenhängend auf die Platte geschrieben werden.
Da Hauptspeicher nur in begrenztem Umfang vorhanden ist, können nicht alle zwischengespeicherten Datenblöcke resident gehalten werden. Die Datenblöcke der Pufferbereiche und des Work-Containers werden daher bei Pufferüberlauf verdrängt. Welche Blöcke verdrängt werden, entscheidet die Pufferverwaltung des DBH auf Grund von Kriterien, die den bestmöglichen Durchsatz zum Ziel haben. So legt der DBH für Daten mit unterschiedlichem Verdrängungsverhalten getrennte Pufferbereiche an, nimmt aber auch innerhalb der einzelnen Pufferbereiche die Verdrängung der Blöcke differenziert vor. Er vermeidet so, dass Blöcke mit häufig benötigten Informationen durch solche mit weniger häufig benötigten Informationen verdrängt werden.
Die folgenden Abschnitte beschreiben, welche Daten in den einzelnen Puffern und Containern zwischengespeichert werden.