dedlfix: Templates: XML, DB oder/und PHP für Linkliste, Newsübersicht etc

Beitrag lesen

Hi!

[...] Auf dem Entwurfssystem den Dump erstellen und in das Produktivsystem nach einem Tabellenleeren einspielen.
muss dann aber dann der Administrator die Tabellen- bzw. Datenbankstruktur kennen - oder habe ich deine Dumpidee falsch verstanden? Und eine normalisierte Datenbank händisch zu aktualisieren ist - gerade für Leute, die die Arbeit mit Datenbanken nicht gewöhnt sind - immer schwierig.

Der Admin muss nicht zwangsläufig die DB-Interna kennen, wenn der Programmierer ihm ein Werkzeug liefert. Komfortabelerweise reicht ein Klick und das Programm fragt die Daten des Entwurfssystems ab und spielt sie in das Produktivsystem. Wenn das im Ganzen und nicht als Delta passiert ist das quasi wie ein Dump anzusehen. Auch zu Fuß muss der Admin nichts kennen, denn es gibt Dump-Werkzeuge für Kommandozeile oder auch im phpMyAdmin und ähnlichen Oberflächen. Einmal den Vorgang beschreiben, der die gesamte Datenbank (nicht das gesamte DBMS sondern nur die eine mit den CMS-Daten) dumpt (inklusive Struktur und DROP TABLE) und wie man dieses File am Zielsystem einliest.

Um ein mögliches Missverständnis zu beseitigen: In meiner XML-Datei sollen keine Informationen hinterlegt werden, die besagen, welche Daten gelöscht, hinzugefügt oder upgedatet werden sollen - kein xUpdate oder derartiges. Viel mehr sollen dort alle Daten aufgelistet werden. Das System vergleicht die Version der Daten aus der XML-Datei mit der Datenbank-Version der Daten. Es entscheidet dann selbst, ob Daten gelöscht, hinzugefügt oder upgedatet werden sollen.

Je mehr Daten desto aufwendiger wird der Vorgang gegenüber einem extra gepflegtem Delta.

Meiner Meinung nach hat XML gegenüber von Datenbanktabellen den Vorteil, dass die Daten in keine so harte Struktur gezwungen werden (muss). Wofür ich in Datenbanken X Tabellen brauche, kann ich in XML meist mit nur ein paar (verschachtelten) Elementen lösen. Außerdem kann ich XML-Dateien ganz einfach via Editor editieren. Oder bringt XML in diesem Anwendungsgebiet irgendwelche starken Nachteile mit sich?

Für ein CMS, das alle paar Tage mal die Daten ändert, mag XML aus Datenpflege-Sicht ausreichend sein. Aber bei Requests ständig die gesamte XML-Datei einlesen zu müssen, damit man an die gewünschten paar Daten gelangt, ist aufwendiger als gezielt etwas vom DBMS suchen zu lassen, das einige Optimierungen wie Index mitbringt. Alternativ ginge auch noch ein NoSQL-DBMS, das üblicherweise Dinge speichert, ohne sich großartig für die Struktur zu interessieren. Wenn du dich darüber informierst, achte mal darauf, wie in einer unstrukturierten Datensammlung gezielt gesucht werden kann. Meist muss man da ein eigenes Script mitliefern, das der Suchprozess auf jeden Eintrag anwendet.

Lo!