私はそれについて実用的であり、「まだ最適化しない」という原則に従います。現時点で意味のあるソリューションを作成し、適切に実装するための開発リソースがあることを確認します。多くの潜在的な問題があります。しかし、それらは必ずしも本当の問題になるわけではありません。たとえば、100人のユーザーがいる場合、おそらく問題にはなりません。それはかもしれないあなたが100,000 10,000,000のユーザーを持っている場合は問題になります。しかし、後者の場合、すべての問題に対処するためのより多くの開発リソースの基盤が必要です。
ただし、データベースにデータを保存すると、ファイルの保存場所、バックアップ方法など、他の問題に対処できなくなります。Webアプリケーションを作成しているので、セキュリティ上の理由から非常に良い考えです。アプリケーションをホストするプロセスにファイルシステムへの書き込みアクセス権がないことを確認するには、データが保存されているフォルダーへの読み取り/書き込みアクセス権を持つようにサーバーを構成する必要があります。
個人的にデータベースにデータを保存することを選択しますが、BLOBが本当に必要になるまで読み込まれないようにします。つまり、ブログを含むテーブルで「SELECT * FROM ...」が実行されないようにします。また、パフォーマンスの問題が発生した場合、データベースのデータをファイルシステムに簡単に移動できるように設計します。たとえば、ファイル情報を別のFileテーブルに保存して、ファイル情報を他のビジネスエンティティから遠ざけるようにします。
データベースで読み込まれたファイルを表すためのFileクラスがあると仮定すると、後でそれを移動することによるコーディングへの影響は最小限になります。