图形数据库解决了什么在关系数据库中很难?

时间:2012-11-20 21:24:51

标签: nosql relational-database graph-databases

我有一位客户了解他的数据模型是有向无环图。我们一直在处理节点集合和边缘中间表,性能非常好。我们当前实现中的数据节点少于100,000个,尽管可能会增长一到两个数量级。他最近确信,由于我们有图表,图形数据库(如Neo4J或Titan)会“更好”。

面向图形的数据库实际上解决了哪些问题无法通过SQL解决,或者需要从SQL客户端获得更多繁重的工作?从我所看到的,路径发现似乎,但这不是整个故事。

3 个答案:

答案 0 :(得分:1)

在关系数据库中,节点和边缘将通过它们共有的某个值相关联。搜索节点或边缘通常会涉及查询此值的索引。

在图形数据库中,节点和边缘直接与关系数据库用于维护索引内部结构的相同类型的内部数据库结构相关联。因此,无论节点的数量如何,从边缘到节点或节点的边缘更像是在关系索引中深入一级;如果在关系数据库中有数百万个节点,那么索引就会有几个级别。

答案 1 :(得分:0)

实际上它是真的,就像mongo有" geo spacial"内置的数据库功能,所以它不需要处理就像你想用mysql做的那样。你提到的两个数据库(香港专业教育学院与泰坦合作)只是更好的图形化,它不会对你的php或db语句如此苛刻。

答案 2 :(得分:0)

简而言之,如果没有破坏,请不要修理它。如果您或您的客户无法明确这一优势,那么只需根据图表数据库的这种不明显的好处来衡量迁移成本。

没有上述图形数据库的经验,我只能假设您可以从这样的数据库中获得的是更快的开发,因为您的数据库将更适合您拥有的数据类型。我一直在使用MongoDB,对我而言,由于查询/写入数据库的简单性,以及更丰富的文档结构,而不必定义任何模式,因此对我而言,它的发展速度一直很快。您还可以获得一些令人惊叹的功能,如超级简单复制,自动故障转移,自动分片等,但在您的情况下只有10万个文档,您很快就不会考虑这类问题。所有主流关系数据库都可以在小型服务器上运行,并且能够很好地处理大量文档。