Sind eindeutige IDs (GUIDs) gut für Dateinamen von Website-Images?

8

Ich habe eine Debatte mit einem anderen Programmierer (PHP) und wir beide stimmen nicht überein, wenn es um GUIDs geht. Angenommen, die Informationen zu jedem Bild werden in einem DB gespeichert und haben einen eigenen Primärschlüssel (int).

Welche Gründe könnte es geben, eine eindeutige ID für den Image-Dateinamen zu verwenden, ohne sich um doppelte Dateinamen kümmern zu müssen?

Ich möchte seine Methodik nicht missachten, aber es passt auch nicht gut zu mir.

Danke! Ben

Aktualisierung: Nachdem viele + 1 für GUIDs gehört wurden, wie könnte SEO durch "zufällig" erzeugte Bilddateinamen beeinflusst werden? (Danke Sukumar)

    
Ben 08.08.2011, 08:42
quelle

4 Antworten

12
  

Welche Gründe könnte es geben, eine eindeutige ID für den Image-Dateinamen zu verwenden, ohne sich um doppelte Dateinamen kümmern zu müssen?

Die Verwendung eines Autoinkrement-Primärschlüssels für einen Dateinamen würde es ermöglichen, die URLs anderer Bilder zu erraten, die Sie möglicherweise nicht möchten. Je nachdem, wie Ihr System funktioniert, könnten Benutzer beispielsweise Zugriff darauf erhalten Bilder, die (noch) nicht zur Veröffentlichung bestimmt sind.

Ich denke, die Verwendung eindeutiger IDs ist eine gute Idee.

    
Pekka 웃 08.08.2011, 08:44
quelle
4

Vorteile der Verwendung von GUID für Dateinamen

  • Erhalte unvorhersehbare Dateinamen.
  • Namen, die skaliert werden (Sie müssen sich keine Gedanken über das Umbenennen von Dateien machen, wenn DB sharded ist).

Nachteile der Verwendung von GUID für Dateinamen

  • Muss zusätzliche Daten in der Datenbank speichern.

Vorteile der Verwendung des DB-Primärschlüssels für Dateinamen

  • Spart Speicherplatz, da weniger zusätzliche Spalten benötigt werden.

Nachteile der Verwendung des DB-Primärschlüssels für Dateinamen

  • Erzeugt vorhersagbare Dateinamen, die es Benutzern erlauben, "zu erraten".

Zusammenfassung : Es ist ein Kompromiss, den Sie basierend auf Ihren Anforderungen berücksichtigen müssen. Es scheint jedoch mehr Vorliebe zu geben, GUIDs zu wählen.

    
Sukumar 08.08.2011 08:55
quelle
1

UUID ist großartig, wenn Sie unberechenbare Dateinamen haben müssen, damit niemand alle Dateien herunterladen kann, ohne die richtigen URLs zu haben.

    
zerkms 08.08.2011 08:45
quelle
0

Wenn Sie es in einer Datenbank unter Verwendung eines Primärschlüssels speichern, würde ich vorschlagen, diese als eindeutige ID (und damit als Dateinamen) zu verwenden. Es macht wenig Sinn, zwei eindeutige Spalten in einer Datenbank zu haben, die eine Ressource identifizieren. Ich würde übrigens kein Auto-Inkrement-Feld für diesen Primärschlüssel verwenden. Es ist leicht, andere Bild-IDs zu erraten, die möglicherweise unerwünscht sind.

Die Wahl zwischen den beiden ist eine Frage des Geschmacks, denke ich. Wir benutzen beides. Die Dateinamen werden meistens verwendet, aber dann müssten Sie Rechte haben, um die Datei anzuzeigen. Wir verwenden auch eine eindeutige ID, vermeiden jedoch die Rechteprüfung und ermöglichen es jemandem, Bilder mit Nichtbenutzern zu teilen.

    
hoppa 08.08.2011 08:48
quelle

Tags und Links