Workshop 2008-04-02-23 - 2006-04-24
Bundesfinanzakademie Wien
Datenbanken und deren Zugriff
willi moser (2008-04-22)
Ein desktop-basiertes DBMS ist dadurch gekennzeichnet, dass der
Betriebssystem - Prozess, der auf die Datenbank zugreift, nur in der Zeit aktiv
sein muss, in welcher die Datenbank tatsächlich benutzt wird. Damit können
verschiedene Instanzen desselben DBMS auf verschiedenen Rechnern gestartet
werden und versuchen, auf dieselbe logische Datenbank zuzugreifen, deren Datei
auf einem Netzlaufwerk freigegeben worden ist. Jede dieser Instanzen muss
freiwillig Zugriffe anderer Instanzen respektieren und eventuell gesetzte
Schreibsperren beachten. Ein böswillig geschriebenes oder einfach fehlerhaftes
Programm kann ebenfalls auf die Datenbank zugreifen und deren Inhalt beliebig
verändern, so dass die Datenbank zerstört wird. Der Rechner, auf dem die
Datenbank-Datei liegt, wird nur als Fileserver verwendet. Alle Filter- und
Sortiervorgänge werden ausschließlich von den Benutzerprozessen erledigt, so
dass sich eine solche Instanz alle Daten über das Netzwerk holt, erst lokal
wenige Zeilen aussondert und diese dem Nutzer anzeigt. Fordert ein anderer
Nutzer dieselbe Teilmenge von Daten an, führt der Betriebssystem - Prozess
dieses Nutzers dieselbe Aktivität durch. Sollen Sicherungen erstellt werden, so
gelingt dies nur durch ein physikalisches Kopieren der Datei. Wird die Datei so
beschädigt, dass sie nicht mehr verwendbar ist, kann nur auf die eventuell
mehrere Stunden alte Sicherung zurückgegriffen werden, so dass alle in der
Zwischenzeit erfolgten Änderungen verloren sind.
Beispiel:
Eine Access-Datenbank auf einem freigegebenen Laufwerk. Mehrere Benutzer starten
auf ihrem Rechner Access und öffnen die Datenbank. Zusätzlich schreibt jemand
ein Programm, welches direkt, unter Umgehung der üblichen Treiber, auf die
Datenbank zugreift und diese als Textdatei anspricht.
Ein serverbasiertes DBMS ist durch mindestens einen kontinuierlich laufenden
Betriebssystem - Prozess charakterisiert, welcher vom Server-Betriebssystem
verwaltet und geschützt wird. Nur dieser weiß, wo die physikalischen Dateien
tatsächlich liegen und verbietet jedem anderen Prozess den Zugriff auf diese.
Dieser Prozess stellt verschiedene Kommunikations-Schnittstellen zur Verfügung,
die von Nutzern angesprochen werden können. Alle über die Schnittstellen
mitgeteilten Wünsche werden zunächst vom Server - Prozess analysiert. Nur wenn
die Befehle syntaktisch korrekt sind und die Berechtigung für diesen Zugriff
vorliegt, wird die Befehlsfolge ausgeführt und gegebenenfalls Daten
zurückgesandt. Fordert ein Nutzer nur wenige Datensätze an, so wird die
Filterung sofort auf dem Server durchgeführt, für das Senden der Daten sind nur
geringe Netzwerk-Ressourcen notwendig. Fordern mehrere Nutzer dieselben
Informationen ab, können spätere Anfragen direkt aus dem Arbeitsspeicher heraus
beantwortet werden, so dass die Antwortzeit entsprechend verkürzt wird.
Sicherungen können während des laufenden Betriebs vom Serverprozess erstellt
werden.
Vergleicht man diese beiden Typen mit einem klassischen Archiv, so entspricht
einem Desktop-System ein Archiv, das frei zugänglich ist, bei dem jeder
Archiv-Nutzer selbst zu den Regalen geht, in den Akten blättert oder einen
Ordner aus dem Regal nimmt und an einer anderen Stelle wieder einstellt. Die
Integrität und Konsistenz des Archivs ist also vollständig vom Verhalten der
Nutzer abhängig, die Logik der Archivierung muss jedem Nutzer neu erläutert
werden.
Eine serverbasierte Datenbank-Lösung lässt sich dagegen beschreiben als eine Art
Hochsicherheitstrakt mit frei zugänglichem Eingangsbereich. Die Nutzer haben
keinen Zutritt zu den Stockwerken und Regalen, sie dürfen im Erdgeschoß ihre
Wünsche interaktiv oder telefonisch mitteilen. Nur, wenn die Wünsche syntaktisch
korrekt formuliert und die notwendige Berechtigung vorliegt, wird ausschließlich
das erlaubte Datenpaket zugesandt.
[ top ]
Workshop 2008-04-02-23 - 2006-04-24
Bundesfinanzakademie Wien
Datenbanken und deren Zugriff
willi moser (2008-04-22)