Single-User, FileServer oder Client/Server – eine Frage, vor der vielleicht der eine oder andere Entwickler steht, der eine Datenbanklösung umsetzen möchte oder muss. Was sind die entscheidenden Vorteile und Nachteile bei den verschiedenen Varianten, die man wählen kann und was sollte man beachten?
Single-User Datenbanken: hier kann nur ein Nutzer gleichzeitig auf die Datenbank zugreifen. Geschieht dies, so wird die Datenbank komplett für andere Anwendungen oder Anwendungsinstanzen gesperrt, die versuchen, auf diese Datenbank zuzugreifen. Eine solche Lösung ist immer einfacher zu programmieren, weil man sich einfach keinerlei Gedanken darum machen muss, wenn Anwender A und B gleichzeitig einen Datensatz bearbeiten. Eine durchaus praktische Lösung, wann immer eine Anwendung keinen Mehrbenutzer – Zugriff benötigt, was oft bei vielen kleinen Anwendungen praktisch ist, die nur einen überschaubaren Zweck dienen.
FileServer – Datenbanken: hier können mehrere Anwender auf die Datenbank zugreifen. Man muss sich also durchaus Gedanken machen, was geschieht, wenn Anwender A etwas ändert und Anwender B gleichzeitig auf diese Datenbank zugreift. In der Regel wird bei einer FileServer-Lösung die Datenbank auf einem Server oder zumindest von allen Arbeitsstationen aus erreichbaren PC abgelegt und die Anwendungen, die auf den Arbeitsstationen eingerichtet sind, greifen dann auf den Pfad und die darin enthaltenen Datenbanken zu. Vorteil ist, dass die Installation meist einfach ist, man muss sich nicht mit der Installation eines Servers, dem Installieren von Services und eventuellen Problemen auf diversen Windows Systemen herumschlagen, oder mit Problemen, die durch all zu clevere Sicherheitslösungen verursacht werden.
Nachteil ist: da jeder Arbeitsplatz direkt auf die Tabellen zugreift, kann es durchaus zu Beschädigungen der Tabellen kommen, wenn ein Arbeitsplatz-PC zum Beispiel abstützt, eventuell wird die Tabelle nicht richtig geschlossen, Indexdatei und Tabelle nicht korrekt synchronisiert usw., diese Risiken sind aber i.d.R. überschaubar, solange nicht zu viele Anwender gleichzeitig darauf zugreifen. Jeder hat da so seine eigene Meinung, aber nach meiner würde ich sagen: FileServer bis 5 Anwender, die gleichzeitig mit der Datenbank arbeiten, mehr nicht.
Client/Server – Datenbanken: der klare Vorteil ist hier, dass nur der Server auf die Datenbank zugreift, nur er kommuniziert mit den Daten. Anwendungen kommunizieren nur mit dem Server, nicht mit der Datenbank. Vorteil: Stürzt eine Arbeitsstation ab, so hat dies i.d.R. keine Auswirkungen auf die Datenbank. Nachteil: die Installation eines Servers, dazugehöriger Benutzer, Rechte können eventuell mal etwas komplexer werden. Dennoch: die einzig wirklich sinnvolle Lösung auf modernen Windows Systemen, wenn viele Nutzer auf eine Datenbank zugreifen.
Eventualitäten bei der Datenbankplanung berücksichtigen
Von Vorteil ist jeder Entwickler, der von Anfang an weiß, welchen Umfang sein Programm haben wird, unglücklicherweise ist dies nicht immer so, es kann durchaus sein, dass man ein Programm plant, welches für eine Vielzahl von Anwendern ausgelegt wird, dann aber doch vorwiegend Einzelanwender anspricht, oder man entwickelt ein kleines Tool, welches einen solchen Anklang findet, dass eine größere Lösung sehr schnell angestrebt wird, weil es kommerziell Sinn macht.
Günstig sind dann Lösungen, die ein Upscaling erlauben, also Lösungen, die von vornherein wahlweise als Single, File/Server oder Client/Server arbeiten können. Was ganz sicher praktisch alle Datenbanken können ist das Arbeiten als Single-User oder als Client/Server, einige wenige bieten auch noch File/Server Szenarien an.
Bei der Auswahl einer Datenbank sollte man nicht nur das Jetzt, sondern auch das Eventuelle berücksichtigen. Praktisch sind übrigens auch immer Lösungen, die einfach zu verteilen sind, was bei Delphi Anwendungen eigentlich fast immer der Fall ist, bei vielen Anwendungen kommt man sogar fast ohne Zusatzdateien wie DLLs aus.
Nero Platinum Suite Black Friday Angebot 2024
WebSite X5 Winter Angebot mit 35% Rabatt
Professionelle Homepages / Online-Shops ohne Programmierung erstellen mit WebSite X5 und dabei aktuell 35% sparen:
WebSite X5 Evo jetzt bereits für 69,97 statt 99,95€
WebSite X5 Pro jetzt bereits für 139,97 Euro statt 199,95€
WebSite X5 Agency für 244,94 statt 349,95€