Fotoalbum
Honda
- programmiertechnik
Hallo,
ich baue gerade an einem Feature, das nennt sich "Fotoalben".
Hier hätte ich eine grundsätzliche Frage an Euch.
Jedes registrierte Mitglied (eines Portals) soll die Möglichkeit haben 10 Fotoalben anzulegen, mit der Möglichkeit maximal je 40 Fotos darin einzustellen (und anschliessend auch zu editieren).
Frage:
Ist es sinnvoll dafür 10 Verzeichnisse (pro Album) anzulegen, oder besser alle Fotos in ein un dasselbe Verzeichnis (am Webspace ->ftp) zu packen.
Hintergrund der Frage: Gibt es irgendwelche Bedenken, alle Fotos in ein und dasselbe Verzeichnis zu packen (performance, bedenken gegen die größe des Verzeichnisses, etc.)
In der DB sind die Fotos dann ohnehin richtig zugeordnet, von daher wäre es meines Erachtens egal.
Danke für Eure Antworten,
Honda
Jedes registrierte Mitglied (eines Portals) soll die Möglichkeit haben 10 Fotoalben anzulegen, mit der Möglichkeit maximal je 40 Fotos darin einzustellen (und anschliessend auch zu editieren).
Frage:
Ist es sinnvoll dafür 10 Verzeichnisse (pro Album) anzulegen, oder besser alle Fotos in ein un dasselbe Verzeichnis (am Webspace ->ftp) zu packen.
Das scheint mir ein Fall für eine Datenbankanwendung zu sein, die zumindest die Indexdaten (Informationen bzgl. des Nutzers bzw. des Fotos) hält. Die Bilddaten können durchaus in beabsichtigter Form im Dateisystem liegen, aber eben nicht die Daten über die Daten, also die Metadaten bzw. Indexdaten. (Das _könnte_ man zwar machen, aber es dürfte schwierig werden, zudem wäre die "Lösung" dann schlecht skalierbar, schlecht zu warten und schwierig weiterzuentwickeln.)
Hintergrund der Frage: Gibt es irgendwelche Bedenken, alle Fotos in ein und dasselbe Verzeichnis zu packen (performance, bedenken gegen die größe des Verzeichnisses, etc.)
Ja, Vorsicht bei den Rechten und den Dateinamen!
In der DB sind die Fotos dann ohnehin richtig zugeordnet, von daher wäre es meines Erachtens egal.
Aha, doch DB. Ja, gut, die Indexdaten in die DB, die Bildchen in einen Ordner, den nur die serverseitige Logik (z.B. PHP) bearbeiten darf (z.B. für das Speichern oder Ausliefern).
Hallo King!
Aha, doch DB. Ja, gut, die Indexdaten in die DB, die Bildchen in einen Ordner, den nur die serverseitige Logik (z.B. PHP) bearbeiten darf (z.B. für das Speichern oder Ausliefern).
Ja, das ganze erfolgt mittels einer PHP/MySQL Kombination.
Meine Bedenken waren eigentlich nur ob es schlecht ist alle Fotos, d.h. die von Album1, Album2, Album3, etc. in ein und dasselbe Verzeichnis "../albumpic/" zu packen.
Da jedes Foto ohnedies individuell in der DB steht, ist es an sich egal in welchem Verzeichnis das Foto abgespeichert ist.
Nur wenn z.B. ein paar Hunderttausend Pics pro Albumtyp (d.h. Album1) gespeichert werden wären in dem Verzeichnis bei 10 Albumtypen möglicherweise 1Mio. Pics.
Wenn ich es aufteile dann wäre die Mio Pics auf 10 Verzeichnisse verteilt,...
Hätte das irgendeinen Vorteil?
LG,
Honda
Wenn ich es aufteile dann wäre die Mio Pics auf 10 Verzeichnisse verteilt,...
Arg, schwere Frage, hängt vom Server und vom OS (und dessen dateisystem) ab.
Eigentlich ist es OK, wenn die Ablagestruktur nur in der DB liegt, also bspw. Ordner und weitere Struktur nur vorgetäuscht werden und im Dateisystem der ganz Brei zusammen liegt.
Bei 1.000.000 Bildchen in einem Ordner weiss ich nicht so recht, bitte mal das Betriebssystem benennen (oder/und einen Selbstversuch mit 1.000.000 Bildchen machen).
Eventuell könntest Du die Bildchen auch als BLOB in die DB hauen, aber da sind dann eventuelle MySQL-Restriktionen (bzw. negative Leistungsmerkmale ;) zu prüfen.
Hallo King,
Bei 1.000.000 Bildchen in einem Ordner weiss ich nicht so recht, bitte mal das Betriebssystem benennen (oder/und einen Selbstversuch mit 1.000.000 Bildchen machen).
Das System ist ein ganz normales LAMP.
Der Server ist schon sehr gut ausgestattet (Dual Dual-Core 2,8 MhZ Opteron --> 8GB RAM --> 200GB Festplatte gespiegelt).
Ich hab mich nur gefragt, ob es bei den Verzeichnissen irgendwelche Grenzwerte gibt, die man nicht überschreiten sollte, oder ist das egal, weil am Webspace liegen die Bilder sowieso, der Unterschied wäre halt, dass es sonst auf 10 Verzeichnisse aufgeteilt wäre.
Grüsse,
Honda
Bei 1.000.000 Bildchen in einem Ordner weiss ich nicht so recht, bitte mal das Betriebssystem benennen (oder/und einen Selbstversuch mit 1.000.000 Bildchen machen).
Das System ist ein ganz normales LAMP.
Sieht nicht so doll aus: http://de.wikipedia.org/wiki/ReiserFS
Also doch mehrere Verzeichnisse...
Hallo King,
Sieht nicht so doll aus: http://de.wikipedia.org/wiki/ReiserFS
Also doch mehrere Verzeichnisse...
Bezieht sich das nicht auf ReiserFS?
bzw. wie kommst Du darauf, dass das die obergrenze für die Kapaziät von Verzeichnissen sein soll?
Grüsse,
Honda
Bezieht sich das nicht auf ReiserFS?
Nun ja, Du bist um Angabe des OS und des FS gebeten worden, Deine Angaben ("LAMP") liessen uns auf fälschlicherweise auf ReiserFS tippen. Also, einfach _selber_ mal die Leistungsmerkmale des FileSystems recherchieren: http://www.google.de/search?hl=de&q=linux+file+system+limitations&meta=
bzw. wie kommst Du darauf, dass das die obergrenze für die Kapaziät von Verzeichnissen sein soll?
Die Frage ist nicht ganz klar, aber klar ist, dass Du mit dem o.g. FS keine 1.000.000 Bilddateien in einem Ordner halten solltest (obwohl 1.200.000 Dateien pro Verzeichnis zulässig sind.)
Hello,
die philosophischen Fragen sind doch die:
Getrennte Verzeichnisse haben Vorteile:
Der "User" Webserver wird ohnehin auf alle Verzeichnisse Zugriff haben, und so ist es auch kein Problem, Selektionen (z.B. alle Sommerbilder) verzeichnisübergreifend zusammenzustellen
Viel interessanter für den Erfolg Deiner Fotoalben-Datenbank dürfte die Klassifizierung der Bilder sein.
- Hauptobjekt (Person, Tier, Gebäude, Landschaft, ...)
- Jahreszeit (Frühling, Sommer, Herbst, Winter)
- Ausschnitt (Übersicht, Objekt, Nahaufnahme, Detail, ...)
- ...
Schau mal die Google-Bildersuche an, und versuch mal zu raten, was _die_ für einen Index dahinter haben müssen!
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
