Peppy: xml oder mysql

ich hab jetzt mal länger rumgesucht, aber so richtig konnte meine frage nicht beantwortet werden.

wie viel sinn macht es, mit php ein kleines cms zu programmieren und die daten in xml-dateien zu speichern, anstatt in einer mysql-datenbank?

hier hab ich was zu dem thema gefunden, allerdings hat es mir nicht so wirklich weitergeholfen:
http://forum.de.selfhtml.org/archiv/2003/1/34339/#m187087

hat jemand won euch erfahrungen damit?
welche vor-/ nachteile seht ihr?

  1. Hallo,

    Viele XML Betsandteile in PHP werden noch als experimentell angesehen. Es gibt eine ganze Anzahl von Klassen (etwa PEAR XML), um XML Dateien auszulesen, aber richtig komfortabel ist keine davon (bis jetzt). XML zu schreiben ist dagegen kein Problem. Ein Blick auf die Tamino-DB wird sich in diesem Zusammenhang lohnen (siehe auch PHP Magazin <www.phpmag.de>).

    Insgesamt finde ich es zu frueh, XML als Ersatz fuer kleine DB's einzusetzen. Dagegen spricht auch, dass XML-Dokumente strenggenommen kiene Datenbanken sind, sondern Dokumente die eine Struktur beschreiben. Am besten finde ich, im Moment MySQL 3.xx, weil es halt sehr haeufig bei Providern zur Verfuegung steht. Mit Hinblick auf die kommende Entwicklung wuerde ich aber die PEAR DB Klassen zur Verbindung und Auswertung benutzen, weil Du dann relativ unabhaengig von der verwendeten DB bist. Freie Alternativen zu MySQL 3.x sind MySQL 4.x, PostgreSQL und Firebird. Auch Access ist natuerlich recht weit verbreitet und ich meine, die PEAR DB Class koennte auch via ODBC kommunizieren. Was den Server anbetrifft, ist Apache 1.3 im Moment die erste Wahl, du solltest aber auch Apache 2, IIS und vielleicht Omnihttp testen.

    Schlussfolgerung: XML zum Experimentieren ja, in der Produktion nein.

    Dieter

  2. Hallo!

    wie viel sinn macht es, mit php ein kleines cms zu programmieren und die daten in xml-dateien zu speichern, anstatt in einer mysql-datenbank?

    Wenn das CMS ein autonome Anwendung ist, solltest Du Dich für MySQL entscheiden. Was würde Dir XML bringen? Mußt Du Daten Anwendungs- und Plattformunabhängig bereit stellen?

    PHP und MySQL sind wesendlich schneller, als MySQL und XML, wenn zur Transformierung des XML-Daten ein XSLT-Prozessor verwendet wird. Keine Ahnung wie schnell die "PEAR-Extension" XML-Transformer und ähnliche Scripte sind.

    hier hab ich was zu dem thema gefunden, allerdings hat es mir nicht so wirklich weitergeholfen:
    http://forum.de.selfhtml.org/archiv/2003/1/34339/#m187087

    hat jemand won euch erfahrungen damit?
    welche vor-/ nachteile seht ihr?

    Unter http://xml.kombinat-laugks.de findest Du eine Anwendung (Testspeilerei), in der alle Daten in einer XML-Datei (8500 Zeilen und 300 KB groß) stehen. Die Transformatierung läuft über Sablotron (XSLT-Prozessor). Die "Kommunikation" mit dem Prozessor läuft über PHP. Mache Dir selber ein Bild das es sehr langsam ist...
    Die Bilder und Daten sind von einer Modelagentur. Auf desen Webseite läuft das mit PHP und MySQL und ist ratenschnell.

    Achtung: Ich habe die Bilder verfremdet, Dein Monitor ist nicht defekt.

    MfG, André Laugks

    --
    L-Andre @ gmx.de
    1. Wenn das CMS ein autonome Anwendung ist, solltest Du Dich für MySQL entscheiden. Was würde Dir XML bringen? Mußt Du Daten Anwendungs- und Plattformunabhängig bereit stellen?

      ich hatte lediglich daran gedacht mit xml etwas rumzuexperimentieren.
      auf der seite
      http://www.ruhrpottkegler.de
      habe ich ein kleines adminsystem über eine mysql-datenbank.

      die seite wollte ich demnächst überarbeiten.
      und da es nie schadet sich etwas weiterzubilden dachte ich, dass es eventuell sinn macht das mal mit xml zu versuchen.

      allerdings kann ich den webspace nicht konfigurieren. deshalb weiss ich auch noch nicht genau, ob ich da mit PEAR-Extension arbeiten kann.
      da muss ich mich erstmal schlau machen, wie PEAR-Extension funktionieren.....

      1. Hallo!

        ich hatte lediglich daran gedacht mit xml etwas rumzuexperimentieren.

        auf der seite
        http://www.ruhrpottkegler.de
        habe ich ein kleines adminsystem über eine mysql-datenbank.

        die seite wollte ich demnächst überarbeiten.
        und da es nie schadet sich etwas weiterzubilden dachte ich, dass es eventuell sinn macht das mal mit xml zu versuchen.

        Wenn Du XML für sinnvoller hälst, dann verwende es.

        allerdings kann ich den webspace nicht konfigurieren. deshalb weiss ich auch noch nicht genau, ob ich da mit PEAR-Extension arbeiten kann.

        Kannst Du, weil es ganz normale PHP-Scripte sind.

        da muss ich mich erstmal schlau machen, wie PEAR-Extension funktionieren.....

        Keine Ahnung ob man das Extension nennt oder sogar Modul.

        MfG, André Laugks

        --
        L-Andre @ gmx.de
  3. Hallo Peppy,

    es hängt von den Daten und deren Struktur ab, ob XML oder eine DB sinnvoller ist. Wenn Du relativ kleine Datenmengen aber komplexe, baumartige Strukturen vorliegen hast, wird eine Abbildung in XML wohl einfacher, schneller und sinnvoller sein, als in einem DB-Schema. Liegen dagegen sehr große Datenmengen vor, die sich relativ leicht in Tabellen und Relationen zu anderen Daten, bzw. Tabellen ablegen lassen, würdest Du ohne Datenbank allerdings Performance-Probleme bekommen. Du könntest zwar auch mit XML Index-Tabellen anlegen aber das wäre in meinen Augen ein viel zu hoher Aufwand, weil Datenbanken solche Dinge von Haus aus bieten.

    Für die internen Abläufe innerhalb eines CMS wäre IMHO eine Mischung aus XML und klassischer DB empfehlenswert. Das Design, bzw. Layout einer Webseite läßt sich durch die Verwandschaft mit HTML wunderbar in XML abbilden. Das gilt auch für gewöhnliche Artikel, bzw. Fließtexte mit Grafiken und Verweisen. Sobald allerdings größere Tabellen oder Listen auftauchen, lohnt sich die Anbindung einer DB-Quelle. Du könntest doch ein CMS mit DB-Schnittstelle entwickeln, so dass man zusätzlich zu XML bei Bedarf auch Datenbanken einbinden kann...

    Gruß,
    Danny