Thread Bilder in der DB ablegen sinnvoll oder nicht?: eigenes CMS (20 answers)
Opened by renee at 2004-07-21 10:40

jan10001
 2004-07-22 22:03
#32440 #32440
User since
2003-08-14
962 Artikel
BenutzerIn
[default_avatar]
@sri
Quote
Speichern im Dateisystem ist immer schneller als in einer Datenbank, lässt sich aber z.B. durch vorangestellte mod_proxy Apache/Squids recht gut ausgleichen.

Es ist eine Frage der skalierbarkeit, denn bedenke, nicht alle Dateisysteme verhalten sich gleich, Ext2/3 z.B. bekommen bei mehreren Tausend Dateien in einem Verzeichnis ernste Probleme, so das eine generierte Verzeichnisstruktur ala "/f1/12/e3/23/12.jpg" nötig wird. (Recht einfach mit MD5 zu generieren, aber wenig skalierbar, Speicherfressend und schlecht für Backups).
Mit mod_proxy Apache/Squids habe ich keine Erfahrung, da müsste ich mich erst einlesen. Aber bei den Bildern wäre die Verzeichnisstruktur sowie so kein Problem, da sowohl die virtuellen und rellen Verzeichnisse in der DB gespeichert sind, sowie die Dateinamen aller vorhanden und virtuellen Dateien.

Quote
Speichern im Dateisystem ist immer schneller als in einer Datenbank, lässt sich aber z.B. durch vorangestellte mod_proxy Apache/Squids recht gut ausgleichen.
Das wäre nicht das Problem, da nur der Webmaster die Bilder oder sonstige Seiten erstellt.

Quote
Das speichern in einer Datenbank dagegen ist sehr einfach und skalierbar. Backups sind ein Kinderspiel.
Nach einer schlaflosen Nacht habe ich beschlossen gerade wegen des einfachen Backups bei einer DB doch die Bilder in der DB abzulegen. Nun stelle ich mir zwei Fragen.

1: Wie sieht eigentlich der Quellcode zur Ausgabe des Bildes aus?
2. Kann ich mit HTML::Template ein Bild überhaupt ausgeben?

Quote
Bei einem grossen Projekt an dem ich gerade arbeite habe ich mich für eine hybridlösung entschieden.
Hierbei werden statische Dateien (ein paar hundert bilder/css/templates) im Dateisystem (auf einem geteilten NFS server), und durch den Benutzer hochladbare Dateien (viele tausend css/bilder) in einer Postgresql gespeichert.

Ergo: Wenn du mehr als Tausend Bilder hast greiffe zur Datenbank (benutze aber mod_proxy/squid), ansonsten nutze einfach das Dateisystem.

Ein Hybridlösung wäre bei mir sicherlich leicht machbar (lediglich zwei Sub's im Eingabe und Ausgabe Script müssen geändert werden), aber dann würden die Grundvoraussetzungen nicht mehr stimmen. Mein Bruder möchte auch gern mein CMS nutzen da er aber keinen vollwertigen Rootserver hat würde es schwierig werden.

In meinem Anwendungsfall muß das CMS ca. 500 bis 1000 Bilder speichern und die Inhalte von mehreren hundert Webseiten.

View full thread Bilder in der DB ablegen sinnvoll oder nicht?: eigenes CMS