使用Sql Server FileStream还是传统的文件服务器?

use*_*170 2 filestream azure

我正在设计一个拥有大约1000万用户的系统,每个用户都有一张照片,大约1~2 MB.我们将使用Microsoft Azure部署数据库和Web应用程序我想知道我应该存储照片的方式,目前有两种选择,

1,存储所有照片使用Sql Server FileStream

2,使用文件服务器

我没有使用FileStream体验过如此大规模的BLOB数据.

任何人都可以提出我的建议吗?缺点和优点?任何拥有Microsoft Azure体验的大型照片商店都非常感谢!

Thx Ryan.

use*_*559 5

我既不投票也不投票.使用Windows Azure Blob存储.简单的REST API,0.15美元/ GB /月.你甚至可以直接从那里提供图像,如果你把它们公之于众(比如<img src ="http://myaccount.blob.core.windows.net/container/image.jpg"/>),这意味着你不要必须通过您的网络应用程序汇集它们.


Aar*_*ron 5

对于任何大规模的二进制存储需求,数据库几乎总是一个糟糕的选择。数据库最适合仅关系系统,而是在数据库中提供对实际存储位置的引用。您应该考虑以下几个因素:

  • 成本 - SQL Azure 每 GB 存储成本相当高,并且存储限制很小(每个数据库 50GB),这两者都使它成为二进制数据的糟糕选择。Windows Azure Blob 存储用于提供二进制对象要便宜得多(尽管定价系统稍微复杂一些,但每 GB 仍然便宜得多)。
  • 吞吐量 - SQL Azure 具有相当不错的吞吐量,因为它可以很好地扩展,但是,Windows Azure 博客存储具有更大的吞吐量,因为它可以扩展到任意数量的节点。
  • 内容交付网络 - SQL Azure 不可用的功能(尽管可以创建复杂的自定义包装器),但可以在几分钟内轻松设置以搭载您的 Windows Azure Blob 存储,为您的最终用户提供无限带宽,所以你永远不必担心你的二进制对象是你系统中的瓶颈。CDN 成本与 Blob 存储的成本相似,但您可以在此处找到所有这些内容:http : //www.microsoft.com/windowsazure/pricing/#windows

换句话说,没有理由不使用 Blob 存储。它使用简单,具有成本效益,并可根据任何需求进行扩展。