我们的应用程序将通过 HTTP 提供大量缩略图大小的小图像(大小约为 6-12KB)。我被要求调查使用 NoSQL 数据存储是否是一个可行的数据存储解决方案。理想情况下,我们希望我们的数据存储是容错且分布式的。
在 NoSQL 存储中存储 blob 是一个好主意吗?哪一个最适合它?另外,NoSQL 是否是解决我们问题的一个很好的解决方案,或者我们是否可以更好地将图像存储在文件系统中并直接从 Web 服务器提供它们(顺便说一句,CDN 目前不是我们的选择)?
是否将图像存储在数据库或文件系统中有时是“圣战”类型的争论之一;双方都认为自己的做事方式是正确的。一般来说:
存储在数据库中:
- 更轻松地在一个地方一次性管理备份/复制所有内容。
- 帮助您保持数据的一致性和完整性。您可以将 BLOB 字段设置为不允许 NULL,但您无法阻止外部文件被删除。 (尽管这不适用于 NoSQL,因为没有传统的约束)。
存储在文件系统上:
- 文件系统旨在为文件提供服务。让它完成它的工作。
- 数据库通常是应用程序中的瓶颈。无论你能卸下什么负载,就越好。
- 在 CDN 上提供服务更容易(您提到的内容不适用于您的情况)。
我倾向于支持文件系统,因为它的扩展性更好。但根据项目的规模,任何一种选择都可能效果很好。对于 NoSQL,差异就更不明显了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)