ORM oder direktes SQL? Wie Schema updaten?
Verfasst: Montag 5. Dezember 2011, 23:23
Hallo Forum,
mangels fehlender Erfahrung meinerseits, und der unüberschaubar großen Auswahl an Bibliotheken und Tools, wollte ich an dieser Stelle vorsichtig wie ihr mit der Datenbankanbindung umgeht.
Meine Erfahrungen kommen aus der Java Ecke mit Hiberante, und das ist auch schon eine Weile her.
Angenommen ihr entwickelt an einer Anwendung die allgemein interessant sein könnte, also nicht nur in einer Umgebung (daheim, Firma) die ihr weitestgehend unter Kontrolle habt.
Um dem Anwender eine möglichst gute Möglichkeit zu geben eine Anwendung in seine bisherige Systemlandschaft zu integrieren könnte man eine entsprechende Middleware einsetzen (also so etwas wie SQL Alchemy). Der Anwender könnte mit relativ wenig Konfiguration dafür sorgen, dass die Anwendung auf dem bestehenden DBMS eine Datenbank anlegt und entsprechend verwendet.
Das sehe ich als Vorteil gegenüber der direkten Benutzung einer bestimmten Datenbank. Obwohl so eine Middleware unter Umständen Features der Datenbank verdeckt.
Als großen Nachteil sehe ich, dass irgendwann im Zuge eines Updates der Anwendung auch Updates am Schema der Datenbank vorgenommen werden müssen. Würde ich direkt und "hard" auf einer Datenbank entwickeln würde ich für das Update entsprechende "ALTER"-Statements nacheinander ablaufen lassen und die Datenbank wäre bereit für die neue Version.
Bei einer verwendeten Middleware fühlt man sich dann immer so... hilflos
Mag mir jemand beim Abwägen helfen?
Gruß
Sparrow
mangels fehlender Erfahrung meinerseits, und der unüberschaubar großen Auswahl an Bibliotheken und Tools, wollte ich an dieser Stelle vorsichtig wie ihr mit der Datenbankanbindung umgeht.
Meine Erfahrungen kommen aus der Java Ecke mit Hiberante, und das ist auch schon eine Weile her.
Angenommen ihr entwickelt an einer Anwendung die allgemein interessant sein könnte, also nicht nur in einer Umgebung (daheim, Firma) die ihr weitestgehend unter Kontrolle habt.
Um dem Anwender eine möglichst gute Möglichkeit zu geben eine Anwendung in seine bisherige Systemlandschaft zu integrieren könnte man eine entsprechende Middleware einsetzen (also so etwas wie SQL Alchemy). Der Anwender könnte mit relativ wenig Konfiguration dafür sorgen, dass die Anwendung auf dem bestehenden DBMS eine Datenbank anlegt und entsprechend verwendet.
Das sehe ich als Vorteil gegenüber der direkten Benutzung einer bestimmten Datenbank. Obwohl so eine Middleware unter Umständen Features der Datenbank verdeckt.
Als großen Nachteil sehe ich, dass irgendwann im Zuge eines Updates der Anwendung auch Updates am Schema der Datenbank vorgenommen werden müssen. Würde ich direkt und "hard" auf einer Datenbank entwickeln würde ich für das Update entsprechende "ALTER"-Statements nacheinander ablaufen lassen und die Datenbank wäre bereit für die neue Version.
Bei einer verwendeten Middleware fühlt man sich dann immer so... hilflos

Mag mir jemand beim Abwägen helfen?

Gruß
Sparrow