Ваше приложение будет в идеальном положении, чтобы замаскировать все эти грязные детали файловой системы. , ,
тоящее время я работаю над сайтом, на котором пользователям должно быть предоставлено около 40 миллионов документов и изображений. Мне нужны предложения о том, какой метод является наиболее подходящим для хранения контента с учетом этих требований.
Система должна быть высокодоступной, масштабируемой и долговечной.Файлы должны храниться постоянно, и пользователи должны иметь возможность изменять их.Из-за ограничений клиента сторонние поставщики хранилищ объектов, такие как Amazon S3 и CDN, не подходят.Размер файла содержимого может варьироваться от 1 МБ до 30 МБ. (Тем не менее, около 90% файлов будет меньше 2 МБ)Задержка поиска контента не является большой проблемой. Поэтому индексация или кэширование не очень важны.Я провел некоторое исследование и узнал о следующих решениях;
Хранение контента в виде BLOB в базах данных.Использование GridFS для порции и хранения контента.Хранение содержимого на файловом сервере в каталогах с использованием хэша и хранение метаданных в базе данных.Использование распределенной файловой системы, такой как GlusterFS или HDFS, и хранение метаданных файла в базе данных.Сайт разработан с использованием PHP, а Couchbase Community Edition используется в качестве базы данных.
Я был бы очень признателен за любой вклад.
Спасибо.