我在SQL Server中查看FILESTREAM属性来存储文件.据我所知,它将文件存储在硬盘上,并将文件指针/路径信息存储在DB中.此外,维护流程中的事务一致性.
对于FILESTREAM属性,似乎还存在"FILESTREAM数据只能存储在本地磁盘卷上"的限制.
如果我预计我的网络应用程序将存储200,000张每张1-2mb的图像,我需要大约200GB的硬盘空间来存储图像.由于FILESTREAM要求所有数据仅按照限制存储在本地磁盘上,因此无法在单个硬盘驱动器上存储数百万个文件,因为存储要求非常大.
我对限制的理解是正确的还是我在这里遗漏了什么?
如果这个限制是正确的,我会将其作为普通blob存储在db中,并将我的数据库集群存储,以增加存储要求,这似乎不可能使用FILESTREAM.
请分享你的想法!
更新:
关于FILESTREAM的更多问题: -
我正在创建一个Asp.Net MVC网站.
我在过去,对于繁重的应用程序,多层应用程序,使用数据库来存储文件.
但现在我在质疑自己,这对网站来说是个好主意吗?在绩效视图中?
它有几个优点:
但它也有一些缺点:
你怎么看?这合理吗?我在互联网上搜索,但我没有找到网站的某些论点.我的问题主要是关于FILESTREAM VS FILESYSTEM,我确定FileStream比较慢,但是很多?因为如果它只是百分之一,那么功能的获得是值得的.