3

ストリーミングデータにうまく対応するクラウドデータストレージAPIは何ですか?ストリーミングデータ用のクラウドストレージAPI

具体的には、1)既知の終わりがなく、継続的に付加され、2)いつでも読み出すことができる定数データストリーム。

分散アクセスの性質上、Amazon S3、Google Storage for Developers、Windows Azure Blobなどの大きなクラウドストレージオプションはストリーミングデータをサポートしていないようです。

現在の信念:

1)Amazon S3は(のみ置き換え)オブジェクトへの操作を追加ことはできません。マルチパートアップロードAPIは「ストリーミング」アップロードを許可しますが、完全に書き込まれると「ファイナライズ」する必要があります。

2)Google Storageオブジェクトは不変なので、同じことです。

3)Windows Azureブログストレージにはブロックストレージがありますが、Amazon S3マルチパートアップロードと同様に、ブロックを「ファイナライズ」する必要があり、オープンエンドストリームは不可能です。

アイデア?

答えて

0

Windows AzureのBLOBストレージでは、必要なだけ同じBLOBに追加したままにしておき(各書き込み後にブロックリストをコミットすることができます)、読み込み時に任意のバイト範囲を要求できます。しかし、データが連続して流れ落ちるという単一のHTTP要求の動作は依然として得られません。 (範囲を要求し、次の範囲などを別に要求しなければならないなど)。

フロントエンドに独自のコードを作成する要件を正しく理解している場合は、データ(ソケットベースまたはチャンクされたHTTP応答)が唯一の選択肢になります。

+0

ありがとう、私はあなたが最初の書き込みの後にブロブに追加できることを認識していませんでした。私はこれが主に私の問題を解決すると思いますが、昨日から私はページモードも見てきました。具体的には、BLOBにページを追加するだけです。あなたはそのアプローチの問題を見ますか? – ionwarp

+0

私はページのブロブがあらかじめ決められた長さを持つ必要があると信じていますので、非常に大きなページブロブを作成して徐々に埋めていく必要があります。ブロブをブロックするのではなく、長くて長くすることもできます(ただし、毎回ブロックのリスト全体をコミットしなければならないので、リストが本当に長くなるかもしれません)。 – smarx

+0

あなたが書いたページの代金のみを支払うので、ページBLOBをTBにして追加するだけで問題はありません。おそらく、ファイルの先頭にある長さをどこかに保持する必要があるかもしれません。 –

0

ブロックブロブではなく、Windows Azure Page Blobが必要です。ページブロブについては、http://msdn.microsoft.com/en-us/library/windowsazure/ee691964.aspxを参照してください。

Page Blobを使用すると、既存のBLOBに追加することができます。主な考慮点は、512バイトのページ全体を書き込む必要があることです。既存のファイルに追加する場合は、511あなたのファイルの終わりからの既存のデータのバイト。

関連する問題