Rolf B: PDO vs MySQLi

Beitrag lesen

Hallo TS,

Es ist z. B. sehr wahrscheinlich, dass ein eShop auf der eigenen Seite mit MySQL arbeitet, aber bei diversen Lieferanten direkte Datenbankzugänge erhält, die z. B. auf M$SQL, DB2, Informix, Postgre (SQL), oder anderen basieren.

Ich beziehe mich nur auf den fetten Teil.

Nein. Definitiv nein. Welcher Betreiber eines EDV-Systems, der seinen Verstand nicht morgens unter der Dusche vergessen hat, gewährt Geschäftspartnern direkten Zugang zur eigenen Datenbank? Das ist unverantwortlich, unflexibel, unsicher, kurz: Unsinn. Ich kenne Großunternehmen, die seit den 60ern EDV betreiben, und die Software auf dem Zentralrechner besteht aus Monstern der Kreuz- und Querzugriffe. Zumeist nur auf Komponentenebene, nicht auf DB-Ebene. Trotzdem ist die Folge, dass viele Änderungen unglaublich aufwändig sind, weil sie auf unglaublich viele Systeme durchschlagen. Der Zentralklotz ist ein Knäuel, das in den 70ern entstand und seitdem immer nur weiter verknäuelter wurde.

Den Fehler, direkte Datenbankzugriffe auf Systeme anderer Unternehmen zu machen, habe ich dabei immerhin nirgends gesehen.

Wenn ich mit einem Geschäftspartner Daten austauschen will, schaffe ich eine Service-Schnittstelle, die vom Datenmodell und der Datenbank abstrahiert. Ob das technisch dann als SOAP-, REST- oder sonstwie definiertem Service implementiert wird, ist egal, aber jedenfalls lasse ich niemanden, der nicht meiner Kontrolle unterliegt, direkt auf meiner DB herumwuseln.

Andersrum sollte man sich als Konsument einer Datenlieferung auch nicht drauf einlassen, sich die Daten direkt aus der DB des Lieferanten zu holen. Sonst hängt man bei jeder Schema-Änderung am Fliegenfänger und muss anpassen. Nixda, ein vereinbartes Interface hat unveränderlich zu sein, und wenn der Lieferant seine Datenhaltung anpasst, liegt die Verantwortung für die Einhaltung der Interface-Vereinbarung bei ihm. Geht die Anpassung so weit, dass das nicht mehr geht, ist zunächst ein neues Interface abzustimmen und eine Übergangszeit mit Parallelbetrieb erforderlich. Anders kann man lose gekoppelte Systeme nicht betreiben.

Rolf

--
sumpsi - posui - clusi