在 Azure 存储中存储大量文件

Mat*_*ols 3 azure azure-storage azure-blob-storage

我正在构建一个应用程序,需要存储大量(250,000 左右)的小文件(2MB - 10MB)。我想为此使用 Azure 存储,因为其余相关系统都在 Azure 上。每个文件都有一个唯一的名称(可能是 GUID)。我有点不确定的是 BLOB 与文件是如何对应的。因为我知道每个文件都将被唯一命名,所以我可以/应该只将每个 blob 一个文件存储在单个容器中吗?

我仍在了解 Azure 存储概念,所以很抱歉,如果我太天真了。

Lou*_*man 5

我创建了一个类似的 blob 存储库(2.6MM 文件/3.9TB),所以我认为我的经验可能可以很好地代表您的经验。然而,我应该说,这些文件中至少有一半是 1K 或更小,所以我的发现不会完全匹配。

无论如何,我和你有同样的问题:容器/文件夹组织)会影响检索速度吗?然而,我的测试表明,无论我如何组织文件,检索速度几乎都是相同的。

对于您的情况,我只需使用一个没有底层“文件夹”结构的容器,特别是因为您将使用 GUID 作为文件名。您永远不会想要列出所有 250K 文件(除非您想要进行完整的“目录”扫描),因此扁平的组织方案似乎是最好的。

选择替代方案(具有多个容器和/或文件夹)的唯一原因是如果您想定期滚动文件子集(即在一定天数后)。