Azure Blob vs文件与磁盘存储

时间:2016-12-13 16:45:29

标签: .net azure azure-storage azure-storage-blobs azure-storage-files

快速提问。我已经阅读了大量有关天蓝色blob /文件/磁盘存储选项的信息,而且我有一个如此简单的存储要求,我对这将是最佳选择感到困惑。我阅读的大部分信息都完全超出了我的想象。

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

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

到目前为止,我的理解是磁盘和文件选项将允许我保持我的代码相对相同,仍然使用通用文件I / O来加载图像路径。磁盘只允许访问此API正在运行的计算机上的数据,但是我不知道磁盘是否有任何好处,这会产生这种限制。 blob存储将需要我改变它,但是没有很多代码,我不能预见到这太难了。

每个不同的选择都有这么多细节我无法做出决定:对于我的情况,三者之间有明确的选择吗?它归结为什么更容易?性能和成本是首要任务,那么这些优势/缺点是什么?这确实需要能够扩展到更多图像,但仅限于某种程度。在接下来的几年里,我可以看到它从3演出的图像到10演出的图像,但不是从3演出到1000演出。

1 个答案:

答案 0 :(得分:4)

您选择的完全取决于您,但客观地说:

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

编辑以反映更大的blob-blob大小,于2016年12月推出