DB Design-Frage zu Bilderspeicherung

takidoso

Erfahrenes Mitglied
Hallo und Halli,
möglicherweise bin ich hier nicht im richtigen Unterforum aber für DB angelegenheiten habe ich keines gefunden.
Ich möchte Bilder mit Usern, die ich in einer DB (Derby) verwalte, beglücken. Nun gibt es ja generell den Datentyp BLOB dafür. Nun frage ich mich aber, inwieweit das Bildformat (GIF, PNG ...) dort implizit enthalten ist, oder ob ich dafür eine extra Spalte verwenden müsste um dann später das ganze wieder in das richtige Bildformat zu deserialisieren zu können.
Andererseits, frage ich mich, ob ich nicht vielleicht lieber die Bilder ins platte Filesystem unter Verwendung einer geschickten Dateistruktur oder Namensgebung bringen sollte, und in der DB einfach dann auf einen relativen Pfad verweise.

Was wäre Eurer Meinung nach geschickter bezüglich Aufwand oder gar Laufzeit?

Mit fragenden Grüßen

Takidoso
 

Thomas Darimont

Erfahrenes Mitglied
Hallo,

ich würde dir raten, die Bilder in der Datenbank zu speichern. In der Binär Darstellung ist zwar (in der Regel) auch der Bildtyp enthalten, trotzdem würde ich dir raten Metadaten zum Bild (Typ, Größe, Name, etc.) noch in zusätzlichen Spalten abzulegen. Wenn du alles in der Datenbank hast, hat dies u.a. den Vorteil, dass du für ein Backup nur die Datenbank sichern musst und nicht noch irgendwelche andere Dateisystem Bereiche...

Je nach Größe und Anforderungen an die Datenbank wäre eventuell weiterhin zu überlegen, ob Derby hier die geeignete Datenbank Plattform ist...

Gruß Tom
 

takidoso

Erfahrenes Mitglied
Hallo,
...
Wenn du alles in der Datenbank hast, hat dies u.a. den Vorteil, dass du für ein Backup nur die Datenbank sichern musst und nicht noch irgendwelche andere Dateisystem Bereiche...
Jo, das ist ein gtes Argument.


Je nach Größe und Anforderungen an die Datenbank wäre eventuell weiterhin zu überlegen, ob Derby hier die geeignete Datenbank Plattform ist...
Leider habe ich noch nicht wirklich ernstzunehmende Erfahrungen bezüglich der verschiedenen kostenlosen DB-Systeme und Ihren Performance etc. Eigenschaften.
Momentan ist es auch nur eine Spielerei von mir Zwecks Web-Applikation-Erfahrungen sammeln.
Aber Danke für den Tipp

Grüße

Takidoso