2009-08-09 103 views
5

我想把数据库设计放在一起存储图像。你们许多人可能有设计数据库来存储图像的经验以及与之相关的挑战。在SQL服务器中存储图像

db最终可能会存储数以十万计的图像。我打算使用SQL Server 2008数据库和实体框架。计划使用FILESTREAM数据类型来存储图像。以下是我考虑为db中的每个图像存储的属性列表。

图像名称,图像类型,图像宽度,图像高度,图像水平分辨率,图像垂直分辨率,图像位深度以及最终的实际图像数据。

我试图弄清楚的事情: 1)我很好奇,如果我错过了图像的任何其他关键属性。 2)由于使用FILESTREAM数据类型,图像存储在文件系统中时,可能会对数据库备份造成什么影响?

谢谢! Chan

+2

你能给我们一个更新吗?事情如何解决? – eschneider 2012-08-13 15:10:51

回答

0

备份将存储图像以保持事务一致性。 至于它依赖于你的需求。我想不出任何其他属性,但你错过了。

3

1)我可能在这里做一个疯狂的假设,但是如果你的图像是数码照片的话,那么你可能要考虑存储所有(如果不是99%)数码相机产生的元数据属性。

2)在使用文件流执行备份时没有影响,SQL Server在这里完成所有繁重工作。 Filestream数据将成为数据库.BAK文件的一部分,因此您不需要执行任何其他文件系统备份。

你可能没有考虑的是,作为FILESTREAM是一项新功能&因此不能与其他一些SQL Server的功能,例如可以使用:

  • 数据库镜像
  • 复制(不能复制FILESTREAM列)
  • 数据库快照
0

我还要把在编码(JPEG,GIF,PNG,BMP ......),MIME类型(图片/ PNG)诸如此类,所以你不必每次都解析文件名;也是文件大小(如果你需要显示它)。

+0

图像类型意味着编码我认为:P(他已经为每个图像保存) – Am1rr3zA 2009-08-10 15:55:43

+0

是的先生!图像类型是为了编码。为了清晰起见,我可以举个例子。 – pencilslate 2009-08-10 22:09:31