Frage

Ich bin über einen Benutzer-basierte Website zu erstellen und zu speichern Foto hat, Dokumente und andere Daten für jeden Benutzer.

Wenn ich eine dumme Zahl wie 1 000 000 000 Nutzer nehmen, glaube ich, als ein Ordner mit 1 000 000 000 wird die schnellste Sache der Welt nicht sein! Also habe ich so etwas wie der Schaffung dachte

1. Ebene: [a-z] 2. Ebene: [a-z] 3. Ebene: [a-z]

Dafür bobby wird in / b / o / b / durch

Aber das bedeutet auch, dass es nicht Ausbreitung equaly sein wird, weil es nur sehr wenige Benutzer mit einem z und vielen mehr mit einem m beginnen wird, s, l ...

so dachte ich an einen Benutzer-ID verwenden wie "000000000001", "000000000001" etc ...

1. Ebene: [000-999] 2. Ebene: [000-999] 3. Ebene: [000-999]

daher Daten des Benutzers 000000000001 wird Speicher in / data / 000/000/000/001 sein dann werde ich sicher sein, maximal 1000 Ordner in jedem Level zu haben.

Was denkt ihr darüber nach, was ich tun sollte oder nicht?

Der Server läuft Centos 5.4 mit EXT3 auf RAID 1, wenn die E / A-get ist zu schade Ich werde wahrscheinlich für eine Razzia 10.

go
War es hilfreich?

Lösung

Eine Hash-Funktion bietet eine Möglichkeit, große Datenmengen in einer leicht durchsuchbaren Struktur zu verteilen.

Sehen Sie diese ähnliche Frage: Warum Gebrauch Hashing-Pfad-Namen für große Sammlungen von Dateien zu erstellen?

Und auch versuchen, durch Google Ergebnisse der Suche nach Verzeichnis Hashing .

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