什么时候不使用 neo4j?

When to not use neo4j?

Neo4j 是映射关系数据的好工具,但我很好奇在什么条件下它不是一个好工具。

在哪些用例中使用 neo4j 是个坏主意?

您可能想查看 this slide deck,尤其是幻灯片 18-22。

您的问题可能包含很多细节,但让我试着集中讨论大问题。图形数据库是 naturally indexed 的关系。所以当你需要遍历很多关系时,图数据库会很好。图本身非常灵活,因此当您的数据之间的相互连接需要不时更改时,或者当您需要存储的核心对象的重要数据需要更改时,它们会很好。图是对某些(但不是全部)数据源建模的一种非常自然的方法,例如点对点网络、路线图、组织结构等。

图表往往不擅长管理大量事物。例如,如果您打算构建一个具有分析功能的客户交易数据库(您需要 100 万客户,5000 万笔交易,而您整天所做的只是 post 笔交易),那么它可能不太合适。 RDBMS 擅长于此,请注意该用例并没有真正利用关系。

一定要阅读我提供的那两个链接,他们有更多的讨论。

出于维护原因,到目前为止,任何聚合数据源的服务都被建议保持其来源独立。

如果我想探索不同提要之间的关系,这可以在应用程序级别完成,在其他提要中使用数据跟踪(例如)用户偏好。

图形数据库是关于管理关系的复杂性,但这种复杂性在很多情况下是一种设计选择。把你所有的孩子都放在一个浴缸里很好,直到你把肥皂掉了..