phpbar.de logo

Mailinglisten-Archive

[php] OT:Zeitmanagment XML oder MySQL

[php] OT:Zeitmanagment XML oder MySQL

Albin Blaschka albin.blaschka at sbg.ac.at
Don Jan 13 12:55:11 CET 2005


Hallo,

Burkhard Stollenwerk schrieb:

 > denke , wenn ich es für meinen Betrieb mache sind es 30 -400.
 > Aber wie ich mich kenne , mach ich sowas immer auch für Andere.
 > natürlich könnte man für jeden Betrieb eine eigene XML - Datei
 > anlegen, da die meist in keinem Zusammenhang zu sehen sind


Ich würde Dir aufgrund meiner Erfahrung eine kombination von XML und
Datenbank empfehlen:

Ich arbeite an einem Informationssystem über Verbreitungsdaten von
Pflanzen und Pflanzengemeinschaften. Wir legen die Daten in XML-Dateien
ab, diese liegen in einer relationalen Datenbank (Wir haben hier zur
Zeit ca. 400 000 Datensätze zu verwalten). Als Schicht darüber liegt
ein Java-Programm als RPC-Server, das gewünschten Dateien aus der
Datenbank holt und über RPC ausliefert.

Warum XML? Die Daten sind aus fachlichen (hier also von der Ökologie
her) nur Dokumenten-zentriert sinnvoll verwaltbar: Im Zentrum steht
also eine Pflanze, die verschiedene Eigenschaften besitzt: eine
Verbreitung, gespeichert in verschiedener Genauigkeit (Maßstab!) in
unterschiedlichen Gebieten, Bestimmungsmerklmale (die auch je nach Land
leicht variieren können), viele verschiedene Bezeichnungen,
Verwendungen usw. Durch die hierachische Struktur eines XML-Baumes sind
wir hier flexibel, denn die Anforderungen was jetzt genau wie
gespeichert wird sind im Vorhinein nicht abschätzbar.

Und ich glaube, soweit ich das abschätzen kann dürften bei Dir die
Anforderungen ähnlich liegen: Deine Objekte sind die Tiere mit
entsprechenden Eigenschaften, je nach Geschlecht, Alter...

Die grundlegende Architektur schaut bei uns also (gaaaanz grob)
zusammengefaßt:

XML-Dokument als "Objekt", verschiedene Klassen verarbeiten über die
entsprechenden Methoden bestimmte Äste des XML-Baumes...

Die Ablage der XML-Dateien in der Datenbank erfolgt bei uns rein aus "
technischen" Überlegungen, sozusagen "Best of Both worlds": Sie ist
unsere "Schachtel", mit der wir die Daten relativ einfach sichern
können und falls notwendig auf andere Server verlegen können (was schon
mehrmals notwendig war, allerdings *nicht* aus Perfomancegründen) Und
die erste "Grobgliederung" der Daten läßt sich schnell über SQL lösen,
also die notwendigen XML-Dateien aus der Schachtel holen, zur
detailierten Verarbeitung. Dafür ist die genannte Java-Applikation
zuständig, das diese Java ist, ist rein eine Spezialität aufgrund der
handelnden Personen, das ginge, soweit ich sie kenne durchaus auch in
php

Als Client (Webapplikation) rufe ich über XML-RPC Daten ab und bringe
die nach entsprechender Aufbereitung an den Nutzer. Wir bewegen uns da
in Größenordnungen von bis zu tausenden (3000-4000)"Datensätzen" (am
Client), gibt soweit keine Perfomance-Probleme.

Aber was ich auf jeden Fall dringend rate ist dazu PHP 5 - die XML-
Unterstützung ist da um einiges besser und leistungsfähiger, nicht nur
durch die SimpleXML-Erweiterung, auch die DOM-Erweiterung ist besser.
Bei letzterer lassen sich über XPATH auch Auswertungen (relativ)
effizient lösen.


Für Detailfragen stehe auch gerne zur Verfügung, auch "off list", wenn
es zu speziell und OT werden sollte...

beste Grüße,

Albin



php::bar PHP Wiki   -   Listenarchive