3

有哪些云数据存储 API 可以很好地容纳流数据?

具体来说,一个恒定的数据流:1) 没有已知的结束并且不断地附加到和 2) 可以随时读取。

由于分布式访问的性质,Amazon S3、Google Storage for Developers 和 Windows Azure Blob 等大型云存储选项似乎不支持流数据。

目前的信念:

1) Amazon S3 不允许对对象进行追加操作(仅替换)。分段上传 API 允许“流式”上传,但需要在完全编写后“最终确定”。

2)谷歌存储对象是不可变的,所以同样的事情。

3) Windows Azure 博客存储具有块存储,但与 Amazon S3 分段上传一样,需要“最终确定”块,因此无法实现开放式流。

有任何想法吗?

4

2 回答 2

0

您需要的是 Windows Azure Page Blob,而不是 Block Blob。有关页面 blob 的信息,请参阅:http: //msdn.microsoft.com/en-us/library/windowsazure/ee691964.aspx

使用 Page Blob,您将能够追加到现有 Blob,主要考虑因素是您必须写入整个 512 字节的页面,因此如果您追加到现有文件,您可能还必须发送多达 511 字节的现有数据从文件末尾开始。

于 2011-12-09T02:27:55.807 回答
0

使用 Windows Azure blob 存储,您可以根据需要继续追加到同一个 blob(并在每次写入后提交阻止列表),并且您可以在读取时请求任何字节范围。但是,您仍然无法获得数据不断向下传输的单个 HTTP 请求的行为。(您必须请求一个范围,然后再请求下一个范围,等等。换句话说,在任何给定时间,blob 的长度都是有限的。)

如果我正确理解要求,构建您自己的代码来前端数据(基于套接字或可能是分块的 HTTP 响应)可能是您唯一的选择。

于 2011-07-16T02:13:04.590 回答