首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在DB中存储图像-是还是不是?

问在DB中存储图像-是还是不是?
EN

Stack Overflow用户
提问于 2008-08-06 17:38:35
回答 56查看 734.2K关注 0票数 415

所以我使用了一个在数据库中大量存储图像的应用程序。你对此有何看法?我更倾向于将位置存储在文件系统中,而不是直接存储在DB中。

你认为这有什么好处/坏处?

EN

回答 56

Stack Overflow用户

发布于 2008-08-06 17:40:10

我负责一些管理TB级图像的应用程序。我们发现在数据库中存储文件路径是最好的。

有几个问题:

  • 数据库存储通常比文件系统存储更昂贵
  • 您可以使用标准的现成产品超级加速文件系统访问例如,许多web服务器使用操作系统的sendfile()系统调用将文件直接从文件系统异步发送到网络接口。存储在数据库中的图像不会从此optimization.

中受益

​

在图像和元数据之间的事务完整性非常重要的地方,访问文件system

  • databases中的图像不需要特殊的编码或处理,
  • 就像web服务器等。
    • 管理数据库元数据和文件系统数据之间的完整性更为复杂
    • 很难(在web应用程序的上下文中)保证数据已刷新到web上的磁盘

​

票数 350
EN

Stack Overflow用户

发布于 2008-08-22 16:33:14

与大多数问题一样,它并不像听起来那么简单。在某些情况下,将图像存储在数据库中是有意义的。

  • 您正在存储动态变化的映像,例如发票,并且您希望获得一张2007年1月1日的发票?
  • 政府希望您保留6年的历史记录
  • 存储在数据库中的映像不需要不同的备份策略。存储在文件系统中的图像做
  • 如果图像存储在数据库中,则更容易控制对它们的访问。空闲的管理员可以访问磁盘上的任何文件夹。这需要一个真正有决心的管理员到数据库中去窥探以提取图像

另一方面,也有相关的问题。

  • 需要额外的代码来提取和流式传输图像
  • 延迟可能比直接文件访问慢
  • 数据库服务器上的负载较重
票数 140
EN

Stack Overflow用户

发布于 2008-08-20 18:35:16

文件存储。Facebook的工程师们对此进行了精彩的讨论。其中一个收获是了解一个目录中文件的实际限制。

Needle in a Haystack: Efficient Storage of Billions of Photos

票数 99
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档