有一些hype around graph databases。我想知道为什么。
在今天可以使用图形数据库解决的Web环境中,可以遇到的问题是什么?图形数据库是否适用于经典应用程序,即可以用作关系数据库的替代品吗?所以实际上这是两个问题。
相关: Has anyone used Graph-based Databases (http://neo4j.org/)?
答案 0 :(得分:21)
图形的许多关系表示对于您可能想要执行的所有操作并不是特别有效。
例如,如果想要从边缘满足给定谓词的所有节点的连接集,从给定节点开始,在SQL中没有自然的方式来表达它。你可能要么使用谓词查询边缘,然后必须在本地排除断开的边缘,或者在迭代查询中跟随一组链接到数据库服务器之后与数据库服务器进行非常详细的对话。
图形不是关系数据库的一般替代品。 RDB主要处理集合(表格),而图形主要是有趣的,因为互连的“形状”。对于关系数据库,您可以跟随集合之间预定深度(固定数量的连接)的链接,逐步过滤和分组结果,而图形通常导航到任意和递归定义的深度(即不是预定数量的“连接”) 。你可以滥用任何一种来匹配另一种的特征,但它们会有不同的优势。
答案 1 :(得分:4)
在我看来,社交网站可能会从图形数据库中受益,因为图形是一种在用户之间存储连接的自然方式。