Neue Datenbankgeneration

SAP HANA - weniger In-Memory-, mehr operationale Datenbank

Funktionsweise von Datenbanken für Client-Server Anwendungen

Jedes DBMS ist selbst nach einem Client-Server-Modell aufgebaut. Dieses Modell besteht aus mehreren funktionalen Ebenen, entsprechend dem Aufbau jedes modernen Betriebssystems. Jeder der Layer kommuniziert dabei jeweils ausschliesslich mit seinem benachbarten Peer-Layer. Das sind die wesentlichen Kommunikations-Schichten einer DBMS:

Kommunikationsschichten einer Datenbank
Kommunikationsschichten einer Datenbank
Foto: Axel Angeli

Real Time OS: Grundlage der Technologie ist ein Real-Time Betriebssystem wie Windows, Unix, zOS und zunehmend auch virtuelle Cloud Betriebssysteme usw.

Physical Translation Layer (API): Die API dient dazu, dass die darüber liegende Schicht keine Kenntnis zum tatsächlichen Betriebssystem haben muss. Es wird ein virtuelles Betriebssystem emuliert.

Physical Storage Layer: Diese Ebene entscheidet, welche Speichermethode verwendet wird. Auf dieser Ebene finden sich auch die Optimierungs-Algorithmen.

Cluster (Multi-Server) Arbitration Layer: Die Multi-Server Arbitration sorgt dafür, dass auch bei verteilten Systemen die Datenkonsistenz bewahrt wird.

Transaction Management Layer (Concurrency): Auf dieser Ebene werden die konkurrierenden Zugriffe von verschiedenen Clients auf dieselben Entitäten gesteuert und sichergestellt, dass nur konsistente Daten bereit gestellt werden.

Object Access Layer: Der Object Layer stellt die Abfragesprache beziehungsweise API und das Zugriffsmodell bereit, mit der eine Anwendung auf die Daten zugreifen kann. Hier wird zwischen SQL, OLTP, OLAP und den zahlreichen anderen Zugriffen eines ODBMS unterschieden.

Für die nähere Betrachtung mit Blick auf den modernen Nutzen als ODBMS interessieren uns vor allem die Storage Engine und der Object Access Layer:

  • Storage Engine - auch Persistenz-Layer genannt, ist die Komponente, die für die physikalische Speicherung von Daten zuständig ist.

  • Hinter dem Object Access Layer verbirgt sich die Query Language: Diese Komponente übersetzt Anfragen in entsprechende Befehle für die Storage Engine zum Lesen und Schreiben von Daten.