XML-Daten archivieren
Hannes Meiler
- programmiertechnik
0 Beat0 ritschmanhard
Guten Morgen!
Ich habe ein Online-Portal erstellt, bei dem jeder Kunde ein bestimmten Vorgang auslöst und eine XML-Datei für eine Schnittstelle (SAP) geschrieben wird.
Diese XML-Datei muss ich speichern, da es vorkommen kann, dass er Inhalte daraus editieren kann um den Vorgang erneut auszulösen.
Ist es nun sinnvoller pro Vorgang des Kunden die XML-Datei als solche in einem Verzeichnis zu archivieren oder die Daten mit einem PHP-XML-Parser in eine MySQL-Datenbank zu sichern und bei Bedarf wieder abzufragen?
Vielleicht gibt es hier auch noch eine andere Lösung?
Sicherlich spielt hier auch die Perfomance eine wichtige Rolle.
Danke für eure Eindrücke und Lösungsvorschläge.
Viele Grüße Hannes
Das lässt sich nicht eindeutig beantworten.
Hier eine Analogie
Wenn ich mit OpenOffice eine bestehende Datei öffne, sollen dann alle Änderungen sofort ins Original geschrieben werden, oder soll ein Temp File erstellt werden, und nur im Fall der expliziten Sicherung das Original überschrieben werden?
Die Antwort in diesem Fall ist klar.
mfg Beat
Hi Hannes!
Anstelle von Antworten gibt es leider erst mal Fragen:
Generell würde ich dir immer dazu raten, Daten in einer Datenbank abzulegen, da diese gegenüber einer reinen Dateispeicherung viele Vorteile bietet:
Zugriffssicherheit: Die Datenbank gewährleistet dir, dass du z.B. keine ungültigen Daten erhältst, die entstehen können, wenn mehrere Akteure auf eine Datenquelle lesend/schreibend zugreifen:
Var1 = "Ich bin ein laufender Prozess"
P1: liest Var1 "Ich bin ein lau" <wird suspended für P2>
P2: schreibt Var1 "Ich bin ein rassiger Prozess"
P1: liest weiter nach suspend "siger Prozess"
=> Vorher in Datei: "Ich bin ein laufender Prozess"
=> Jetzt in Datei: "Ich bin ein rassiger Prozess"
=> P1 liest: "Ich bin ein lausiger Prozess"
Dies wird von einer Datenbank verhindert (Atomarer Zugriff).
Weiterhin kannst du Daten in einer Datenbank gegebenenfalls sortieren, ihr Format nach auslesen beliebig anpassen etc.
Auch komprimiert die Datenbank gegebenenfalls die eingepflegten Daten.
Grüsse,
Richard