URL: https://www.overclockers.at/coding-stuff/grundsatzfrage-bilder-in-db-oder-am-fs_221920/page_1 - zur Vollversion wechseln!
Hiho!
Hab ne Grundsatzfrage: Ist es heute bei der Webentwicklung eigentlich üblich, Bilder in der DB oder eher am FS zu speichern und in der DB die entsprechenden Referenzpfade zu speichern?
Vor/Nachteile?
Facebook zum Beispiel scheint sie ja auf dem FS liegen zu haben, OC.at scheint sie in der DB zu haben.
kommt darauf an was dir wichtiger ist (zb größere Performance oder sturkturiertheit)
eine recht gute Zusammenfassung:
http://www.php-faq.de/q-db-blob.html
ich würde sagen es ist genau umgekehrt.Zitat von ObermotzVor/Nachteile?
Facebook zum Beispiel scheint sie ja auf dem FS liegen zu haben, OC.at scheint sie in der DB zu haben.
ich würde bilder/files auf jeden fall ins fs legen und nur pfad-name in die db schreiben.
Zitat von Smutich würde sagen es ist genau umgekehrt.
z.b.:
http://www.overclockers.at/files/psp222_164103.png
Definitiv im Filesystem. Das Caching ist einfach weitaus besser! Das hindert dich natürlich nicht daran, parallel Referenzen in der Datenbank zu verwalten. Genau so funktioniert es auch hier im Forum, wobei wir die Funktionalität extra dazucoden mussten.
Quintessenz? Beides =)
Im Dateisystem - alles andere ist grober Missbrauch. Generell werden fuer viel zu viele Dinge/Use Cases RDBMS (oder solche, die es noch werden wollen ) verwendet, wo es wirklich nicht sinnvoll oder gar noetig ist.
@Smut: ein URI hat semantisch rein gar nichts damit zu tun, wie die dadurch identifizierte Rescoure "erzeugt" (bzw. ausgelesen) wird. Das ist wissentlich und willentlich in der HTTP-Spezifikation so verbrieft, und auch gut so.
[x] fs - dafür wurde es gemacht!
In einer Datenbank hast nur zusätzlichen Aufwand beim Reinschreiben und auslesen. Würd einfach einen Verweis (Name, ID, wie auch immer) in der Datenbank zum entsprechenden Bild am FS ablegen und den Rest der business logic überlassen.
Ok. Mir ists mit file-Endung bisher noch nicht anders untergekommen. Zufälligerweise hat's in dem Fall halt gepasst.Zitat von COLOSSUSIm Dateisystem - alles andere ist grober Missbrauch. Generell werden fuer viel zu viele Dinge/Use Cases RDBMS (oder solche, die es noch werden wollen) verwendet, wo es wirklich nicht sinnvoll oder gar noetig ist.
@Smut: ein URI hat semantisch rein gar nichts damit zu tun, wie die dadurch identifizierte Rescoure "erzeugt" (bzw. ausgelesen) wird. Das ist wissentlich und willentlich in der HTTP-Spezifikation so verbrieft, und auch gut so.
Bin auch wie alle anderen der Meinung Bilder gehören am Filesystem abgelegt und der Pfad dorthin wird in die DB gespeichert
"kommt drauf an". binärdaten in der DB haben auch vorteile, zum beispiel transaktionsunterstützung und vergleichsweise einfache versionierungsmöglichkeit. weiters bringts der mssql server mittlerweile mit FILEPART zusammen, dass das ding zwar im FS direkt abgelegt wird, die referenz drauf aber in der db liegt. bei voller transaktionsunterstützung.
Zitat von semteX"kommt drauf an". binärdaten in der DB haben auch vorteile, zum beispiel transaktionsunterstützung und vergleichsweise einfache versionierungsmöglichkeit. weiters bringts der mssql server mittlerweile mit FILEPART zusammen, dass das ding zwar im FS direkt abgelegt wird, die referenz drauf aber in der db liegt. bei voller transaktionsunterstützung.
Sehe Ich wie semtex und that. Files sind primär in der DB und der dazwischen liegende Cache schreibt die aufs filesystem. Alles in der DB hat auch den vorteil für replikation auf andere systeme. Die frontend systeme entscheiden dann selbst wo die daten gecacht werden (fs, memcache). Gerade bilder müssen oft in verschiedenen auflösungen vorhanden sein. Original in DB, skalierte version auch mehrmals im frontend cache oder S3 oder ...
ich glaub das hängt einfach alles sehr viel vom gewünschten verwendungszweck ab und kann nicht pauschalisiert werden
früher war es natürlich anders, weil die technik noch nicht so weit war, aber jetzt ist es wirklich anwendungs-spezifisch
Also für PHP/Apache würde ich - komplett Anwendungsneutral - empfehlen zumindest am FS zu Cachen, weil dann der Apache die HEAD Requests übernimmt und auch korrekt behandelt.
Ansonsten siehe Rektal, that, Semtex
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025