Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 您在数据库中存储小于0.3MB的Blob的原因?_Sql Server_Database_Database Design_Storage_Blob - Fatal编程技术网

Sql server 您在数据库中存储小于0.3MB的Blob的原因?

Sql server 您在数据库中存储小于0.3MB的Blob的原因?,sql-server,database,database-design,storage,blob,Sql Server,Database,Database Design,Storage,Blob,[1]、[2]和许多其他参考文献得出结论,大小小于0.3-1 MB的Blob应存储在数据库中,而大于1 MB的Blob应存储在文件系统中(可能通过FILESTREAM) FACEBOOK.com在文件系统中存储6.5(30个缩略图和大小版本)的数十亿张图片[3] 兰德尔的白皮书[2]的理由是: 好吧,这并不能让我相信在数据库中存储blob的必要性,但事实上它们不应该通过T-SQL而应该通过Win32进行外部访问/流式处理 其他原因,我确实读过,对我来说也不那么有说服力 您将blob存储在数据库

[1]、[2]和许多其他参考文献得出结论,大小小于0.3-1 MB的Blob应存储在数据库中,而大于1 MB的Blob应存储在文件系统中(可能通过FILESTREAM)

FACEBOOK.com在文件系统中存储6.5(30个缩略图和大小版本)的数十亿张图片[3]

兰德尔的白皮书[2]的理由是:

好吧,这并不能让我相信在数据库中存储blob的必要性,但事实上它们不应该通过T-SQL而应该通过Win32进行外部访问/流式处理

其他原因,我确实读过,对我来说也不那么有说服力

您将blob存储在数据库而不是文件系统中的原因是什么

[1]
雷大麦。在SQL Server 2008中使用FILESTREAM在NTFS文件系统中存储blob

[2]
保罗·S·兰德尔
SQL Server 2008中的文件流存储

[3]
詹姆斯·汉密尔顿的博客文章。Facebook:大海捞针:高效存储数十亿张照片

将此类数据存储在数据库而不是文件系统中有许多优点:

数据完整性—您可以对其实施约束

事务支持

可管理性—备份和恢复选项

高可用性—数据库往往比文件系统具有更复杂的镜像和群集选项

安全性—您可以获得与文件系统不同的细粒度安全控制

可访问性-数据库中的表可供所有类型的应用程序访问,以进行表示和分析。可以使用SQL语句轻松地查询数据库

审核-您可以记录和监视数据的更改


我认为还有很多其他原因,但这些是我首先想到的原因。

将此类数据存储在数据库而不是文件系统中有很多好处:

数据完整性—您可以对其实施约束

事务支持

可管理性—备份和恢复选项

高可用性—数据库往往比文件系统具有更复杂的镜像和群集选项

安全性—您可以获得与文件系统不同的细粒度安全控制

可访问性-数据库中的表可供所有类型的应用程序访问,以进行表示和分析。可以使用SQL语句轻松地查询数据库

审核-您可以记录和监视数据的更改


我想还有很多很多其他原因,但这些都是我首先想到的原因。

不要忘记@Oded女士的研究论文,我没有,在[2]中被大量引用。真的,所有的理由都被欺骗了there@Mitch麦子,我很高兴你这么问。问题是询问符号“?”前的短语/陈述。而“?”就在我的博文中引用[1]之前。别忘了@Oded女士的研究论文,我没有,它在[2]中被大量引用。真的,所有的理由都被欺骗了there@Mitch麦子,我很高兴你这么问。问题是询问符号“?”前的短语/陈述。而“?”就在我的文章引用[1]之前