AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Welche Datenbank für hierarchische Galleriedaten?
Thema durchsuchen
Ansicht
Themen-Optionen

Welche Datenbank für hierarchische Galleriedaten?

Ein Thema von Valle · begonnen am 6. Jun 2008 · letzter Beitrag vom 7. Jun 2008
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#1

Welche Datenbank für hierarchische Galleriedaten?

  Alt 6. Jun 2008, 20:58
Datenbank: wüsst' ich auch gerne • Zugriff über: mit PHP
Hi DPler,

ich habe mir einige Zeit lang den Kopf über diese Frage zerbrochen, deswegen dachte ich, ich frage einfach mal in meinem Lieblingsforum (Das "mit der Datenbank") nach.

Ich programmiere momentan eine Galerie mit PHP, in welcher jeder User seine Bilder hochladen kann und auch in eigenen Ordnern verwalten kann. Jetzt suche ich eine Möglichkeit, mit der ich am besten schnell und einfach diese Daten verwalten kann. Was ich brauche ist eigentlich recht einleuchtend, aber ich erläutere das trotzdem mal.
  • Bilder (Elemente) und Ordner (Übergeordnete Elemente) erstellen
  • Elemente löschen, natürlich auch rekursiv
  • Elemente verschieben, auch ganze Ordner in andere Ordner
  • dafür eine einfache und vor allem schnelle Speichermöglichkeit
Ich hatte dafür bisher schon einige Ideen, die so ihre Vor- und Nachteile haben. Ich liste die hier am besten mal auf; das sind dann die, die ich in die nähere Auswahl setze, allerdings bin ich auf offen für ganz andere Vorschläge.

Dateisystem als Datenbank

Das ist eigentlich das einfachste von allen, scheint mir in diesem Fall aber nicht sinnvoll, da die Bilder alle woanders abgespeichert sind und somit nicht in den Ordnern der Galerie selbst. Ich könnte zwar für jedes Bild eine Datei mit Informationen oder einen Link anlegen, aber irgendwie halte ich das für keine gute Lösung.

MySQL mit einer Spalte 'parent' mit der ID des Elternelements

Ist auch nicht so der Kracher, da sich das ganze so nicht mehr ganz so einfach verwalten lässt. Besonders das rekursive verschieben ist da - denke ich - nicht besonders einfach. Außerdem (und das ist der Hauptgrund gegen diese Möglichkeit) will ich mal etwas anderes ausprobieren, denn diese Technik hatte ich woanders schon einmal. Schließlich programmiere ich zu meinem Vergnügen, da darf man da ja auch berücksichtigen?

XML-Daten, als Datei oder in MySQL

XML ist normal immer das erste, was mir bei hierarchischen Daten so einfällt. Allerdings arbeite ich nicht so gerne mit XML. XML ist auch für die Arbeit unter einem Webserver nicht sooo geeignet, da es doch relativ viel Arbeits- und auch Festplattenspeicher verbraucht. Was die Möglichkeiten von verschieben von Elementen usw. angeht habe ich ehrlich gesagt noch keine Erfahrung.

Ok, soviel von meiner Seite aus. Ich würde mich freuen, wenn ihr mir ein paar Tipps geben könntet, was sich denn als Datenbank dafür anbietet. Und wie gesagt, ich programmiere hauptsächlich für meinen Spaß, sodass ich auch eine ausgefallenere Methode in Betracht ziehen würde.

Mit freundlichen Grüßen,

Valle
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Welche Datenbank für hierarchische Galleriedaten?

  Alt 6. Jun 2008, 21:04
Zitat:
Ist auch nicht so der Kracher, da sich das ganze so nicht mehr ganz so einfach verwalten lässt. Besonders das rekursive verschieben ist da - denke ich - nicht besonders einfach.
Das ist aber die Lösung, welche ich auch vorschlagen würde.
Kann DBMS unterstützt dein Webspace? Die meisten werden wohl nur MySQL anbieten. Sonst wäre FireBird noch eine Option ( dank CTE)
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#3

Re: Welche Datenbank für hierarchische Galleriedaten?

  Alt 6. Jun 2008, 21:19
Zitat von mkinzler:
Zitat:
Ist auch nicht so der Kracher, da sich das ganze so nicht mehr ganz so einfach verwalten lässt. Besonders das rekursive verschieben ist da - denke ich - nicht besonders einfach.
Das ist aber die Lösung, welche ich auch vorschlagen würde.
Kann DBMS unterstützt dein Webspace? Die meisten werden wohl nur MySQL anbieten. Sonst wäre FireBird noch eine Option ( dank CTE)
Ist mein Server, der hat MySQL 5. Ich will aber kein weiteres Datenbanksystem drauf machen, der ist so schon fast überlastet. Allerdings wie gesagt, diese Methode mit MySQL mag ich nicht so, denn ähnliches das habe ich schon zu oft gemacht, ich wäre für was neues.

Mit freundlichen Grüßen,

Valle
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Welche Datenbank für hierarchische Galleriedaten?

  Alt 6. Jun 2008, 21:28
Zitat:
Ich will aber kein weiteres Datenbanksystem drauf machen
Dann solltest du nicht danach fragen.
Zitat:
Allerdings wie gesagt, diese Methode mit MySQL mag ich nicht so,
So löst man aber dein Problem
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#5

Re: Welche Datenbank für hierarchische Galleriedaten?

  Alt 6. Jun 2008, 21:31
