Azure Blob vs文件vs磁盘存储

Jak*_*222 3 .net azure azure-storage azure-storage-blobs azure-storage-files

快速提问。我一直在阅读大量有关azure blob /文件/磁盘存储选项的信息,并且我对存储的要求如此简单,因此我对最佳选择感到困惑。我正在阅读的大多数信息完全笼罩着我。

我希望有人可以将视野缩小到更合理大小的一组优点/缺点。我的情况如下:

我正在建立一个进行图像处理的API。简而言之,用户请求获取具有特定文本的特定图像以打印在顶部,我的API对其进行处理并将其吐出。目前,我正在Azure模拟器上运行,因此图像文件(大约3演出的PNG)是从本地路径中提取的。我很快将部署到实时的Azure服务器上,因此我想将这些图像文件存储在某个位置(而不将它们放置在实际的应用程序文件中)。

到目前为止,我的理解是磁盘和文件选项将使我可以使代码保持相对不变,同时仍使用常规文件I / O来加载映像路径。磁盘将仅允许对运行此API的计算机进行数据访问,这很好,但是我不知道使用磁盘是否有任何好处,这会施加此限制。Blob存储将要求我更改此设置,但是没有太多代码,并且我不认为这会太困难。

每个不同选择的细节太多,以至于我难以做出决定:就我的情况而言,这三个之间是否有明确的选择?它归结为更容易的事情吗?性能和成本是重中之重,那么在这些方面的利弊是什么?这确实需要能够缩放到更多图像,但只能缩放到一定程度。我可以看到,在接下来的几年中,它的数量将从3个演出增加到10个演出,但不会从3个演出增加到1000个演出。

Dav*_*gon 5

您选择哪种完全取决于您,但是客观地:

  • Azure文件存储可以作为SMB卷挂载(以便您的应用程序的所有实例都可以使用它)。注意:目前尚不支持Web应用程序支持此功能-您只能通过API(而不是通过附加的磁盘)写入文件共享。Azure文件存储卷每个最多支持5TB,并且吞吐量最大。整个共享速度为60MB /秒。它由Azure blob存储提供支持(因此,与blob一样持久)。
  • Azure磁盘再次受Blob支持(页面Blob),每个磁盘最多1TB。每个磁盘都可安装到单个VM。吞吐量高于文件存储(每个Blob为60 /秒)。如果没有您自己的同步数据解决方案,则无法在VM之间共享。安装和格式化后,就可以像访问其他任何本地文件一样进行访问(例如,不对应用程序进行任何修改)
  • Azure Blob:每个存储帐户最高500TB,每个块Blob最高可达200GB 4.77TB。通过REST API / SDK访问,无法安装为磁盘/驱动器。在不修改您的应用程序的情况下,您需要确保将Blob内容复制到本地磁盘上以对该内容执行操作(不能只将Blob作为文件打开并对其进行修改)。

编辑以反映更大的区块规模,于2016年12月推出

  • 补充一点,对于 10gb 的数据,与您将采用哪条路线完全无关,只需使用最方便的即可。顺便说一句,那是复制\粘贴吗?你到底是怎么打字这么快的? (2认同)
  • 没有复制粘贴——只有大量的咖啡。:) (2认同)