インターネット上のあらゆる場所で、HerokuPG-SQLデータベースに画像を保存することとAmazonS3に画像を保存することの比較を検索しました。私は現在、設計上の決定を下そうとしています。ただし、ImがWebアプリを作成するのはこれが初めてです。これまでのところ、これは私が決定を下すために知っていることです:
- DBに画像を保存すると、アプリのパフォーマンスが低下します
- Dbに画像を保存することは、ファイルシステムに比べて費用がかかります
- Herokuのファイルシステムにアクセスできません
- あなたは非常に安い料金でAmazonS3に画像を保存することができます
- Amazon S3に保存された画像は、Herokuのアプリケーションを通過しない場合、保存する前に処理できません。
- Amazon S3で画像を取得して保存するには、通話ごとに費用がかかります
- ブラウザが画像を含むオブジェクトを取得している場合、ブラウザはオブジェクトごとに2つのリクエストを行います。1つはherokuからのデータ用で、もう1つはS3からの画像用です。ブラウザは単位時間あたり特定の>m.untのリクエストしか作成できないため、これは問題になる可能性があります。
- 画像のサイズが小さい場合にDBに画像を保存しても、パフォーマンスはそれほど低下しません。
- データベースから画像を削除すると、断片化が発生する可能性があります
これらは私がそのトピックについて知っている事実です。現在のところ、ImはHerokuDBに画像を保存することに傾倒しています。それらは主にサムネイル/小さな画像であり、サイズが250MB未満であるため
これらの事実が間違っているのか、それともこの設計上の決定を行う際に私が行う必要のある他の考慮事項があるのか、誰かが私に知らせてくれるのではないかと思っていました。
また、誰かがこのトピックに関するWeb上のいくつかの良い議論を私に教えてくれれば本当にありがたいです。私はこの議論に正確にあったものを見つけることができませんでした。