所以场景如下:

我有一个 Web 服务的多个实例,用于将大量数据写入 Azure 存储。我需要能够根据接收时间将 blob 分组到一个容器(或虚拟目录)中。每隔一段时间(最糟糕的情况下每天),旧的 blob 将被处理然后删除。

我有两个选择:

选项 1

我制作了一个名为“blob”的容器(例如),然后将所有博客存储到该容器中。每个 blob 都将使用一个目录样式名称,目录名称是它收到的时间(例如“hr0min0/data.bin”、“hr0min0/data2.bin”、“hr0min30/data3.bin”、“hr1min45/data.bin” ", ... , "hr23min0/dataN.bin"等 - 每 X 分钟一个新目录)。处理这些 blob 的东西将首先处理 hr0min0 blob,然后是 hr0minX 等等(并且 blob 在处理时仍在写入)。

选项 2

我有许多容器,每个容器都有一个基于到达时间的名称(所以首先是一个名为 blob_hr0min0 的容器,然后是 blobs_hr0minX 等),并且容器中的所有 blob 都是在指定时间到达的 blob。处理这些博客的东西将一次处理一个容器。

所以我的问题是,哪个选项更好?选项 2 是否给了我更好的并行化(因为容器可以在不同的服务器上)还是选项 1 更好,因为许多容器可能导致其他未知问题?

最佳答案

我认为这并不重要(从可扩展性/并行化的角度来看),因为 Win Azure blob 存储中的分区是在 blob 级别完成的,而不是在容器级别。分布在不同容器中的原因更多地与访问控制(例如 SAS)或总存储大小有关。

有关更多详细信息,请参见此处:http://blogs.msdn.com/b/windowsazurestorage/archive/2010/05/10/windows-azure-storage-abstractions-and-their-scalability-targets.aspx

(向下滚动到“分区”)。

引用:

关于azure - 是拥有多个小型 Azure 存储 blob 容器(每个容器都有一些 blob)还是一个非常大的带有大量 blob 的容器更好?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8158452/

10-16 20:22