Я був би прагматичним щодо цього і дотримуюся принципу "ще не оптимізуй". Зробіть рішення, яке має сенс на даний момент, і рішення, яке маєте для розробки, щоб правильно реалізувати. Є багато потенційних проблем . Але це не обов'язково стає справжніми проблемами. Наприклад, це, мабуть, не буде проблемою, якщо у вас є 100 користувачів. Це може бути проблемою, якщо у вас є 100 000 або 10 000 000 користувачів. Але в останньому випадку повинна бути основа для збільшення ресурсів розвитку для вирішення всіх питань.
Але зберігання даних у базі даних позбавляє вас від вирішення інших проблем, наприклад, де слід зберігати файли, як їх робити резервне копіювання тощо. Оскільки ви пишете веб-додаток, це було б дуже хорошою ідеєю з міркувань безпеки. щоб переконатися, що процес, що розміщує програму, не має доступу для запису до файлової системи, тому потрібно налаштувати сервер так, щоб процес мав доступ для читання / запису до папки, де зберігаються дані.
Я особисто вирішив би зберігати дані в базі даних, але переконайтесь, що BLOBS не читаються, поки вони справді не потрібні, тобто немає "SELECT * FROM ...", виконаного на тих таблицях, що містять блоги. І я би переконався, що дизайн спрощує переміщення даних із бази даних, у файлову систему, якщо у вас виникнуть проблеми з продуктивністю. Наприклад, збережіть інформацію про файл у окремій таблиці файлів , тим самим зберігаючи інформацію про файл подалі від інших суб’єктів господарювання.
Якщо припустити, що у вас є клас File для представлення файлу, прочитаного в базі даних, тоді вплив кодування згодом його переміщення буде мінімальним.