Warum sollten Benutzer reine XML-Datenbanken anstelle von reinen RDBMs verwenden?

7

Wie viele von Ihnen verwenden tatsächlich reine XML-Datenbanken über RDBMs? Ersteres scheint an Dynamik zu gewinnen, aber ich verstehe den Vorteil nicht. Will jemand erklären?

    
Dervin Thunk 09.05.2009, 20:53
quelle

5 Antworten

16

Bedingungen, die XML vorschlagen, sind keine verrückte Idee

  • Wenn Ihre Daten wie eine Sammlung von Dokumenten aussehen. Zum Beispiel haben Romane eine Struktur, z.B. Kapitel, Absätze, Sätze, Wörter. Möglicherweise möchten Sie auf die Struktur programmatisch zugreifen, aber es wäre schwierig, ein relationales Schema zu erstellen, das dies unterstützt.

  • Eine verwirrende Anzahl von Feldern und Tabellen erforderlich, fast alle sind optional. Zum Beispiel haben nicht alle Romane einen Bösewicht, aber ein Schurkenattribut oder ein Schurken wäre einfach genug, um sie einem XML-Dokument hinzuzufügen.

  • Wenn Sie nur eine kleine Datenmenge haben.

  • Daten sind stark hierarchisch. Es ist einfacher, ein XML-Dokument eines Organigramms abzufragen, als eine ähnliche Abfrage in einer Mitarbeitertabelle mit einer Manager-Spalte durchzuführen, die mit sich selbst verknüpft ist.

Beispiel - DasBlog, das einfache XML als Datenspeicher verwendet.

Bedingungen, die ein relationales Modell vorschlagen, sind besser

  • Die meisten Ihrer Daten passen gut in Tabellen und Spalten, relativ wenige Felder, die meisten Felder sind erforderlich.

  • Es gibt viele Daten. Die relationale Welt hat ihre Leistung wesentlich länger optimiert als die XML-Datenbank.

Sie können beides haben

  • Die meisten modernen relationalen Datenbanken unterstützen XML als erstklassigen Datentyp.
MatthewMartin 09.05.2009, 21:07
quelle
5

Ein Vorteil, der nicht erwähnt wurde, ist viel einfacher, wenn die Daten der Öffentlichkeit zugänglich sein sollen (via RSS oder was auch immer). Wenn die Daten hauptsächlich für eine öffentliche API verwendet werden oder später als XML formatiert werden, warum nicht? Angenommen, Sie möchten einige HTML-Vorlagen speichern. Wäre es nicht einfacher zu speichern als HTML? Sie würden auch den Overhead eines RDBMS speichern und die Daten in XML verarbeiten.

XML ist auch in Ordnung, wenn Sie fast alles lesen und wenig schreiben, obwohl ein einfacheres Format wie JSON effizienter sein kann, je nachdem, was Sie tun.

In allen anderen Fällen, insbesondere wenn es um Datenmanipulationen geht, werden echte Datenbanken (ob relational, objektorientiert, dokumentenorientiert, was auch immer) viel effizienter sein, weil sie dafür gebaut sind. XML war nicht für 100.000.000 Datenzeilen gedacht.

Ich denke, einige Datenbanken verwenden XML, weil es ein so weit verbreitetes Format ist, insbesondere für Dinge wie RSS-Feeds. Wie ich schon sagte, wenn Ihre Daten am Ende XML sein müssen, dann speichern Sie es als XML und erleichtern Sie Ihr Leben?

    
Sasha Chedygov 09.05.2009 21:57
quelle
2

Als jemand, der an einem Open-Source-Produkt arbeitet, das stark XML-Datenbanken verwendet, finde ich XML-Datenquellen von unschätzbarem Wert, da sie die reinen Datenstrukturen darstellen, die im Programm verwendet werden.

XML erlaubt mir, eine komplexe Struktur in Code zu modellieren, sie dann direkt in XML zu serialisieren, um entweder wo oder zu einem späteren Zeitpunkt gelesen zu werden, oder speziell in meinem Fall eine komplexe Struktur in XML zu exportieren und sie dann zu manipulieren und abzufragen Erinnerung. Es gibt andere Optionen wie ODBMS und ORM , die viele der gleichen Vorteile (und dann einige mehr) bieten, aber mit einem Wissens- oder Leistungsaufwand verbunden sind.

    
Richard Slater 09.05.2009 21:29
quelle
1

Sehen Sie sich diesen Artikel an Ich schätze, es könnte dir helfen.

    
Issa Qandil 09.05.2009 20:58
quelle
1

Ich sehe die wirklichen Vorteile der Verwendung von XML gegenüber relationalen Datenbanken ohne den Kontext nicht.

Relationale Datenbanken sind oft ungeschickt zu bedienen, obwohl Sie leicht mit irgendwelchen Anforderungen von ihnen abfragen können. Wenn Sie keine Abfragen für Ihre Daten durchführen müssen, haben Sie keine wirkliche Verwendung von RDBMs. Wie viele Fotos haben Sie in einer relationalen Datenbank gespeichert? Ist es nicht bequemer, Fotos in JPEG oder PNG zu speichern? Auf der anderen Seite, möchten Sie Bildpixel in XML speichern?

    
Cheery 09.05.2009 21:12
quelle

Tags und Links