当前位置:  开发笔记 > 编程语言 > 正文

在NoSQL商店中存储图像

如何解决《在NoSQL商店中存储图像》经验,为你挑选了2个好方法。

我们的应用程序将通过HTTP提供大量小的缩略图大小的图像(大小约为6-12KB).我被要求调查是否使用NoSQL数据存储是一种可行的数据存储解决方案.理想情况下,我们希望我们的数据存储是容错和分布式的.

在NoSQL商店中存储blob是一个好主意,哪一个对它有好处?此外,NoSQL是我们问题的一个很好的解决方案,还是我们可以更好地将图像存储在文件系统中并直接从Web服务器提供服务(另外,CDN目前不是我们的选择)?



1> jamieb..:

是否将图像存储在数据库或文件系统中有时是"圣战"类型的辩论之一; 每一方都认为他们的做事方式是正确的.一般来说:

要存储在DB中:

更容易管理一次备份/复制所有内容.

帮助您保持数据的一致性和完整性.您可以将BLOB字段设置为禁止NULL,但是您无法阻止删除外部文件.(虽然这不适用于NoSQL,因为没有传统的约束).

要存储在文件系统上:

文件系统旨在提供文件.让它做它的工作.

数据库通常是应用程序中的瓶颈.无论你有什么负担,它都会越好.

更容易在CDN上服务(您提到的不适用于您的情况).

我倾向于站在文件系统的一边,因为它扩展得更好.但是根据项目的大小,任何一种选择都可能正常.使用NoSQL,差异甚至更不明显.


根据文件系统的不同,它既可以容错又可以分布 - 请参阅MogileFS,Hadoop DFS,GlusterFS等内容.
问题是关于将blob存储在分布式键值存储中.文件系统不是容错的或分布式的,所以没有真正的比较.

2> Jon F Hancoc..:

Mongo DB应该适合你.我还没有用它来制作blob,但这里有一个很好的FLOSS Weekly 播客采访来自Mongo DB团队的Michael Dirolf,他在这里采访了这个用例.

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有