将图像存储在数据库或系统文件中?

问题描述:

精确重复:User Images: Database or filesystem storage?
精确重复:Storing images in database: Yea or nay?
精确重复:Should I store my images in the database or folders?
精确重复:Would you store binary data in database or folders?
精确重复:Store pictures as files or or the database for a web app?
精确重复:Storing a small number of images: blob or fs?将图像存储在数据库或系统文件中?

我必须存储用户的个人资料图像(100px * 100px)什么是存储它的最佳方式?数据库或系统文件?哪一个更好,更快,更安全......?

+0

@Yassir,认真的人。搜索。我在几秒钟内发现了6个重复项。我知道还有更多。 – mmcdole 2009-04-19 20:44:43

+0

哦,他们没有出现,当我输入的问题我的坏它不会再发生 – 2009-04-19 20:48:08

+0

“封闭为垃圾邮件”?!?我可以理解为重复,但为什么垃圾邮件? – 2009-04-19 20:52:39

总是将图像,音乐文件等存储在磁盘上的系统文件中,然后将url:s存储到数据库中。这将使

1)快

2)更容易配置安全设置

3)在任何方式更好,我能想象

数据库使备份和恢复更容易,并且它比小型映像的文件系统存储更好。微软发表了一篇关于该主题的研究论文:To BLOB or Not To BLOB

我要提出一个第三个选项,第三派对派对,如亚马逊S3或Mosso Cloud Files。两者都提供可用于上载文件的API,并提供CDN功能,以便文件加载速度更快,然后它们将离开服务器或从数据库中提取。

这是一个不错的选择,因为它是两全其美。在数据库中存储图像的不利之处在于,它会给应用程序和数据库服务器带来额外的压力(定位文件并拉动它),这也会导致数据库的大小增加,这意味着您需要更早的硬件。

把它们存储在文件系统中的缺点是你现在有一个扩展问题,就好像你想添加额外的web服务器,他们每个都需要一个映像副本,或者你需要为这些服务器创建一个专用服务器图片。另外,文件系统访问可能会成为未来的瓶颈。

SQL Server 2008提供了best of both worlds