• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Bilder in Datenbank speichern

xorg1990

New member
Hi, ich habe ein kleines Problem mit einem andren Forum wo ich auch noch ziemlich aktiv bin.
Da besteht aktuell das Problem das uns der Festplattenspeicher vollläuft, trotz Limitierung auf 500kb. In dem Forum geht es um Diskussion mit Bildern und um das Teilen von Bildern.

Viele verlinken die Bilder von Facebook, Flickr, Tumblr, weil die eh einen Blog dort haben.
Was nun aber passiert ist das sich die komischen URL's(asd35t45slfka/ergvrlemkd34/) andauernd ändern und damit sind die Bilder im Forum weg.
Problem, man kann seine Beträge nachträglich nicht mehr editieren :mad:

Was spricht den nun eigentlich dagegen Bilder in einer Datenbank abzuspeichern?
Bild größe maximal 2 Megapixel.

Die meisten Hoster bieten ja unbegrenzt Datenbank speicher an. Kann es passieren das die auch irgendwann mal ein Schlussstrich ziehen wenn dann 500 Bilder und mehr als binary oder base64 im der DB vorliegen?

Eine Seite im Thread enthält 20 Beiträge, jeder fügt so im Durchschnitt 10 Bilder ein.
Was sagt php/Apatche bzw. der Server dazu wenn nun jedes Bild aus der DB geholt wird?
 
du meinst in base64 umwandeln? nunja das ist ne menge text, kommt auf eure DB an :D
du kannst davon ausgehen, wenn du es umwandelst, die größe gleich bleibt.
 
Ui - das ist aber wirklich wenig ;)

Was spricht den nun eigentlich dagegen Bilder in einer Datenbank abzuspeichern?
Die Umgebung wird komplizierter (du brauchst ein extra Skript, das die Bilder ausliefert) und die Bilder werden auch langsamer ausgeliefert.
Kann es passieren das die auch irgendwann mal ein Schlussstrich ziehen wenn dann 500 Bilder und mehr als binary oder base64 im der DB vorliegen?
Wahrscheinlich. Ich würde da vorher mal mit dem Hoster reden.
Prinzipiell ist base64 ca. um ein drittel länger.

Die bis jetzt verwendeten Bilderhoster haben doch sicherlich eine API, mit der man konsistent die gleichen Bilder holen kann. Kannst du nicht diese ansprechen?
 
kkpasner schrieb:
Die Umgebung wird komplizierter (du brauchst ein extra Skript, das die Bilder ausliefert)
Das wäre nicht so das Problem:d

kkpasner schrieb:
die Bilder werden auch langsamer ausgeliefert.
Ist halt die Frage um wie viel langsamer, oder wie meinst Du das genau das laden der Bilder (Zeilenweises aufbauen) oder allgemeinen auf der Seite komplett.

Was wäre den Schneller Base64 oder raw Binary?

kkpasner schrieb:
Wahrscheinlich. Ich würde da vorher mal mit dem Hoster reden.
Ist ein ganz normaler lima-city. Und wenn Base64 merken die das, dass es sich um ein Bild handelt?

kkpasner schrieb:
Die bis jetzt verwendeten Bilderhoster haben doch sicherlich eine API, mit der man konsistent die gleichen Bilder holen kann.
Naja das ist so ein Problem, im Forum müssen die Bilder wirklich Bilder sein also mit .jpg enden. Viele Bilderhoster erzeugen aber URLS zum Bild die nicht mit .jpg enden somit kein bild.

Die Bilder werden im Forum über CSS background-image in einer Lightbox Dargestellt. So kann man die Bilder erst mal nicht Speichern. Ich weiß über die Konsole den Link erschnüffeln...
 
Ist halt die Frage um wie viel langsamer
Müsste man messen.
oder wie meinst Du das genau das laden der Bilder
Die Requests für die Bilder können hald nicht mehr vom HTTP-Server behandelt werden und er kann nicht einfach den Inhalt einer lokalen Datei herausgeben, sondern es muss zuerst eine DB-Verbindung aufgebuat werden. Dann muss in der DB selektiert und ausgelesen werden. Zum Schluss müssen die Bilddaten natürlich auch, wie bei einem "normalen" Request, an den Browser ausgeliefert werden. Es ist also v.A. die Zeit, bis der Server überhaupt irgendetwas schickt, die länger wird.

Was wäre den Schneller Base64 oder raw Binary?
Natürlich Binary, da du dann im Skript das Base64 nicht umwandeln musst. Oder hattest du vor, die Bilddaten per data-URL direkt ins src zu schreiben? Davon würde ich dringend abraten, da dann deine komplette Seite extrem lange zum Laden braucht.

