我们每年需要存储~50k文件。每个文件为0.1-5mb,转换为5gb - 250gb范围。文件是:jpg,avi,pdf,docx等。
我们以前只在sql server中存储文件BLOB,但我想这不是最好的想法,因为数据库在2年内会很大。
存储数据的最佳方法是什么?
我在那里看到很多不同的选项,无法弄清楚从哪里开始: Azure存储,Azure SQL等。在新版本的SQL Server中也有一些混合版本。
答案 0 :(得分:5)
我对多个系统使用以下方法。
在Azure DB中,我存储了文件的路径,并在我的应用程序中进行了一些额外的处理,以便如何访问文件以构建最终的URL来提供文件。这是因为CDN在自定义域上缺乏SSL支持。
如果您需要示例或更多信息,请告诉我们。我坐在机场,所以提供一个稍微不那么详细的答案。
答案 1 :(得分:5)
正如@Martin在回答中提到的,Azure存储是可行的,特别是因为:
Azure还提供文件服务,它本质上是一个位于blob之上的SMB共享。
虽然Azure(SQL数据库服务和DocumentDB)中有数据库服务,但您会发现这些服务并未真正针对大型二进制数据存储进行优化;它们针对元数据进行了更优化。您当然可以在每个数据中存储二进制数据,但您需要担心存储限制。
您也可以通过虚拟机以及附加的磁盘(再次由持久的blob存储支持)启动您自己的数据库解决方案。虚拟机支持最多32个连接到给定VM的1TB磁盘,无论是普通blob还是“高级”基于SSD的blob(每个高级磁盘支持高达5000 IOPS)。 您选择哪种数据库解决方案完全取决于您;没有“最佳”的解决方案。