图和关系数据库横向的时间复杂度是多少?图数据库vs关系数据库时空复杂
回答
O(N)for both?
图形DB在其核心有一个表格(https://stackoverflow.com/a/2968931/623735)。 RDB在处理表格方面已经发展得非常高效。因此,具有持久存储的大多数大型GDB使用RDB来存储节点表。 GDB只是将所有常规数据表行的id堆栈到一个“节点”表(为了有效索引而分组和排序)中。 GDB的神奇之处在于用于行走/探索图形的高效算法。
所以我不认为GDB真的在两个表(遍历)上进行连接,就像RDBMS对同一类数据上的同一种查询所做的那样。一个GDB只是从一个节点(节点表中的行)走到另一个节点(以链表的方式)。一旦找到您查询的节点,就会对节点属性表执行一次“遍历”以检索您查询的信息(名称,排名,序列号;)。
也许你会发现这篇文章“Efficient graph management based on bitmap indices”有帮助。在第4部分称为实验结果中,作者测试了mysql,图数据库DEX和Neo4j以及列存储MonetDB中的相同查询(包括查询1和2中的遍历)。
对于某个遍历操作,DEX(图形数据库)和mysql之间的区别是120秒(DEX)和12小时执行(mysql)次。
您还可以阅读位图存储的有趣方法。
更快,计算机或代数?
关系模型是思考有关数据的方式,一种方式代表数据到用户。它说没有什么关于实现。询问关系数据库的时间复杂度就像询问时间复杂度为f(x)
。
没有SQL DBMS我已经使用元组的线性数组来存储数据。他们都使用某种树:B-树,B +树。一棵树是一张图。 Ergo,物理图形数据库声称的优势是基于,好吧,如果你问我什么都没有。
SQL DBMS在过去几年中增加了对所谓递归查询的支持。这些查询的有效执行没有理论上的问题,我已经看到它完成了。但是查询优化器必须支持它才能正常工作,如果开源项目在这方面有一些工作要做,我不会感到惊讶。
在选择你的武器,不要问关于“关系数据库”,但关于具体的实现递归查询处理的支持,
小心假对称的,虽然。 “图表数据库”中缺少一个相当长的列表。例如,关系模型基于代数,这是SQL基于(大部分,松散地)的内容。图论缺乏这样的代数,因此也是一种很好的操作语言。强制执行和交易也有类似的情况。
图数据库的一个(也许是)关键点是不必为遍历做任何连接。
- 1. Rails复杂的数据库关系
- 2. LDAP VS关系数据库
- 3. MySql |关系数据库vs非关系数据库的性能
- 4. 从数据库中一系列复杂
- 5. 图和关系数据库
- 6. 如何关系数据库管理系统数据库与图形数据库
- 7. 内存数据库vs图数据库
- 8. 关于数据库中的复杂关系
- 9. 关系数据库或NoSQL数据库
- 10. 数据库结构关系数据库
- 11. 对象数据库关系数据库
- 12. 从关系数据库复制数据行,其相关数据
- 13. (memcached +关系数据库)vs nosql
- 14. Firebase vs MySQL数据库(分层/关系)
- 15. 的NoSQL VS关系数据库
- 16. 三重店VS关系数据库
- 17. 数据库关系
- 18. 数据库关系
- 19. 数据库关系
- 20. 关系数据库
- 21. 复杂的MySQL数据库
- 22. 图形数据库(neo4j)vs关系数据库。需要设计帮助
- 23. 在MySQL关系数据库中选择数据时的空集
- 24. 数据库查询时间复杂度
- 25. 数据库中复杂关系的最佳模式
- 26. “复杂”的MySQL的关系数据库查询
- 27. 流利的NHibernate或NHibernate复杂的关系数据库
- 28. 指数数据库关系
- 29. 存在关系的空mysql数据库
- 30. 清空关系数据库模式