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:52:05 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's 
zu speziell und OT werden sollte...

beste Grüße,

Albin

php::bar PHP Wiki   -   Listenarchive