Questions tagged «neo4j»

2
Neo4j与RDBMS执行时间的比较是否正确?
背景:以下是《图形数据库》一书,其中涵盖了《Neo4j in Action》一书中提到的性能测试: 图中的关系自然形成路径。查询或遍历图涉及以下路径。由于数据模型的本质是面向路径的,因此大多数基于路径的图数据库操作与数据的布局方式高度一致,从而使其极为高效。Partner和Vukotic在他们的《行动中的Neo4j》一书中使用关系存储和Neo4j进行了实验。 比较结果表明,图数据库比关联存储要快得多。Partner和Vukotic的实验试图在社交网络中查找朋友的朋友,最大深度为5。给定随机选择的任何两个人,是否存在连接他们的路径(最多五个关系)?对于包含1,000,000人(每个人约有50个朋友)的社交网络,结果强烈表明,图数据库是连接数据的最佳选择,如表2-1所示。 表2-1。在关系数据库中查找扩展的朋友与Neo4j中的有效查找 Depth RDBMS Execution time (s) Neo4j Execution time (s) Records returned 2 0.016 0.01 ~2500 3 30.267 0.168 ~110,000 4 1543.505 1.359 ~600,000 5 Unfinished 2.132 ~800,000 关系数据库和图形数据库在两个方面(朋友的朋友)都表现良好,足以让我们考虑在在线系统中使用它们。虽然Neo4j查询的运行时间是关系查询的三分之二,但最终用户几乎不会注意到两者之间的毫秒差。但是,到了深度三(朋友的朋友)时,很明显关系数据库不再能够在合理的时间范围内处理查询:完成这三十秒将是完全不可接受的用于在线系统。相比之下,Neo4j的响应时间却相对平稳:执行查询只需几分之一秒,对于在线系统而言绝对足够快。 在深度四处,关系数据库表现出严重的延迟,这使其几乎对在线系统毫无用处。Neo4j的时间安排也略有恶化,但此处的延迟处于响应型在线系统可接受的范围之内。最后,在深度五处,关系数据库仅花费很长时间才能完成查询。相反,Neo4j在大约两秒钟内返回结果。在深度5处,它几乎渗入整个网络,这是我们的朋友:对于许多实际的用例,我们可能会调整结果和时间安排。 问题是: 这是一种合理的测试,可以模拟在社交网络中除了可以找到的东西以外的其他东西吗?(例如,实际的社交网络通常具有大约50个朋友的节点;对于社交网络,“ 富人致富 ”模型似乎更自然,尽管可能是错误的。) 不管模拟的自然性如何,是否有任何理由相信结果不正确或无法再现?
10 databases  nosql  neo4j 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.