![]() |
Datenbank: Interbase/FireBird • Version: 6 / 1.5 • Zugriff über: IBX / .NET-Provider
Fat Server oder lieber austauschbare Datenbank?
Hallo,
in unserem Programmierteam tobt ein Glaubenskrieg :twisted: - prinzipiell geht es darum, wieviel Funktionalität in den Datenbankserver ausgelagert werden sollte. Es gibt einerseits die Meinung, dass die komplette Businessschicht in der Datenbank als Stored Procedures implementiert sein sollte (Vorteil u.a.: Performancegewinn und Funktionalitätsbereitstellung für unterschiedliche auf die DB zugreifende Clients). Im Gegensatz dazu steht die Vorstellung, dass die Datenbank nur die Rolle eines reinen Datenspeichers spielt. Der Zugriff aus dem Programm erfolgt über eine möglichst universelle Datenzugriffsschicht, so dass das Datenbanksystem selbst austauschbar bleibt. Da sich diese Konzepte grundsätzlich beissen, würde uns eure Meinung dazu interessieren! |
Re: Fat Server oder lieber austauschbare Datenbank?
Zitat:
Zitat:
|
Re: Fat Server oder lieber austauschbare Datenbank?
Zitat:
Zitat:
|
Re: Fat Server oder lieber austauschbare Datenbank?
Zitat:
|
Re: Fat Server oder lieber austauschbare Datenbank?
Zitat:
Und was die Portabilität angeht: Du enwickelst für z.B. explizit für Oracle. Ein Kunde kommt zu Dir: 'Also wir würden hundert Lizenzen nehmen. Bei uns wird nur Firebird eingesetzt. Unterstützen Sie das?'. Der nächste Kunde kommt mit einer Konzernvorgabe: Nur SQL Server... |
Re: Fat Server oder lieber austauschbare Datenbank?
Ein Argument der Pro-Fat-Server-Fraktion lautet, dass eine universelle Datenzugriffschicht aufwändiger zu programmieren ist und nicht die jeweiligen Features der eingesetzten Datenbank berücksichtigen kann.
|
Re: Fat Server oder lieber austauschbare Datenbank?
Zitat:
|
Re: Fat Server oder lieber austauschbare Datenbank?
Eine universelle Datenzugriffsschicht gibt es schon. Die nennt sich DBx4 und ist im aktuellen Delphi dabei. Muss man nicht aufwändig programmieren.
Natürlich kann man damit irgendwelchen speziellen xy-Features einer speziellen Datenbank nicht nutzen. Und das ist gut so. Denn dieses Feature xy, welches es nur auf dieser Datenbank gibt, könnte letzlich dafür sorgen, dass man einen risiegen Auftrag nicht bekommt. Eben weil man die Anwendung nicht auf die einzige Datenbank protieren kann, die der Interessent eben z.B. durch Konzernvorgaben einsetzen muss. |
Re: Fat Server oder lieber austauschbare Datenbank?
Zitat:
Ußerdem ist selbst Oracles PL/SQL noch abartig hässlich, verglichen mit den Hochsprachen, mit denen man in einem Applikationsserver die Businesslogik implementieren würde. Und verglichen mit PL/SQL ist so ziemlich jeder andere prozedurale SQL-Dialekt abartig hässlich... ;-) Wenn das nicht in der DB gemacht wird, wird diese auch noch entlastet. Skalieren durch das Aufrüsten der Applikationsserver oder das Hinzufügen von weiteren kostet nur Hardware. Beim Aufrüsten von DB Servern fallen auch noch die recht happigen Lizenzgebühren an. (Es gibt kaum clusterfähige, freie DBMS') Ein DBMS, das nicht clusterfähig ist, als die einzige serverseitige Implementierung zu benutzen heißt, dass euer System gar nicht skalieren kann. Das ist ganz böse, denn solche System sind es die mit wachsenden Unternehmen irgendwann nicht mehr mithalten können. Ein verantwortungsvoller IT'ler würde sich also vehement gegen euer System aussprechen (und zu 100% recht haben!). Falls ihr euch in beiden Lagern nur um eine klassische 1990'er, 2-schichtige Client/Server-Anwendung gezankt habt, solltet ihr dringend über eine mehrschichtige Lösung nachdenken, bei der der Client keine Businesslogik implementiert, die steckt im App-Server. Außerdem ist die Datenbank nur innerhalb des Serverraums, nur für die App-Server sichtbar, was die ganze Sache viel sicherer macht. Außerdem könnt ihr so ein eigenes User-/Authentifizierungssystem benutzen, was mehr über einen User weiß als es ein DBMS könnte. Authentifizierung über LDAP oder Active Directory wäre dann auch möglich... |
Re: Fat Server oder lieber austauschbare Datenbank?
Zitat:
|
Re: Fat Server oder lieber austauschbare Datenbank?
Wenn mehr als eine Datenbank unterstützt werden soll, dann ist man gezwungen die gemeinsame Schnittmenge des Funktionsumfangs zu verwenden.
Manchmal bedeutet dies, dass man keine Stored Procedures verwenden kann, obwohl SPs zusätzliche Geschwindigkeit und Sicherheit bringen würden. Man sollte neben den SPs aber immer auch Views verwenden; diese sind bei fast jeder DB verfügbar. Stellt sich nun die Frage, wieviele und welche Datenbanken unterstützt werden sollen. Bei zwei oder drei verschiedenen Datenbanken ist es manchmal noch möglich, die SPs in allen Datenbanken zu verwenden. Hat man allerdings die Vision alle gängigen DBs zu unterstützten, wird die gemeinsame Schnittmenge sehr klein und der Aufwand sehr gross. ==> um den Glaubenskrieg zu entscheiden, muss bekannt sein, welche Datenbanken unterstützt werden sollen. |
Re: Fat Server oder lieber austauschbare Datenbank?
Zitat:
|
Re: Fat Server oder lieber austauschbare Datenbank?
[quote="squetk"]
Zitat:
|
Re: Fat Server oder lieber austauschbare Datenbank?
@Elvis:
Zitat:
Sind Client/Server-Lösungen unmodern? Mehrschichtige Anwendungen haben unbestritten ihre Vorteile - sind aber auch aufwändiger zu entwickeln. @Phoenix: Alle Versionen ab 2005. Aber wenn das stimmen sollte, dass die SP's u.U. nicht kompatibel sind, wäre das ein harter Schlag für die Fat-Server-Fraktion (Aussage: "...wer erstmal den SQL Server einsetzt, wechselt auf keine andere Datenbank mehr...") :-D |
Re: Fat Server oder lieber austauschbare Datenbank?
Es wird dir keiner heute sagen können, wie zukünftige Versionen aussehen, bzw. eine Garantie geben, dass deine SPs auf zukünftigen Versionen der Datenbanken gehen.
|
Re: Fat Server oder lieber austauschbare Datenbank?
Zitat:
Und die Aussage ist so schlichtweg falsch. Der SQL Server ist die einzige Datenbank, die sich nicht auf Linux-System einsetzen lässt. Ein absolutes K.O.-Kriterium für viele Rechenzentren in Firmen. Von allen anderen Datenbanken gibt es Linux-Versionen. Also eher noch ein Grund, auch andere Datenbanken zu unterstützen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz