如何在Azure中存储文件
本文关键字:存储文件 Azure | 更新日期: 2023-09-27 17:53:03
我们每年需要存储约50k个文件。每个文件大小为0.1-5mb,换算成5gb - 250gb。文件有:jpg, avi, pdf, docx等
我们过去只是在sql server中存储文件blob,但我想这不是最好的主意,因为数据库将在2年内变得巨大。
存储这些数据的最佳方式是什么?
我看到有很多不同的选择,不知道从哪里开始:Azure存储、Azure SQL等。在新版本的SQL server中也有一些混合版本。
我对多个系统使用以下方法。
- 用于文件的Azure存储。如果存储专有信息,可以创建多个容器和访问级别。
- 为Azure存储提供静态内容的Azure CDN
- Azure DB作为数据库引擎
在Azure DB中,我存储了文件的路径,在我的应用程序中进行了一些额外的处理,以了解如何访问文件以构建用于提供文件的最终URL。这是由于CDN在自定义域上缺乏SSL支持。
如果您需要示例或更多信息,请告诉我。我正坐在机场,所以我提供了一个稍微不那么详细的答案。
正如@Martin在他的回答中提到的,Azure存储是可行的,特别是因为:
- 访问独立于任何虚拟机、服务、数据库等。
- 存储持久 -在一个区域内进行三次复制,并可选择进行地理复制
- 单个blob最多可达200GB,存储扩展至500TB
Azure还提供文件服务,它本质上是一个位于blob之上的SMB共享。
虽然Azure中有数据库服务(SQL database Service和DocumentDB),但你会发现这些服务并没有真正针对大型二进制数据存储进行优化;它们更适合元数据。你当然可以在它们中存储二进制数据,但你需要担心存储限制。
您还可以通过虚拟机启动自己的数据库解决方案,以及附加磁盘(同样,由持久blob存储支持)。虚拟机最多支持32个1TB磁盘连接到给定的虚拟机,无论是普通blob还是基于ssd的"高级"blob(每个高级磁盘最多支持5000 IOPS)。选择哪个数据库解决方案完全取决于您;没有"最佳"解决方案