如何在Azure

时间:2015-06-03 23:42:26

标签: c# azure sql-server-2012 azure-storage-blobs

我们每年需要存储~50k文件。每个文件为0.1-5mb,转换为5gb - 250gb范围。文件是:jpg,avi,pdf,docx等。

我们以前只在sql server中存储文件BLOB,但我想这不是最好的想法,因为数据库在2年内会很大。

存储数据的最佳方法是什么?

我在那里看到很多不同的选项,无法弄清楚从哪里开始: Azure存储,Azure SQL等。在新版本的SQL Server中也有一些混合版本。

2 个答案:

答案 0 :(得分:5)

我对多个系统使用以下方法。

  • Azure存储文件。如果存储专有信息,您可以创建多个容器和访问级别。
  • 用于从Azure存储提供静态内容的Azure CDN
  • Azure DB作为数据库引擎

在Azure DB中,我存储了文件的路径,并在我的应用程序中进行了一些额外的处理,以便如何访问文件以构建最终的URL来提供文件。这是因为CDN在自定义域上缺乏SSL支持。

如果您需要示例或更多信息,请告诉我们。我坐在机场,所以提供一个稍微不那么详细的答案。

答案 1 :(得分:5)

正如@Martin在回答中提到的,Azure存储是可行的,特别是因为:

  • Access独立于任何VM,服务,数据库等。
  • 存储持久 - 在区域内进行三重复制,并可选择地理复制
  • 单个blob最高可达200​​GB,存储容量可达500TB

Azure还提供文件服务,它本质上是一个位于blob之上的SMB共享。

虽然Azure(SQL数据库服务和DocumentDB)中有数据库服务,但您会发现这些服务并未真正针对大型二进制数据存储进行优化;它们针对元数据进行了更优化。您当然可以在每个数据中存储二进制数据,但您需要担心存储限制。

您也可以通过虚拟机以及附加的磁盘(再次由持久的blob存储支持)启动您自己的数据库解决方案。虚拟机支持最多32个连接到给定VM的1TB磁盘,无论是普通blob还是“高级”基于SSD的blob(每个高级磁盘支持高达5000 IOPS)。 您选择哪种数据库解决方案完全取决于您;没有“最佳”的解决方案。