何时使用图数据库(如Neo4j)不是一个好的选择?

7

网络上有很多文章支持转向像Neo4j这样的图形数据库的趋势...但我找不到反对它们的文章。

在什么情况下,图形数据库不是最佳解决方案?

任何比较图形数据库、NoSQL和关系型数据库的文章链接都将非常有用。


这是一个基于观点的问题,可能会被标记。但简短的答案是当你的数据集不是图形时。如果它与列有关,则关系型数据库管理系统是更好的选择。或者当你有文档时,文档存储库更好。这完全取决于你正在处理的数据。永远没有一种适合所有情况的解决方案。 - Sam
3个回答

8

目前,我不会在高并发写入情况下使用Neo4j。写入仍限制于单台机器,因此您只能使用一台机器的吞吐量,直到他们想出某种切分的方法(顺便说一下,这正在进行中)。在高并发写入情况下,您可能会考虑其他存储(如Cassandra或MongoDB),并牺牲图形数据库提供的其他好处。

还有一件事是我目前不会使用Neo4j进行全文搜索,尽管它确实具有某些内置功能(因为它在后台使用Lucene进行索引),但其范围有限且难以从最新的Cypher使用。我了解到这将在接下来的几个版本中快速改善,期待着那一天的到来。像ElasticSearch或Solr这样的工具会更好地处理与全文搜索相关的事情。

与流行观点相反,除非您确实拥有非常非规范化的数据(例如日志记录),否则标签数据通常非常适合于图形数据。

好消息是,您可以同时利用许多这些东西,选择最佳工具来回答您的问题,并实现多语言持久性解决方案。


4

另外,我不会使用neo4j来提供和存储二进制数据。对于图像、视频和大型文本文档,有更好的选择 - 可以将它们作为Neo4j的索引,或者只是引用它们。


2
当以下情况时,图形数据库可能不是最佳解决方案:
  1. 当您在保守的公司工作时。
  2. 在此处插入一些经过深思熟虑的技术原因。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接