php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
a propos bilder speichern... in db oder nicht?


 
sauron343
25-01-2004, 01:54 
 
ich schmeisse mal folgendes in die runde:

Es handelt sich und Bilder zwischen 3- 10 Kb. Was ist eigentlich besser, die Bilder in der DB zu speichern oder nur den Pfad in die DB zu nehmen? Ich hab eben zwei Bücher - in einem wird erklärt das kleine Bilder durchaus in eine DB abgespeichert werden können, im anderen wird davon abgeraten....

 
kevin
25-01-2004, 02:02 
 
Bei solchen Größen könnte es vielleicht noch vertretbar sein. Kommt wahrscheinlich auch drauf an, wie groß die Tabelle ist. Ich bin mir aber relativ sicher, daß ich - schon allein aus Prinzip - nur den Dateinamen in der DB speichern würde.

 
sauron343
25-01-2004, 02:09 
 
was spricht dafür und was dagegen? was heisst "aus Prinzip"? wenn es gar keine Vorteile gibt, dann verstehe ich "aus Prinzip". bin noch unerfahren...

 
derjanosch
25-01-2004, 02:16 
 
Original geschrieben von sauron343
was spricht dafür und was dagegen? was heisst "aus Prinzip"? wenn es gar keine Vorteile gibt, dann verstehe ich "aus Prinzip". bin noch unerfahren...
Zitat aus http://www.dclp-faq.de/q/q-db-blob.html:


Wenn man die Bilddaten selbst in der Datenbank ablegt, hat dies den Vorteil, dass keine broken links auftreten können, weil ja die Bilder selbst genauso wie die Links auf die Bilder aus der Datenbank erzeugt werden. Liegen die Bilddaten dagegen im Dateisystem und die Datenbank enthält nur Pfadnamen, dann ist es problemlos möglich, dass jemand die Dateien umbenennt, ohne diese Änderung in der Datenbank nachzuführen und umgekehrt. Leider ist es speziell bei MySQL so, dass keinerlei Mechanismen vorhanden sind, die die referentielle Integrität der Datenbank sicherstellen, sodass diese Sicherheit nicht wirklich gegeben ist. ...


Weitere Details s. Link oben.

HTH, janosch.

 
V 9 1 9 V
25-01-2004, 02:22 
 
Allerdings ist es DEUTLICH schneller eine Bilddatei durch das Dateisystem zu laden und darzustellen, als durch das Auslesen von MySQL-Daten.

Fazit: Speicher sie auf den Webserver!
Bis auf das broke-link-Problem(was EIGENTLICH sowieso nie eintreten dürfte) gibt es nur Vorteile ;)

 
goth
25-01-2004, 02:31 
 
Leider ist es speziell bei MySQL so, dass keinerlei Mechanismen vorhanden sind, die die referentielle Integrität der Datenbank sicherstellen, sodass diese Sicherheit nicht wirklich gegeben ist.

Dieser Ausschnitt zeigt recht deutlich das der Schreiber sich recht wenig mit dem MySQL RDBMS auseinandergesetzt hat ...

 
sauron343
25-01-2004, 02:42 
 
ok! alles klar.

naja, ich speichere die bilder bereits in die DB - war mein erster versuch... Ich denke das wird für die betroffene Website schon gehen - die Tabelle ist nicht so gross. (id - Bild - type - Datum - Titel - Text - ts - höchstens 30 - 40 Zeilen - bis anhin nur 11) Scheint alles ziemlich gut und schnell zu funktionnieren (bis anhin). Die Geschwindigkeit kann ich allerdings nicht wirklich beurteilen, hab ne hispeed-verbindung und der server ist ne rakete! Checkt's mal aus

www.pornchild.net/news.php (http://www.pornchild.net/news.php) Keine Sorge: This site does NOT contain any pornographical material
(indirekte werbung inkl., sorry!)

PS: ich bin besonders allergisch auf BROKEN LINKS!! (= leere Versprechungen) Das darf auf KEINEN FALL passieren, kommt bei mir nicht in die Tüte! (ausser tabak-würz-zusatz:D)

 
Offe1
25-01-2004, 10:53 
 
PS: ich bin besonders allergisch auf BROKEN LINKS!! (= leere Versprechungen)

man kann Bilder auch direkt in die Datei schreiben.

Offe

 
pekka
25-01-2004, 11:59 
 
Ich hab das zwar noch nie ausprobiert, aber ist es nicht so dass bei Speicherung von Bildern in der DB bei einem SELECT * alle Bilddaten mit abgefragt werden, obwohl es nur z.B. um eine Suche oder eine Ausgabe ohne Bild geht? Müsste eigentlich. Das dürfte eine massive und unnötige Belastung der Serverkapazitäten darstellen.

Pornchild
Sehr schöne Seite übrigens! Wirklich gelungene Arbeit. Halt mit dem Nachteil dass die URL durch keinen Jugenschutzfilter kommt :D

 
MelloPie
25-01-2004, 12:32 
 
Also ich hab mal ne Galerie geschrieben die alle Bilder in der DB speichert auch grössere.
Keine Probleme. Die Darstellung der Bilder lief schnell.
Wenn man richtig selektiert wird man auch kein DB Overhead erzeugen.

Ein kleines Problem war das dump der tabellen und verschicken per Mail...

 
goth
25-01-2004, 12:54 
 
Ist letztlich 'ne Frage wieviel Abfragen / Sekunde zu erwarten sind ... und wie groß der Server dimensioniert ist ... !

 
TobiaZ
25-01-2004, 14:08 
 
Die Geschwindigkeit kann ich allerdings nicht wirklich beurteilen, hab ne hispeed-verbindung Sollte wohl nichts zu sache tun, weil es darauf ankommt, wie schnell dein Server die Seite (in dem Fall das Bild) generiert.

 
sauron343
25-01-2004, 15:18 
 
Original geschrieben von TobiaZ
Sollte wohl nichts zu sache tun, weil es darauf ankommt, wie schnell dein Server die Seite (in dem Fall das Bild) generiert.

deshalb hab ich auch noch dazu geschrieben, dass der server ne rakete ist. der provider bietet geniale leistungen und nach angaben von den leuten die mir diesen empfohlen haben, ist er der geilste (in CH). -> www.metanet.ch (http://www.metanet.ch) siehe reseller, für mich, oder Server Housing für die die drauskommen...

@pekka: danke für die blumen!

 
Abraxax
25-01-2004, 15:20 
 
auch wenn der server (noch) schnell ist, sollte man bilder niemals in die DB packen.

 
derjanosch
25-01-2004, 15:20 
 
Original geschrieben von goth
Dieser Ausschnitt zeigt recht deutlich das der Schreiber sich recht wenig mit dem MySQL RDBMS auseinandergesetzt hat ...
Ich bin mir sicher, dass Herr K. Koehntopp (http://123.koehntopp.de/kris/artikel/), der Schreiber dieses Textes, das hinreichend getan hat... Ich gehe einfach mal davon aus, dass zum Entstehungszeitpunkt des FAQ-Eintrages mySQL in Version 3.xx aktuell war.

 
goth
25-01-2004, 19:21 
 
Trotzdem unterstützt auch die MySQL 3.xx seit April 2002 Fremdschlüsselverweise mit kaskadierendem Löschen ... :teach:


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:45 Uhr.