Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Наиболее оптимальный способ хранения большого количества файлов
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Наиболее оптимальный способ хранения большого количества файлов

Страниц (1): [1]
 

1. Land - 15 Апреля, 2009 - 05:35:24 - перейти к сообщению
Когда имеется большое количество файлов, графических, аудио или видео. Стоит ли заранее беспокоиться о способе хранения?

Если на начальном этапе - вполне хватит хранения всех фото или аудио файлов в одной папке "files", а идентификатор пути к файлам можно поместить в БД... Или же стоит продумать оптимизацию хранения в файловой системе заранее? (например, группировать добавленные файлы по месяцам в папках jan/feb/mar/apr/may etc...)

Благодарю за ответ! Закатив глазки
2. Stierus - 15 Апреля, 2009 - 08:27:33 - перейти к сообщению
большое количество - это сколько? (примерно) Может для вас 1000 - это много
3. EuGen - 15 Апреля, 2009 - 15:55:37 - перейти к сообщению
Стоит разделять средствами FS в любом случае. Потому как вдруг - сейчас кажется что ничего, и так хватит, а через полгодика потребуется много. (Наперед не узнать, и я советую проектировать и затем реализовывать так, чтобы масштабирование было как часть проекта).
4. Land - 15 Апреля, 2009 - 16:45:44 - перейти к сообщению
Stierus, я думаю за месяца 3-4 достигнет 1000.

EuGen,
FS - Архитектура «файл-сервер»?

Как вы думаете, разделение файлов по следующей структуре (папки):

(data) -> (год) -> (месяц) -> (images/audio/video/files)

или же

(data) -> (images) -> (год) -> (месяц)
(data) -> (audio) -> (год) -> (месяц)
(data) -> (video) -> (год) -> (месяц)
(data) -> (files) -> (год) -> (месяц)
5. Stierus - 15 Апреля, 2009 - 17:07:04 - перейти к сообщению
К дате я бы привязываться не стал ... к первым символам в названии файла тогда уж Улыбка, к виду контента, которому относится (/images/forum/... /images/avatars/ и тд) Ты же не описываешь всей ситуации - как тут советовать
6. EuGen - 16 Апреля, 2009 - 14:00:07 - перейти к сообщению
Да, по дате точно не стоит. А то сейчас и дня хватает, а потом может и папки часов потребуются.
По чему-то независимому от количества, как Stierus предлагал, к примеру.
FS - File System, архитектура веб-приложений всегда "клиент сервер".
7. Roler - 16 Апреля, 2009 - 14:30:55 - перейти к сообщению
А почему бы не создавать папки вида день-месяц-год? Например 01052009. Или месяц-год.
8. Stierus - 16 Апреля, 2009 - 15:34:04 - перейти к сообщению
предлагаю создавать папку с текущим расстоянием от солнца до меркурия при каждой закачке нового файла, расстояние надо грабить с сайта наса, что бы точнее было, сами мы так не рассчитаем
9. Land - 17 Апреля, 2009 - 14:55:08 - перейти к сообщению
Цитата:
Ты же не описываешь всей ситуации - как тут советовать

Ты прав мэн, как нарисую схему базы - я выложу её сюда. Улыбка
10. Land - 26 Апреля, 2009 - 07:19:35 - перейти к сообщению


Немного задержался, но всё таки нарисовал Улыбка
На схеме - каждый овал, прямоугольник - это отдельная таблица базы данных. Цвета я разделил, для визуальной группировки взаимосвязанных таблиц.
Стрелки выставил, что бы тоже определить связь таблиц.

Три таблицы категорий (зелёного цвета), которые имеют общую связь с аппаратурой (equipment) - служат для будущего разделения аппаратуры на категории, а так же удобной навигации по ним.

В главной таблице контекта (content) - коричневого цвета, овальной формы - будет лишь идентифицироваться каждый добавленный контент (например обзоры или видео уроки), которые, возможно будут иметь связь с аппаратурой из таблицы equipment. В таблице контента, будет проверяться класс из таблицы data_type_class, дальнейшие параметры контента, в зависимости от класа, будут пополняться из допольнительных таблиц ниже (документ, аудио, видео, графика, файлы), а уже после - отображение контента можно настроить используя дополнительные фильтры (синие таблицы, с синими стрелками) - по жанру, методы работы, типу подключения, брэнду...

Вообщем, вроде бы и всё. Ну и судя по структуре базы данных, каким образом лучше всего оптимизировать хранение файлов?

 

Powered by ExBB FM 1.0 RC1