有一些hype around graph databases 。我想知道为什么。
在当今的网络环境中,人们可能会遇到哪些可以使用图数据库解决的问题?图形数据库是否适合经典应用程序,即可以用作关系数据库的直接替代品吗?所以实际上这是两个问题合二为一的问题。
相关: Has anyone used Graph-based Databases (http://neo4j.org/)?
最佳答案
图表的许多关系表示对于您可能想要执行的所有操作来说并不是特别有效。
例如,如果想要从给定节点开始获得边满足给定谓词的所有节点的连接集,则 SQL 中没有自然的方式来表达这一点。您可能会使用谓词对边进行查询,然后必须在本地排除断开连接的边,或者在迭代查询中遵循一组到下一组的链接与数据库服务器进行非常详细的对话。
图并不是关系数据库的一般替代品。 RDB 主要处理集合(表),而图形主要由于互连的“形状”而有趣。使用关系数据库,您可以跟踪集合之间预定深度(固定数量的连接)的链接,结果会逐步过滤和分组,而图形通常导航到任意且递归定义的深度(即不是预定数量的“连接”) 。您可以滥用其中一个来匹配另一个的特征,但它们会有不同的优势。
关于neo4j - 围绕图数据库的炒作......为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1159190/