Leser: 1
![]() |
|< 1 2 3 >| | ![]() |
21 Einträge, 3 Seiten |
QuoteIch glaube ich würde auch nur die Pfade abspeichern. Aber es hängt davon ab, wie Deine Rahmenbedingungen so sind. Wenn alles in der DB ist hat man natürlich den Vorteil, dass ein Dump davon alles beinhaltet, aber den Nachteil, dass die DB eventuell sehr groß wird.
QuoteMit 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.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).
QuoteDas wäre nicht das Problem, da nur der Webmaster die Bilder oder sonstige Seiten erstellt.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.
QuoteNach 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.Das speichern in einer Datenbank dagegen ist sehr einfach und skalierbar. Backups sind ein Kinderspiel.
QuoteBei 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.
1
2
3
4
5
6
7
8
9
open(F, "pic.gif") or die $!;
binmode(F);
local $/;
my $pic = <F>;
close(F);
binmode(STDOUT);
print "Content-type: image/gif\n\n";
print $pic;
![]() |
|< 1 2 3 >| | ![]() |
21 Einträge, 3 Seiten |