首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于图像存储库的存储技术的建议

关于图像存储库的存储技术的建议
EN

Software Engineering用户
提问于 2014-01-28 05:45:06
回答 3查看 1.7K关注 0票数 -1

在这一点上,我不是一个程序员,坚实的html/css,熟悉JS,但不是一个程序员的任何手段。我正在寻找任何必要的东西,为即将到来的项目。

我需要建立一个在线图像存储库,它将托管大约15k张照片。这些照片需要用户输入与它们相关的数据。它们需要通过标签进行搜索,并且可以批量下载。

你们会做文件系统或数据库存储吗?基本上,您会使用哪种类型的存储解决方案?

EN

回答 3

Software Engineering用户

发布于 2014-01-28 07:12:05

对于这样的星座,我通常使用的方法是

  • 将图像存储在文件系统中。
  • 对元数据使用数据库(包括对相关图像文件名的引用)

这是因为您需要为您的元数据建立索引和事务安全性,但通常不需要对映像的“部分”进行更新(我想它们只会通过添加新的部分或删除旧的部分来更新,对于需要事务性安全性的图像,唯一需要的是两个不同的映像不会获得相同的文件名,但这是元数据操作)。

请注意,有一些数据库可以用这种方式处理存储,因此您可以通过SQL以事务性的方式访问所有数据,包括图像,但是DB将图像存储在后台的单独文件中。

票数 4
EN

Software Engineering用户

发布于 2014-01-28 07:20:44

这可能是一种罕见的情况,在这种情况下,我建议考虑第三方解决方案,您可以修改。除了开源的图片库软件之外,还有很多不同CMS的图库插件。

如果你必须自己写这个,因为你正在谈论的卷,它并不是真正重要的,你把图片-无论是哪种方式,它将工作。但是,如果您期望高流量,最好是在文件系统上,这样您的数据库服务器就不必处理文件服务的过载了。此外,将图像保存在文件系统中可以为您提供更多关于备份的灵活性。

票数 1
EN

Software Engineering用户

发布于 2014-01-28 15:35:48

在文件系统中存储文件肯定是一个很好的快速解决方案,而且我个人不会建议将文件存储在数据库中,即使在很少的情况下也是如此。

但是,在另一个注意事项上,请考虑直接从web应用程序存储文件系统中的文件并不是一个干净的解决方案。

例如,在某些框架中,如果“在文件系统中创建、修改或删除文件”,请参见JavaEE指南:http://www.oracle.com/technetwork/java/restrictions-142267.html,在本例中,如果您“在文件系统中创建、修改或删除文件”,则会破坏服务器模型。

这是因为直接将文件存储在文件系统中是无法扩展到云的,在云中,服务器可能在几十个硬盘上运行在不同的虚拟机中。

在Java中,建议的解决方案是使用像Apache JackRabbit这样的标准容器。

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

https://softwareengineering.stackexchange.com/questions/225744

复制
相关文章

相似问题

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