Sönke Tesch: Datenstruktur-Problem / Performance vs. saubere Struktur?

Beitrag lesen

mal ganz platt: Tabellen werden in SQL über SQL-Befehle erstellt, ebenso kannst Du die Tabellenstruktur bis zum letzten Fitzel mit SQL-Befehlen abfragen. Was hindert Dich daran, für jedes Formular die passende Tabelle einfach zu erzeugen?
naja, eigentlich hast Du Recht. Wobei mir nicht so lieb ist wenn Anwender derart weitreichende Rechte haben. Außerdem habe ich danach 1000de Tabellen, wird dann arg unübersichtlich, außerem ist so eine Große Zahl an Tabellen schlecht für Lesezugriffe der Datenbank - soweit ich weiß.

Eine "XML-Datei".
Ah! Also doch ein Einsatzgebiet für XML?

XML ist nichts weiter als eine andere Form der Datenhaltung. Der einzige Vorteil ist, daß die Daten baumweise und recht frei strukturiert werden können, das ist aber auch alles. Dies würde Dir beim Speichern der Formulare allerdings durchaus entgegen kommen.

Es macht aber keinerlei Unterschied, ob Du Deinen Benutzern erlaubst, Tabellen anzulegen, oder ihnen erlaubst, Dateien anzulegen. Darüber hinaus hat XML einen ganz extrem gravierenden Nachteil: Es verwendet das mit weitem Abstand schlechtest geeignete Format zum Speichern von Daten: einen Bytestrom. Für Dich als Benutzer mag es wunderbar strukturiert aussehen, für den Computer ist es nichts weiter als eine unendlich lange Kette von Bytes, die er Byte für Byte einlesen und interpretieren muß.
Der Grund, warum Datenbanken so schnell sind, sind die Indizes und/oder blockweise Datenhaltung - beides ist bei XML-Dateien normalerweise nicht vorhanden. Dazu kommt dann noch, daß Datenbanken sowohl ihre Verwaltungsinformationen als auch die Daten "roh" speichern können und nicht in XML-fähige Texte umsetzen müssen bzw. vom Text aus wieder in ein vom Computer verwendbares Format.

XML ist deshalb in erster Linie ein (wirklich wunderbares) Daten_austausch_format und nicht zum eigentlichen Speichern von Daten gedacht. IIRC ist das auch in der Einleitung der XML-Spezifikation so beschrieben und mir ist nach wie vor schleierhaft, warum alle Welt so sehr auf XML für alles und jedes steht.
Das beste Beispiel für die Unbrauchbarkeit von XML für die Datenhaltung ist meiner Meinung nach ja dieses Forum und seine bekanntermaßen zeitweise recht gemächliche Geschwindigkeit, die -soweit mir bekannt- immer dann rapide in den Keller geht, wenn die Forumsdaten geschrieben (oder gelesen) werden müssen. Das Problem wurde dadurch eingrenzt, daß ein Speichercache dazwischen geschaltet wurde und nur selten tatsächlich gespeichert wird - mit entsprechendem Datenverlust bei Ausfällen zur Folge.

Aber egal: XML ist für Deine Formulare durchaus sehr gut geeignet, die Verwaltung der über das Formular eingegebenen Daten würde ich aber wirklich "einem Profi überlassen", einer Datenbank.

Gruß,
  soenk.e