pup*_*eno 9 database blob image sql-server-2008
可能重复:
在DB中存储图像 - 是或否?
多年来,我被告知不要将图像存储在数据库中,也不要将任何大型BLOB存储在数据库中.虽然我可以理解为什么数据库没有/没有效率,我从来没有理解为什么他们不能.如果我可以将文件放在某处并引用它,为什么数据库引擎也不能这样做.我很高兴Damien Katz在最近的Stack Overflow播客中提到它,Joel Spolsky和Jeff Atwood,至少默默地同意了.
我一直在阅读Microsoft SQL Server 2008应该能够有效处理BLOB的提示,这是真的吗?如果是这样,有什么阻止我们在那里存储图像并摆脱一个问题?我能想到的一件事是,虽然图像可以很快地由静态Web服务器提供,如果它是某个文件,当它在数据库中时,它必须从数据库传输到Web服务器应用程序(这可能比静态Web服务器)然后它被服务.不应该缓存帮助/解决最后一个问题?
Vin*_*vic 11
是的,确实如此,SQL Server 2008只是实现了一个类似你提到的功能,它被称为文件流.如果您确定只需要为您的应用程序使用SQL Server(或者愿意为性能付费或在新的基础上开发类似的层),这对于在数据库中存储blob确实是一个很好的论据.数据库服务器).虽然我预计如果不同的数据库服务器不存在类似的层,它们将开始出现.
一如既往,真正的好处取决于具体情况.如果您将提供大量相对静态的大文件,那么考虑到性能/可管理性组合,此方案加上缓存可能是最佳选择.
本白皮书介绍了SQL Server 2008的FILESTREAM功能,该功能允许使用SQL Server 2008和NTFS文件系统的组合来存储和有效访问BLOB数据.它涵盖了BLOB存储的选择,配置Windows和SQL Server以使用FILESTREAM数据,将FILESTREAM与其他功能相结合的注意事项以及分区和性能等实现细节.
| 归档时间: |
|
| 查看次数: |
5422 次 |
| 最近记录: |