Mongodb NOSQL不适合自然连接的数据?

Mongodb NOSQL不适合自然连接的数据?,mongodb,rdbms,database,nosql,Mongodb,Rdbms,Database,Nosql,只是读了一篇主要关于MongoDB的演讲,其中指出NOSQL不适合自然连接的数据?我真的不明白为什么有人能解释一下吗 MongoDB不支持联接。原因是MongoDB是为集群而构建的,这意味着数据分布在多个独立的服务器上。当连接所需的数据分布在网络上的多台机器上时,就很难以高性能的方式实现它。因此MongoDB开发人员决定不使用连接,这样他们就可以优先考虑可伸缩性 因此,通常最好通过将子文档嵌入父文档来建模1:n关系。这对于子文档与父文档不可分离(一张发票包含多个职位)的组合建模非常有效,但对于子

只是读了一篇主要关于MongoDB的演讲,其中指出NOSQL不适合自然连接的数据?我真的不明白为什么有人能解释一下吗

MongoDB不支持联接。原因是MongoDB是为集群而构建的,这意味着数据分布在多个独立的服务器上。当连接所需的数据分布在网络上的多台机器上时,就很难以高性能的方式实现它。因此MongoDB开发人员决定不使用连接,这样他们就可以优先考虑可伸缩性

因此,通常最好通过将子文档嵌入父文档来建模1:n关系。这对于子文档与父文档不可分离(一张发票包含多个职位)的组合建模非常有效,但对于子文档可以切换父文档或甚至独立于父文档存在(一个部门有多个员工)的聚合则不太适用。而且它对n:m关系根本不起作用(一个用户组有多个成员,每个成员可以在多个用户组中)

当您遇到无法合理地进行嵌入的情况时,您需要在应用程序层上模拟连接,这很慢,因为每个查询都需要多次网络往返


然而,NoSQL数据库在处理数据之间的关系方面工作得更好。NoSQL的一个子集是像Neo4j这样的图形数据库。在许多情况下,它们处理实体之间的复杂关系甚至比关系数据库更好。

这取决于讲座讨论的是哪个NoSQL数据库。有些NoSQL数据库不适合映射实体和其他实体之间的关系,甚至比大多数关系数据库(如图形数据库)更好。@Philipp本次讲座主要提到mongodb!为什么它不适合映射关系,我认为NoSQL的想法是让您可以将数据存储在一起,这样当然就不会出现数据自然连接的问题,我太困惑了!哈哈!啊!对,明白了!精彩的解释!非常感谢!:)