Und wenn Base64 merken die das, dass es sich um ein Bild handelt?
Dass etwas base64 kodiert ist, ist nicht schwer zu erkennen. Dann können die das einfach zurückübersetzen und dann sieht man an den Daten schon, dass es Bilder sind.

Naja das ist so ein Problem, im Forum müssen die Bilder wirklich Bilder sein also mit .jpg enden.
Ich dachte eher an ein spezielles Tag oder ähnliches, das dann speziell von der Forensoftware behandelt wird.
 
kkapsner schrieb:
Müsste man messen.
Das hat doch bestimmt schon mal wer gemacht...google anwerfen.

kkapsner schrieb:
Oder hattest du vor, die Bilddaten per data-URL direkt ins src zu schreiben?
Direkt vor habe ich noch gar nix, hätte da an einen ajax load gedacht wenn die Seite geladen ist.
Aber bleibe bei Binary ist einfach besser.

kkapsner schrieb:
Ich dachte eher an ein spezielles Tag oder ähnliches, das dann speziell von der Forensoftware behandelt wird.
Schwierig, das Forum ist komplett abgeschottet von Google und co. Bilder die dort geprostet werden dürfen nicht über die URL zurückverfolgt werden. CSS Backgound image ist schon eine gute Lösung gegen die Unwissenden.
Ne Einbindung über ein canvas wär eigentlich ideal.

NB:
Im Jahre 2010 wurde erst ein Forum dieser art dicht gemacht aufgrund von Veröffentlichung von Bildern mit Kampfgas. Zur Erklärung: Einer hat ein Bild hochgeladen von einer verlassen Russischen Kaserne, im Bild waren Holzkisten zu sehen mit Kyrillischer schrift. Ohne sich groß Gedanken zu machen wurde das Bild Hochgeladen und geliked und geteilt, natürlich haben andre das den Ort noch mal Fotografiert. Später hat dort die Polizei gewütet. Im Forum hieß es dann ja die haben die Kisten weggeschafft. Par Tage Später Forum Down.

Ja was war den so besonders an den Kisten? Da war 5a796b6c6f6e2042 (hex) Dirnen noch ovp!!!
Wäre blöd wenn das in falsche Hände gerät oder an Kinder.

Keine Ahnung was mit den Forenbetreiber jetzt ist, der ist bestimmt Pleite.

Jetzt hast du ungefähre eine Ahnung wie wichtig es den Admis ist das die Bilder nicht in Umlauf geraten.
 
Wenn das Forum über eine öffentliche IP erreichbar ist und man die Bilder dort ansehen kann, sind die Bilder schon im Umlauf... und wenn die Bilder sowieso schon bei Facebook und co sind und auch von dort aufgerufen werden, kann man den Admins daraus wahrscheinlich keinen Strick drehen.
 
So habe mal bei lima city, bplaced und vergleichbaren gefragt wie das ist mit Bildern in einer DB.
Es ist so das die Datenbank auf ein andren Server liegen als da wo man seine Dateien lokal Speichert.
Bei größeren Daten blockiert man bloß das System bis irgendwann alles krachen geht.
Es ist egal wo man die Bilder speichert, DB oder Lokal auf den Host. Bei einer bestimmten menge ist Schluss, weil die Server mit SSD gespeist sind und die Kapazität nicht so groß ist wie bei einer normalen HDD.

Facebook macht das so, die haben extra Server wo nur Bilder und Videos gespeichert werden und in einer Datenbank werden dann die Pfade zu den Bildern abgelegt. Das wäre der richtige Weg.



kkapsner schrieb:
Wenn das Forum über eine öffentliche IP erreichbar ist und man die Bilder dort ansehen kann, sind die Bilder schon im Umlauf... und wenn die Bilder sowieso schon bei Facebook und co sind und auch von dort aufgerufen werden, kann man den Admins daraus wahrscheinlich keinen Strick drehen.
Das Forum ist öffentlich aufrufbar aber man muss sich dort Registrieren um Überhaupt ein Beitrag sehen zu bekommen.
Wenn jemand bei FB die Bilder öffentlich stellt, ...selber schuld.
Wie z.B:
Das Hermann Duncker in Schierke - Torstens Harz Blog


Apropos Harz:
VERGESSEN IM HARZ II - Lost Place Dokumentarfilm - VisionBakery
 
Also ich würde auch sagen, dass man mit einer Datenbank die Bilder besser speichern kann. Wichtig ist jedoch für responsive Design, dass die Datenbank sehr schnell ist und keine Latency-Zeiten aufweist. Dies sollte auch jede Webagentur aus Zug verstanden haben. Welche Datenbank hast du nun verwendet, bzw. planst du zu verwenden?
 
Zurück
Oben