Идеальная структура каталога для веб-приложения
-
27-09-2019 - |
Вопрос
Я собираюсь создать пользовательский веб-сайт и должен будет хранить фото, документы и другие данные для каждого пользователя.
Если я возьму глупое число, как 1 000 000 000 пользователей, я верю, чем одна папка с 1 000 000 000 не будет самым быстрым в мире! Так что я думал о создании чего-то вроде
1-й уровень: [AZ] 2-й уровень: [AZ] 3-й уровень: [AZ
Там Бобби будет в / б / у / б / по
Но это также означает, что он не будет распространяться, поскольку будет очень мало пользователей, начиная с AZ и еще многое с AM, S, L ...
Поэтому я думал использовать идентификатор пользователя, такой как «000000000001», «000000000001» etc ...
1-й уровень: [000-999] 2-й уровень: [000-999] 3-й уровень: [000-999
Поэтому данные пользователя 000000000001 будут храниться в / data / 000/000/000/001, то я обязательно будет максимум 1000 папок на каждом уровне.
Что вы, ребята, думаете об этом, что я должен делать или не делать?
Сервер будет запущен CentOS 5.4 с Ext3 на RAID 1, если в I / O GOOT слишком плохо, я, вероятно, пойду на RAID 10.
Решение
Хеш-функция обеспечивает способ распространения большого количества данных по всей легкоисплетенную структуру.
Смотрите этот связанный вопрос: Зачем использовать хеширование, чтобы создать пути для больших коллекций файлов?
А также попробуйте просматривать результаты Google для Каталог перемешивается.