mongodb上类似Graphdb的模型方法和缩放


Graphdb like model approach on mongodb and scaling

我正在用php和mongodb做一个项目。在任何社交网络系统中都需要向用户显示提要。

为了实现这一点,我为每个具有唯一id的对象(用户、页面等)保留一个mongo文档,每个文档都被称为一个节点,类似于图数据库中的节点。所有节点都在我的mongodb中的"nodes"集合中。关系与连接流(方向)和引用id(到节点)一起存储在一个名为"rels"的集合中。

在进行查询时,我只需在"rels"集合上进行聚合并加载相应的节点。

我的问题是,当涉及到缩放时,这种模型会产生什么影响?因为在"rels"集合上会有数不清的文档。可能是一万。我对mongo的扩展还很陌生。我的做法错了吗?谢谢

要把钉子钉穿墙壁,不需要大锤。MongoDB不适合这类场景。使用Neo4J这样的图形数据库可以最好地证明您的用例中有节点以及它们之间的关系。缩放方面是选择Neo4J而不是MongoDB的另一个原因,因为随着节点数量的增长,连接/关系可能会随着时间的推移而变得复杂。