首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL和NoSQL:存储板和图像元

问MySQL和NoSQL:存储板和图像元
EN

Stack Overflow用户
提问于 2016-10-14 10:20:40
回答 2查看 416关注 0票数 0

我正在构建一个类似Pinterest的网站,我需要将相册及其相关照片存储在数据库中,因此每个用户都有Album,其中有 photos ,而每一张照片都有Pins。

由于数据是平坦的,而且我不需要复杂的关系,所以我想将信息存储在NoSQL数据库中,比如MongoDB,所以主文档是一个相册,每个相册都包含一个对象(列表)照片。

但是,我不确定这是一个好的架构,因为我需要通过title/description/user查询非常快的照片,而不管包含它的专辑是什么。我应该用关系数据库代替吗?或者可以在高性能的NoSql数据库中实现?

EN

回答 2

Stack Overflow用户

发布于 2016-10-14 12:35:33

每个NoSQL数据库都解决了一个给定的问题:性能、弹性、可伸缩性.但是它通常要付出代价,这取决于数据库的类型:没有事务或有限的事务,有限的查询能力.如果您选择一个NoSQL数据库,请选择它,因为它解决了一个有效的问题。否则,最好坚持关系,以避免NoSQL数据库的限制

编辑如果性能是您关心的主要问题,请看this question

票数 0
EN

Stack Overflow用户

发布于 2016-10-14 12:56:50

在某些场景中,您应该使用NoSQL,而在某些场景中,您不能使用NoSQL。如果您的应用程序与高级别的事务有关,那么NoSQL不是一个安全的赌注,因为您会错过关系DB提供的事务的保护伞。

尽管如此,特别是MongoDB对于您的用例来说是一个很好的选择,因为MongoDB提供了与其他NoSQL不同的各种各样的查询选项。您所需要做的就是使用一个深思熟虑的(嵌入式)结构,并为您需要查询的字段提供适当的索引。也许您需要事先记住多键索引和复合索引。

MongoDB应该至少在理论上提供无缝可伸缩性。无模式DB为您提供了添加新特性或增强功能的灵活性,而不需要太多麻烦。

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

https://stackoverflow.com/questions/40040792

复制
相关文章

相似问题

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