LINUX.ORG.RU

Как хранить данные: от текстовых файлов до видео?

 


0

1

казалось бы самый обычный момент, когда пользователи могут загружать контент на сайт, но сталкиваюсь с этим впервый раз.

в ext4 с некоторых пор маленькие файлы хранятся прямо в нодах, посему выбор пал на эту фс.
думаю, в лучших традициях unix-way, хранить документы (текстовые файлы, видео) следует на отдельном (монтируемом) разделе. все файлы доступные через веб-сервер лежат в /var/www/example.org/public/assets, которая уже в свою очередь будет монтироваться отдельно. правильно же?
например подключаю внешний винт, монтирую в /mnt/storage, и делаю /assets директорию биндом на /mnt/storage. если винта нет, то думаю можно создать raw файлик размером Nгб и отформатировать в какую-нибудь фс, а затем его и монтировать, и хранить все данные сайта целиком в этом файле. м?

вобщем суть, сайт (движок) лежит в /var/www/example.org, а загружаемые на сайт пользователями файлы в другом монтируемом отдельно месте.

теперь вопрос к структуре, как именно хранить все эти файлы и отдавать пользователям?

http://www.example.org/assets/images/funnycat-9000.jpg - так?
http://www.example.org/assets/ab/cd/ef1234567890 - а может раскладывать в поддиректорииях по md5 хэшам? и в sql-бд хранить оригинальное имя файла и т.п. и отдавать файл через скрипт?

такой вот нубвопрос ._.

★★★★★

Ответ на: комментарий от Suiseiseki

А ты ведь тоже был в хикки-чатике, не так ли?

anonymous ()

Кстати отличный вариант, особенно если будете использовать SSD накопитель, 1 раз записали и все. Хотя я на SSD держу базы MYSQL, но это две разные вещи.

LinuxUs ()

а может раскладывать в поддиректорииях по md5 хэшам?

не нужно. Они и так раскиданы. Хеш вычислен, и лежит внутри каталога.

drBatty ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.