Zitat von mkinzler:
Zitat:
Ich will aber kein weiteres Datenbanksystem drauf machen
Dann solltest du nicht danach fragen.
Es gibt genug Möglichkeiten ohne einen ständig laufenden Dienst.

Zitat von mkinzler:
Zitat:
Allerdings wie gesagt, diese Methode mit MySQL mag ich nicht so,
So löst man aber dein Problem
Du hast nur die Hälfte zitiert, das ist etwas aus dem Zusammenhang gerissen. Es geht ja auch um meinen Spaß dabei und den habe ich bei der Methode bestimmt nicht. Und warum nicht mal was neues?

[ot]Hast du eigentlich mal auf einen Datenbanken-Thread nicht geantwortet? [/ot]

Mit freundlichen Grüßen,

Valle
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Welche Datenbank für hierarchische Galleriedaten?

  Alt 6. Jun 2008, 21:38
Du könntest es auch im Dateisystem machen. indem du dort Infos über die Bilder ablegst; entweder mit einem Index oder einer weiteren Datei pro Bild
Zitat:
[ot]Hast du eigentlich mal auf einen Datenbanken-Thread nicht geantwortet? Laughing [/ot]
Ja auf die meisten sogar
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Welche Datenbank für hierarchische Galleriedaten?

  Alt 7. Jun 2008, 08:59
Wenn du etwas Neues möchtest, dann könntest du mal über ein Multihierarchie System nachdenken.
Ähnlich wie bei Wikipedia teilst du deine Bilder in Kategorien ein.
Z.B. Menschen, Landschaften, Dinge, Tiere, Sonstiges
Jede Kategorie kann natürlich auch Unterkategorien haben. (Menschen -> Mann|Frau|Kind|Guppen)
Jetzt kommt aber eine weitere Kategorienebene hinzu, die von den bisherigen Kategorien unanhängig sind:
800*600, 1200*960, 2048*2048,....
Jetzt kommt dein Kumpel und will die Bilder bewerten; also gibt es neue Kategorien:
Note1, Note2,... Note6

Jedes Bilder kann in beliebig vielen Kategorien enthalten sein.
Man kann sich das so vorstellen, als ob viele Verzeichnissystem übereinandergelegt sind und
die Dateien in einem oder mehreren Verzeichnissystemen gleichzeitig enthalten sind. (*)
Dieses System lässt sich mit 3 Tabellen abbilden.

*) das wäre auch mal eine gute Idee für Windows oder Linux.
Es gibt das Standardverzeichnissystem wie bisher auch.
Zusätzlich kann der Benutzer aber eigene Verzeichnissysteme einrichten.
Tools, die auf der ganzen Platte verstreut sind, könnten in einem Verz. zusammengefasst werden.
Mit Hardlinks von NTFS könnte man das heute schon nachbilden, aber so richtig wird das vom OS nicht unterstützt.
Angehängte Dateien
Dateityp: zip mediadb_140.zip (15,9 KB, 3x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Welche Datenbank für hierarchische Galleriedaten?

  Alt 7. Jun 2008, 09:29
Das mit dieser Kategorie-Verschachtelung ist eine sehr interessante Sache. Ich habe das zum ersten Mal in meinem Wiki genutzt und elegant lösen kann man das mit Nested Sets (mein DP-Eintrag dazu). Selbst Millionen von Daten lassen sich sehr gut und performant verwalten.
Der Nachteil dabei ist, dass man manuell nichts in der DB ändern kann bzw. sollte, da es recht komplex ist. Wobei man dies nicht unbedingt als Nachteil ansehen muss.
Einfügen, ändern und löschen solltest du die Datensätze ausschließlich mittels SQL-Abfragen.

Ich war beeindruckt, als das ganze gelaufen ist und für dich wäre es sicher auch eine nette Erfahrung. Alleine die Theorie dahinter ist wirklich interessant. Einen ganz guten Link mit Erklärungen findest du im Verlinkten DP-Thema.

Um auf deine Frage zurück zu kommen: Das geht auch mit MySQL.

Grüße, Matze
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#9

Re: Welche Datenbank für hierarchische Galleriedaten?

  Alt 7. Jun 2008, 11:21
Sehr interessant. Wie sieht es denn mit der Performance aus, wenn viele Bilder eingefügt, verändert und gelöscht werden? So wie ich das sehe, müssen jedesmal im Mittel N/2 Datensätze verändert werden (LFT bzw RGT - Werte). Ich glaube, das diese Idee nur bei statischen Daten, die also selten verändert werden, wirklich Vorteile bringt, oder wie siehst Du das? Du hast ja praktische Erfahrungen damit.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Welche Datenbank für hierarchische Galleriedaten?

  Alt 7. Jun 2008, 11:45
Zitat von alzaimar:
Ich glaube, das diese Idee nur bei statischen Daten, die also selten verändert werden, wirklich Vorteile bringt, oder wie siehst Du das?
Da denke ich, dass du recht hast. Praktisch habe ich es mit dynamischen Daten nicht getestet. Doch die Kategorien der Bilder ändern sich nicht ständig, wenn ich das richtig verstanden habe. Dort wird ab und zu eine neue Kategorie angelegt und das war's dann oder irre ich mich?
Für die Zuordnung der Daten zu einer Kategorie nutze ich eine extra Tabelle, die die Daten-ID und die Kategorie-ID enthält. Dort wird dann öfters was verändert, wenn Daten hinzukommen oder entfernt werden.

Grüße
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz