hotti: PhP/XML

Beitrag lesen

hi,

Meine Idee war, das Ganze in einer XML-Datenbank zu realisieren, da eine DB nicht zur Verfügung steht.

Eines vorweg: XML dient zum Daten_austausch_. Zum Speichern von Daten für eine Anwendung, die damit arbeiten soll ist das ungeeignet. Was die Performance betrifft, da hatte ich neulich das Vergnügen zu einem Vergleich:

Textdatei: 400 MB, Einlesen dauert 1 Minute.
Binärdatei (mit gleicher Nutzdatenmenge): 100 MB, in 15 Sekunden eingelesen.

Wobei in beiden Fällen mit allen Daten die gleiche Datenstruktur in den RAM gelesen wurde; was bei einer Web-Anwendung jedoch auch im Fall einer Binärdatei nicht mehr vertretbar ist. Fazit: Schaffe Dir eine DB-Anbindung, damit sind kleinere Datenmengen im Hauptspeicher und das ist dann auch performanter.

Ansonsten guck mal, ob es eine PHP-Library gibt, die aus XML eine in PHP zu verarbeitende Datenstruktur erzeugen und nach getaner Arbeit wieder in die Datei zurückschreiben kann. Bei kleinen Datenmengen (< 10 MB) wäre das ok, je nach IO-Mächtigkeit der Plattform liegt das noch im Sekundenbereich.

Hotti