7

herokuにデプロイするアプリで....

ユーザーがサムネイル画像をアップロードできるようにする必要があります。

もちろん、heroku でデプロイされたアプリには永続的なローカル ファイル ストレージはありません。

ここで行う一般的なことは、Google で検索すると、ファイルを Amazon S3 に保存するか、場合によっては他の AWS がホストするクラウド ストレージに保存することです。

しかし、postgres blob 列に画像を貼り付けたらどうなるでしょうか?

これを行うことの欠点は何ですか?利点は、他のストレージにお金を払う必要がないこと、バグや機能停止の可能性が高い追加の外部システムに対処する必要がないことです。しかし、誰もこれを行わないように見えるいくつかの正当な理由があるに違いありません。

4

1 に答える 1

6

データベースと S3 は、2 つの異なるストレージ メカニズムです。それらはどう違いますか?

S3について

Amazon S3 は、高度に専門化されたファイル ストレージ システムです。基本的な読み取り/書き込み/削除ファイル操作に対して実行できることを最小限に抑え、保存されているファイル全体のデータを提供するためにキャッシュを最適化します。

ポストグルについて

Postgres は、さまざまな操作のデータを格納およびインデックス付けするための非常に高い柔軟性を備えた SQL リレーショナル データベースです。バイナリ イメージ データを Postgres 内の行にうまく詰め込むことができます。

コスト/スケーラビリティの比較

Postgres ではなく S3 を選ぶ理由は何ですか? コストとスケーラビリティ。Postgres は、高価で高度なスキルを持つジェネラリストです。Heroku では、Postgres データベースを実行すると、データの量とトラフィックの規模に応じて、1 か月あたり数百ドルまたは数千ドルの費用がかかる可能性があります。

Amazon S3 は、お客様のニーズ (画像を書き込み、ウェブページのコンテキストで画像を提供する) に完全に一致する、安価で高度にスケーラブルなソリューションです。

TL;DR: Amazon S3 は、画像などのファイル用に高度に最適化されており、スケーラビリティが高く、比較的安価です。

于 2013-09-24T18:39:50.397 に答える