個人的には、画像をデータベースに保存することをお勧めします。もちろん、それは長所と短所の両方です。
BLOBデータをデータベースに保存する利点:
- BLOBデータを行の残りのアイテムと同期させる方が簡単です。
- BLOBデータはデータベースにバックアップされます。単一のストレージシステムを使用すると、管理が容易になります。
- BLOBデータには、MySQLのXMLサポートを介してアクセスできます。これにより、XMLストリーム内のデータのbase64エンコード表現を返すことができます。
- MySQL全文検索(FTS)操作は、固定長または可変長の文字(Unicodeを含む)データを含む列に対して実行できます。また、画像フィールドに含まれるフォーマットされたテキストベースのデータ(MicrosoftWordやMicrosoftExcelドキュメントなど)に対してFTS操作を実行することもできます。
BLOBデータをデータベースに保存することのデメリット:
データベースではなくファイルシステムに保存する方がよいリソースを慎重に検討してください。良い例は、通常HTTPHREFを介して参照される画像です。これは次の理由によるものです:
- データベースから画像を取得すると、ファイルシステムを使用する場合に比べてかなりのオーバーヘッドが発生します。
- データベースSANのディスクストレージは、通常、Webサーバーファームで使用されるディスクのストレージよりも高価です。