Database 在数据库中存储blob是一个好主意吗?
一段时间以来,我一直致力于将数据从臃肿的Excel工作簿插入SQL数据库。我的团队建议保留.xls的备份,他们想知道将Excel工作簿放在数据库中是否是一个好主意,以便将我们项目中的所有相关数据放在一起 我知道一些数据库支持插入二进制文件,但显然这不是DB系统最初的预期用途,因此我认为这是一个坏主意。我的建议是将工作簿的URL放在数据库中,并将工作簿保存在我们内部网的安全位置 将blob放入数据库的优点(如果有的话,除了将生产数据和备份放在同一个位置之外)和缺点是什么 编辑:只是想进一步澄清一下,虽然我给出了一个具体的场景,但我打算这个问题主要是关于一般的blob。但是,无论我能从您的回复中收集到什么,在我的具体情况下都会对我有所帮助,我当然非常感激。:) 谢谢,Database 在数据库中存储blob是一个好主意吗?,database,excel,sql-server-2008,blob,Database,Excel,Sql Server 2008,Blob,一段时间以来,我一直致力于将数据从臃肿的Excel工作簿插入SQL数据库。我的团队建议保留.xls的备份,他们想知道将Excel工作簿放在数据库中是否是一个好主意,以便将我们项目中的所有相关数据放在一起 我知道一些数据库支持插入二进制文件,但显然这不是DB系统最初的预期用途,因此我认为这是一个坏主意。我的建议是将工作簿的URL放在数据库中,并将工作簿保存在我们内部网的安全位置 将blob放入数据库的优点(如果有的话,除了将生产数据和备份放在同一个位置之外)和缺点是什么 编辑:只是想进一步澄清一下
-罗伯特
另外,对于那些不知道的人来说,BLOB是“二进制大对象”的backcronym
许多CMS软件包(如Sharepoint)都将其存储为BLOB
快速总结。我没有个人意见,因为我从来没有在数据库中设计或开发过非常大的blob(比如电子表格)。我储存了图像和其他小东西 在数据库中: 优点: 假设其他数据以及BLOB:- 都在一个地方
- 备份/恢复是一致的
- 数据库膨胀
- 演出
- 没有数据库膨胀
- 本地存储
- 备份/恢复更复杂
- 断链风险
由于您使用的是SQL 2008,您可能还对数据类型感兴趣。在我看来,如果需要打开Excel电子表格,如果它是一个blob,那么打开它会变得更加困难。另一方面,您不希望在不更改数据的情况下更改备份电子表格,因此在您的情况下,这可能是一个优势。您还可以考虑要存储的电子表格的多少修订。我们经常被要求回顾一年或一年以上的客户的原始输入数据(当您收到每日文件时,这真的很有趣),以找到问题的根源(或者至少证明是他们而不是我们!)。如果需要查看不同版本的数据,则blob需要位于相关表中。这在您的案例中也是一个有利条件,在我看来,您几乎不需要实际访问这些数据。这是一个很好的问题,但在这里已经被问过很多次了。投票以重复方式结束我几乎只能找到关于将特定图像存储为blob的问题;我想问一下一般的斑点。但是,我认为图像Blob的大多数优点/缺点适用于所有Blob。@Josh,请编辑问题并添加复制问题的链接,以便新用户可以轻松找到它们。数据库bloat还不错。BLOB存储在表空间之外,并引用二进制数据。在SQL Server中?对于FILESTREAM,是的,但是“表空间”是一个强制的概念,不是吗?@Kieveli:对于所有支持Blob的DBMS都是这样吗?谢谢FILESTREAM的建议-我会检查一下。