web-dev-qa-db-ja.com

Google BlobstoreとGoogle Cloud Storage

JavaのGoogleアプリエンジンでホストされているアプリケーションがあり、どこかに献血者感謝証明書(htmlファイル)を保存する必要があります。

したがって、Google BlobstoreまたはGoogle Cloud Storageを使用できます。私はこれらのソリューションの両方がJava用のgaeを使用して実行できることを知っています

ただし、私たちにとっての問題は、どちらを使用するかを決定することです。これら2つのアプローチの長所と短所は何ですか?

私たちは非営利であり、多くを支払うことはできません。

52
Vik

Blobstoreを使用することをお勧めします。このサービスには5 GBの空き容量があります(2012年3月現在)。クラウドストレージは有料サービスです。 App EngineブロブストアはAmazon S3に似ていますが、柔軟性が低くなります。 HTTPベースのAPIとJava/Python APIs( http://code.google.com/appengine/docs/Javaを参照) /blobstore/overview.html )。

14
Svetlin Nakov

新しいプロジェクトを開始する場合は、Cloud Storageを使用します。

GoogleはBlobstoreプラットフォームよりもCloud Storageプラットフォームを強く推進しているようです。たとえば、現在、プログラムでファイルをブロブストアに書き込みます 非推奨 ですが Cloud Storageでサポートされています 。私は未来を読むことはできませんが、GoogleはCloud Storage APIを支持してBlobstore APIをますます非推奨にし、今後の頭痛の種になるでしょう。

[〜#〜] update [〜#〜]:プログラムによるブロブストアへの書き込みはサポートされていませんが、アプリエンジンでは完全にサポートされています。さらに、blobstore APIを使用しても、引き続きCloud Storageをバックエンドとして使用できます。この時点で、Cloud Storageがブロブストアより長く存続することは明らかです。

UPDATE 2017:Googleの 公式の推奨事項 は、ブロブストアではなくクラウドストレージになりました。これは4年先のことです。

44
speedplane

まず、HTMLファイルが小さい場合(またはgzip圧縮で小さい場合)、データストアにBlobPropertyとして保存し、メタデータプロパティを追加して、後で適切に取得できるようにします。

これが選択肢でない場合は、おそらくアプリケーションの将来の成長を考慮してください。 Cloud StorageがBlobstoreに対して持つ2つの大きな利点は、1)サードパーティによるアクセス可能性と2)ファイルサイズの制限がないことです。

  • 他のサービスもこれらのファイルを読み書きする必要がありますか?次に、Cloud Storageを使用します。
  • ファイルは50MBを超える可能性がありますか?それとも、サイズが不明な可能性がありますか?次に、Cloud Storageを使用します。

ただし、これら2つのことをアプリケーションで解決する必要がないことを知っている場合は、Blobstoreを使用してください。

12
Dave