【问题标题】:storing images in sql server将图像存储在 sql server 中
【发布时间】:2009-08-09 20:32:12
【问题描述】:

我正在尝试将用于存储图像的数据库设计放在一起。你们中的许多人可能有过设计数据库来存储图像的经验以及与之相关的挑战。

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

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

我想弄清楚的事情: 1)我很好奇,如果我错过了图像的任何其他关键属性。 2) 由于使用 FILESTREAM 数据类型,图像存储在文件系统上,因此在进行数据库备份时会产生什么影响?

谢谢! 陈

【问题讨论】:

  • 你能给我们一个更新吗?事情进展如何?

标签: sql sql-server sql-server-2008 filestream


【解决方案1】:

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

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

您可能没有考虑到,由于 FILESTREAM 是一项新功能,因此不能与其他一些 sql server 功能一起使用,例如:

  • 数据库镜像
  • 复制(无法复制文件流列)
  • 数据库快照

【讨论】:

    【解决方案2】:

    备份会将图像存储在其中以保持事务一致性。 至于属性,这取决于您的需求。不过,我想不出您还缺少任何其他属性。

    【讨论】:

      【解决方案3】:

      我还会输入编码(jpeg、gif、png、bmp...)、MIME 类型(图像/png)等,这样您就不必每次都解析文件名;还有文件大小(如果需要显示)。

      【讨论】:

      • 图像类型意味着编码我认为:P(他已经为每个图像保存)
      • 是的,先生! Image Type 本来是要编码的。为了清楚起见,我可以举个例子。
      猜你喜欢
      • 2011-08-02
      • 2013-05-02
      • 1970-01-01
      • 2021-04-23
      • 2015-12-29
      • 1970-01-01
      • 1970-01-01
      • 2015-02-05
      • 2018-09-18
      相关资源
      最近更新 更多