経緯
DBに画像を保存するシステム作ったことがあり、思うところがあったので、翻訳と意見をまとめた
原文
Why Not to Store images in Database? - DEV Community
翻訳+意訳
データベースに画像を保存するメリットとデメリット:
- データベースへの画像保存は、一元管理やバックアップの簡便さを提供
- 画像データは大きくて重いため、データベースのパフォーマンスに悪影響を及ぼす可能性がある
データベースのパフォーマンスへの影響:
- データベースは高速にアクセスされることが求められますが、画像の大容量データを含むと処理が遅くなる恐れがあります。
- データベースが肥大化するとバックアップやリストアにも時間がかかり、システム全体のパフォーマンスが低下します。
キャッシュの問題:
スケーラビリティへの影響:
- データベースに画像を保存すると、データベースの拡張が難しくなります。
- データベースサーバーの負荷が増大し、システムのスケーラビリティに悪影響を及ぼす可能性があります。
代替案:ファイルシステムへの保存:
セキュリティ上の懸念:
- データベースに直接画像を保存すると、セキュリティリスクが高まります。
- ファイルシステムに保存することで、アクセス制御を強化し、セキュリティを向上できる
このように、データベースに画像を保存する際の問題点と代替案について考察されています。データベースのパフォーマンスやセキュリティを向上させるためには、画像はファイルシステムに保存し、データベースにはリンクや識別子を格納する方法が推奨されています。
感想+考え
やっぱり、DB保存はメリット薄いよな。。。
現行踏襲で画像をDBに保存してたけど、かなり容量大きい上に、データ見るのに苦戦する。
データの確認がしにくいのは、かなりのデメリット。
テストする上でかなりネックになってくる。
開発した際に、それでかなりイライラした。