我应该在 Azure Blob 容器中创建文件夹结构吗?

Should I create a folder structure in my Azure Blob Container?

我们决定使用 Azure Blob 存储来存放我们的媒体文件。 每个 "playable unit"(即电影、音乐曲目、播客剧集等)通常有 100 - 18.000 个文件。每个 "unit" 都有一个 GUID,并且属于某种类型。

我看到 2 个备选方案:

一个) 没有结构。所有文件都在容器的基础上。 Guid 是唯一的,因此没有重叠。

Examples of file name/uri:
238F580F-2D74-4C17-B237-CCD6D32F7279-movie-part_001
238F580F-2D74-4C17-B237-CCD6D32F7279-movie-part_002
C1A832BA-6B48-44AA-AC51-A2D7CD031708-podcast-part_037

B) 用每个文件夹更少的文件来构建它们。

Examples:
movies/23/8F/58/0F/238F580F-2D74-4C17-B237-CCD6D32F7279/part_001
movies/23/8F/58/0F/238F580F-2D74-4C17-B237-CCD6D32F7279/part_002
podcasts/C1/A8/32/BA/C1A832BA-6B48-44AA-AC51-A2D7CD031708/part_037
  1. 在文件夹中构建文件是否有任何性能优势? getting/updating 斑点是否同样快? (我们之前使用了实际的文件存储,其中每个文件夹没有太多文件对于查找速度很重要)。
  2. 对我未来的开发有任何可维护性或其他好处吗?

当我有很多文件时,我会使用文件夹结构。

  1. Are there any performance benefits from structuring our files in folders? Is the getting/updating blobs equally fast? (We previously used an actual file storage, in which not having too many files per folder was important for lookup speed).

容器内的文件夹结构是虚拟的,您不会看到任何性能变化with/without文件夹结构。

CloudBlockBlob blockBlob = cloudBlobContainer.GetBlockBlobReference(fileName);
  1. Any Maintainability or other benefits for my future development?

当你想 visualize/find 浏览 Azure 存储中的电影文件时,它会很有帮助。