Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

XML vs. Relationale DB

Dieses Thema im Forum "Datenmodellierung, Datenbank-Design" wurde erstellt von Tom.S, 7 Oktober 2014.

  1. Tom.S

    Tom.S Fleissiger Benutzer

    Hallo Forumleser,
    ich stehe davor, eine Datenbank aufzusetzen und kann mich nicht zwischen einer XML-DB und einer Relationalen Datenbank entscheiden.

    Es handelt sich um eine umfangreiche Personendatenbank. Die einzelnen Datenfelder sind genau definiert, allerdings sollen mehrere 100 Personenattribute speicherbar sein. Und aufgrund dieser Komplexität frage ich mich, ob nicht eine XML-Datenbank einer Relationalen vorzuziehen ist. Es gibt keine zwingenden Gründe für die eine noch für die andere Variante. Weder ist der Datenbestand sonderlich groß (auch bei redundanter XML-Speicherung passt er in den Hauptspeicher), noch gibt es tiefe Hierarchien. Umsetzen lässt es sich wohl mit beiden.
    Mein Fokus liegt deshalb auf
    1. der Umsetzungsdauer
    2. auf der Nachvollziehbarkeit
    3. auf der Wartbarkeit
    4. auf der Toolunterstützung
    5. der halbwegs effizienten Abfrage (auch komplexerer Suchanfragen)
    6. der logischen Konsistenz (dass kein Wildwuchs entsteht)

    Ich habe das Datenschema als XML-Datei und könnte daraus leicht ein Schema generieren und in eine XML-Datenbank einpflegen. Die ersten drei Punkte sprechen nach meiner Meinung für eine XML-DB, die letzten drei für ein relationales Modell.
    Ich habe zwar bisher auch recht komplexe relationale Datenbanken konzipiert, die aber nie mehr als 20 Tabellen hatten. Wenn es jetzt um 100 Tabellen geht, schwant mir Böses. Mit XML-Datenbanken kenne ich mich hingegen nicht aus. Auch wenn deren Entwicklung mir jetzt einfacher scheint, möchte ich nicht nach Erstellen und Füllen der Datenbank sie wieder in eine relationale umwandeln müssen, weil sie bestimmte Abfragen nicht schnell genug erledigt.

    Ich kann mich entweder in die Materie der XML-Datenbanken einarbeiten oder mir Tools und Umsetzungskonzepte für große Relationale Datenbanken ansehen. Welchen Ansatz würdet ihr mir empfehlen?
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Ich würde PostgreSQL nehmen und diese Attribute als JSON speichern, in PG 9.4, was die nächsten Tage kommt, wird das binär gespeichert, Du kannst also dann auch sehr schnell und effektiv indexbasiert nach Attributen suchen. Alternativ als HSTORE speichern, ist ebenfalls intern binär und mit Indexunterstützung. So hast Du eine robuste SQL-relationale DB mit den Features von NoSQL, unter einem Dach als freie Software.
     
  3. ukulele

    ukulele Datenbank-Guru

    Wie sollen die Daten denn genutzt werden? Werden die Daten immer Personenbezogen geladen, also lädt ein User immer eine Profilseite und guckt sich die Person an (hier passt glaube ich XML vom Ansatz her gut) oder willst du Auswertungen fahren a la zeige mir alle Personen die heute Geburtstag haben oder die vor dem 4.8.2000 geboren wurden? Hier ist relational natürlich ein guter Ansatz.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden