Neo4j是一个很好的映射关系数据的工具,但我很好奇在什么条件下它不是一个好用的工具。
哪些用例会使用neo4j是一个坏主意?
答案 0 :(得分:16)
您可能需要查看this slide deck,特别是幻灯片18-22。
你的问题可能有很多细节,但让我试着把重点放在大块上。图表数据库按关系naturally indexed。因此,当您需要遍历大量关系时,图形数据库会很好。图表本身非常灵活,因此当您的数据之间的相互连接需要不时更改,或者有关您的核心对象的数据需要更改时,它们会很好。图形是一种非常自然的方法,可以对一些(但不是全部)数据源进行建模,例如点对点网络,路线图,组织结构等。
图表往往不善于管理庞大的事物清单。例如,如果您打算使用分析构建客户交易数据库(您需要100万客户,5000万笔交易,而您所做的一切都是全天发布交易),那么它可能不太合适。 RDBMS非常出色,请注意该用例如何不会真正利用关系。
请务必阅读我提供的这两个链接,他们会进行更多讨论。
答案 1 :(得分:0)
出于维护原因,任何服务聚合数据源到目前为止都建议保持其源独立。
如果我想探索不同供稿之间的关系,可以在应用程序级别完成,使用其他供稿中的数据跟踪(例如)用户首选项。
图形数据库是关于管理关系复杂性的,但这种复杂性在很多情况下是设计选择。将所有孩子放在一个浴缸里都可以,直到你放下肥皂......