Frage

Ich habe eine Website, die Menschen zum Hochladen von Dateien auf ihr Konto erlaubt, und sie sind in einer Liste angezeigt. Dateien für alle Benutzer auf verschiedenen Servern gespeichert sind, und sie bewegen sich auf, wie beliebt sie sind (es ist ein Datei-Hosting-Website).

Ich mag die Möglichkeit für Benutzer zu einer Gruppe von Dateien in Ordner hinzufügen. Ich konnte den herkömmlichen Weg gehen und physische Ordner auf der Festplatte erstellen, für jeden Benutzer auf dem Server, und quer sie wie erwartet. Der Nachteil, dass ist die Dateien des Benutzers werden auf einen einzigen Server gebunden werden. Wenn dieser Server startet genügend Speicherplatz (oder viele Dateien zur gleichen Zeit populär erhalten), wird es sehr schwierig werden, es zu mildern.

Was ich dachte, über das Tun die staatenlos Natur von Dateien zu halten, so dass sie auf jedem des Dateiservers gespeichert werden, und einfach die Speicherung den Ordner-ID (zusätzlich zu der Benutzer-ID, die die Datei besitzt) mit jeder Datei in die Datenbank. Also, wenn ein Benutzer eine Datei zu bewegen entscheidet, ist es nicht physisch bewegt überall bekommt, ändern Sie nur den Ordner-ID in der Datenbank.

Ist das eine gute Idee? Ich benutze PHP und MySQL.

War es hilfreich?

Lösung

Ja, es ist.

Ich sehe keinen Nachteil, außer vielleicht mehr Anfragen an die Datenbank, aber mit dem richtigen Indizierung des übergeordneten Ordner-ID, wird dies wahrscheinlich schneller sein als das Dateisystem direkt zugreifen.

Andere Tipps

über Ordner Vergessen und die Benutzer lassen Tag ihre Dateien, mehrere Tags pro Datei. Dann lassen Sie sie sehen können Dateien mit Tags X . Das ist nicht viel anders als virtuelle Ordner zu implementieren, aber ist viel flexibler für die Benutzer.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top