何时不使用neo4j?

何时不使用neo4j?,neo4j,graph-databases,Neo4j,Graph Databases,Neo4j是映射关系数据的一个很好的工具,但我很好奇,在什么情况下它不是一个好工具 在哪些用例中使用neo4j会是一个坏主意?您可能需要查看幻灯片18-22 你的问题可能有很多细节,但让我试着把重点放在重要的方面。图形数据库是由关系组成的。因此,当您需要遍历许多关系时,图形数据库将非常有用。图形本身非常灵活,因此当数据之间的相互连接需要不时更改时,或者当存储的核心对象的数据需要更改时,图形将非常有用。图形是对一些(但不是全部)数据源进行建模的一种非常自然的方法,例如点对点网络、路线图、组织结构等

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


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

您可能需要查看幻灯片18-22

你的问题可能有很多细节,但让我试着把重点放在重要的方面。图形数据库是由关系组成的。因此,当您需要遍历许多关系时,图形数据库将非常有用。图形本身非常灵活,因此当数据之间的相互连接需要不时更改时,或者当存储的核心对象的数据需要更改时,图形将非常有用。图形是对一些(但不是全部)数据源进行建模的一种非常自然的方法,例如点对点网络、路线图、组织结构等

图表往往不擅长管理大量的事物列表。例如,如果你打算建立一个带有分析功能的客户交易数据库(你需要100万客户、5000万交易,而你所做的就是整天发布交易),那么这可能不是一个好的选择。RDBMS在这方面做得很好,请注意,该用例并没有真正利用关系


请务必阅读我提供的这两个链接,它们有更多的讨论。

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

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


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

准备好面对如此高的写负载是一个反用例:请参见FaceBook为什么不使用Neo4jHeh;毫无疑问,FaceBook面临着全球规模的数据管理挑战,而这种规模需要超定制的解决方案。但太多业内人士倾向于认为大人物(FaceBook、亚马逊、谷歌等)是“酷”和“领先者”,而事实上他们的用例并不能真正代表大多数行业和用途。1B读取/秒不是常见的技术要求。