XML Datei lesen und GRafisch anzeigen
MatthiasF
- php
Guten Morgen!
Mein Vorhaben:
Ich möchte eine XML-Datei mit mehreren Tausend (Mess-)Werten (>10.000 und <20.000) einlesen und grafisch (Liniendiagramm) darstellen.
Vorraussetzungen: PHP und Mysql, Erfahrungen mit JPGraph, JavaScript
Folgende Fragen ergeben sich mir:
1. Ist es sinnvoll, die Werte in die DB zu lesen und von dort aus die Grafik zu generieren oder lieber die XML auf den Server legen und für die Grafik darauf zugreifen.
2. Ist es überhaupt sinnvoll, solche Wertemengen serverseitig zu bearbeiten, oder sollte ich das lieber alles clientseitig lösen?
2a. Zu erwarten ist außerdem noch etwas "Interaktion" (Kurve einblenden/ausblenden, eventuell Fokus auf bestimmten Abschnitt)
Vielen Dank!
Matthias
Guten Morgen!
Guten Abend,
1 Messwert = 1 Vektor mit vielleicht so ~16 byte Grösse? ... dh. 20.000 Messwerte wären dann etwa 320kb an reinen Daten. Mit einem reinen Array auf Basis dieser Vektoren kämst du wahrscheinlich am speicherschonendsten davon. Eine XML DOM Struktur mit der Grösse in den Speicher zu laden kostet dich da evt schon vielleicht 5 oder 6 Megabyte.
Sicherlich gehören nicht alle 20.000 Messwerte zur selben Messreihe ... da kannst du sicherlich segregieren (und dann nur die Teile von laden, die du wirklich willst).
- Ist es sinnvoll, die Werte in die DB zu lesen und von dort aus die Grafik zu generieren oder lieber die XML auf den Server legen und für die Grafik darauf zugreifen.
"die" DB? Welche DB, eine mySQL DB? Ja, vielleicht, wenn dir das Abfrage-API SQL dafür geeigneter erscheint, warum nicht. Ein DBMS hat auch noch andere tolle Features zu bieten, wie z.b. Indizierung. Aber du kannst auf einem Webserver auch diese XML Datei ständig im Arbeitsspeicher vorhalten, du willst ja sowieso nur lesend draufzugreifen.
Wenn du evt. mehrere solcher Dateien konsolidieren musst und dass nicht immer alles real-time verfügbar sein muss, dann wird es dir sicher einfacher fallen, das ganze über eine DB zu implementieren
- Ist es überhaupt sinnvoll, solche Wertemengen serverseitig zu bearbeiten, oder sollte ich das lieber alles clientseitig lösen?
Was meinst du mit "bearbeiten"? Wenn du die Daten in einem Diagramm darstellen musst, dann musst du sie da auch hineinladen, von woher ist dabei erstmal irrelevant.
Es kommt auf dein komisches JPGraph Zeugs an, womit es gut und performant umgehen kann. Wenn du mal drüber nachdenkst: Was genau bedeutet für dich client / serverseitig? Was soll mit den Daten wo passieren?
2a. Zu erwarten ist außerdem noch etwas "Interaktion" (Kurve einblenden/ausblenden, eventuell Fokus auf bestimmten Abschnitt)
Lade einfach soviele Daten wie nötig dorthin wo du sie brauchst und da so kompakt wie möglich.
Du hast aber noch eine generelle Verständnislücke für dein Problem: Welcher Teil von deinem Problem passiert wo.
Ciao, Frank