⚡ Neueste Beiträge

Datenbankunabhängigkeit in PHP

15.01.2005, 16:55 #1 (Permalink)
Atomic
Administrator 10 Jahre hx3
5000 Beiträge
Avatar von Atomic
Registriert seit: 21.02.2003
Ort: Köln
Alter: 41
Beiträge: 5.164
Datenbankunabhängigkeit in PHP

Wie der Name schon sagt ist Datenbankunabhängigkeit wenn Websites/Webanwendungen nicht ein eine spezielle Datenbanksoftware (MySQL,MSSQL,ODBC,PostgreSQL...) gebunden ist sondern eben jede x-beliebige akzeptiert.

Gerade PHP ist eine Sprache die sehr viele Datenbankarten von Haus aus unterstützt.

Das Prinzip ist einfach:

Da alle ernsten Datenbanken mit der Sprache SQL arbeiten brauchen wir nur unseren SQL-Befehl an die jeweilige Datenbank übereichen und das was diese uns zurücksendet in ein einheitlichen Format packen.

Sogesehen ist Datenbankunabhängigkeit ein Kinderspiel.
Aber diese Art von Lösung bringt uns nicht wirklich viel.

Das liegt daran weil SQL nicht gleich SQL ist. Ich meine die Sprache SQL selbst unterliegt schon festen Standarts den die aktuellen Datenbanken auch konsequent einhalten.. jedoch doch die Funktionen und Features die über SQL genutzt werden sind von Datenbank zu Datenbank unterschiedlich. Eine SQLite Datenbank kann nunmal nicht mit Oracle mithalten. Darüber hinaus: Unterschiedliche Datenbankformate und Spaltentypen.

Es hängt also vom Programmierer ab ob er in seiner Anwendung die Features einer speziellen Datenbank nutzen will oder lieber einfaches datenbankunabhängiges SQL.

So und jetzt denken wir einmal in einem größerem Rahmen.
Nehmen wir mal wir hätten ein großes CMS System mit Framework und allem was dazugehört. Da haben wir auf der einen Seite die eingebildeten Kunden die umbedingt ihre n Microsoft SQL Server nutzen wollen und die "verückten" Programmierer die für das Framework fleisig Erweiterungen schreiben und dabei ohne Rücksicht auf das Gesamtprodukt zu nehmen ihren Programmierstil mit sammt den Vorlieben für exotische Features die eben nicht alle Datenbanken bieten durchsetzen.

Jetzt kann man A: Dem Kunden sagen das eine MySQL Datenbank noch niemandem geschadet hat. Sehr wahrscheinlich wird der Kunde der für sein Geld Leistung erwartet sich damit nicht zufrienden geben
Oder B: Wir frustrieren die freihe Entwicklergemeinde
Oder C: Wir machen das was alle machen ;) Nämlich allen gut zureden und hoffen das keine Probleme zwischen den verschiedenen Datenbanken auftreten.. und wenn doch dann schieben wir das Problem auf den Datenbank-Hersteller und/oder behandeln es wie einen Bug in der Anwendung obwohl es eigendlich keiner ist.

In der Vergangenheit hab ich versucht das Problem zu lösen in dem ich SQL durch eine schicke OOP-API ersetzt habe. Das ist zwar ganz nett.. besonders für jüngere Programmierer die sich mit SQL noch ein wenig überfordert fühlen aber man kann leider alle Einsatzzwecke abdecken. Hinzu kommt die unnötige Verschwendung von Resourcen (Rechenpower).

===

So und jetzt zum eigendlichen Grund für diesen Thread:

Was ist eure Einstellung zum Thema Datenbankunabhängigkeit?

Wichtig/Unwichtig?
Lösungsvorschläge?
__________________
https://savetheinternet.info/
17.01.2005, 00:02 #2 (Permalink)
Dr. Doom
50 Beiträge
Registriert seit: 20.11.2004
Beiträge: 59
AW: Datenbankunabhängigkeit in PHP

Zitat von AtomicHX3
Wichtig/Unwichtig?
Auf jeden Fall WICHIG!
Zitat von AtomicHX3
Lösungsvorschläge?
Ja, die Lösung ist eigentlich die SQL Sprache simpel zu halten. Die eigentliche Arbeit muss die DB leisten. Sonderfunktionen für mySQL (ja, ich schreib vorrangig für mySQL) werden gefiltert bzw. so umgebaut, dass sie auch in anderen DBs funktionieren.
18.02.2005, 17:28 #3 (Permalink)
Michel
Newbie
Registriert seit: 18.02.2005
Beiträge: 3
AW: Datenbankunabhängigkeit in PHP

Im Prinzip entscheidet der Kunde über den Auftrag und wenn auch durch gute Argumente der Kunde nicht auf eine "freie" Datenbank wie zum Beispiel MySQL gebracht werden kann, muss auf die Technologie aufgesetzt werden die der Kunde entscheidet. Allgemein halte ich es für sinnovoll generischen Code zu schreiben und damit die Skalierbarkeit der Anwendung weigehends zu unterstüzen. Gerade hinsichtlich der Datenbank wahl gibt es genial einfachen Klassen wie PEAR::DB oder AdoDB, die die spätere Datenbankauswahl sehr flexibel gestalten lässt.

Fazit: Schreibt sauberen und guten Code und haltet euch möglichst frei von der Technik. Es gibt wirklich keinen Grund Datenbankspezifische Anwendungen zu schreiben.

Gruss,

Michel
18.02.2005, 20:40 #4 (Permalink)
Atomic
Administrator 10 Jahre hx3
5000 Beiträge
Avatar von Atomic
Registriert seit: 21.02.2003
Ort: Köln
Alter: 41
Beiträge: 5.164
AW: Datenbankunabhängigkeit in PHP

Zitat von Michel
Fazit: Schreibt sauberen und guten Code und haltet euch möglichst frei von der Technik. Es gibt wirklich keinen Grund Datenbankspezifische Anwendungen zu schreiben.
Das sehe ich mittlerweile genauso.
__________________
https://savetheinternet.info/
HX3 Foren · Startseite · Archiv · Impressum · Datenschutz