图表数据库是否弃用关系数据库?

Dav*_*vid 13 database graph non-relational-database relational-database nosql

我是任何类型的DB的新手.看起来你可以用图表形式表示任何关系数据库(虽然它可能是一个非常扁平的图形),以及关系数据库中的任何图形数据库(有足够的表).

通过从一个条目到另一个条目的硬链接,图形可以避免在其他表中进行大量查找,因此在很多/大多数情况下,我可以看到图形的速度优势.如果您的数据是自然分层的,特别是如果它形成一棵树,我会看到关系图上的逻辑/推理优势.我想象一个链接到其他节点的图形节点可能包含多个地图或列表......它实际上包含图形节点内的关系数据库.

图表db与关系数据库有什么不利之处吗?(注意:我不是在寻找实现中缺少功能的东西,而是理论上的优点/缺点)

我什么时候还应该使用关系数据库?即使我逻辑上有一个int到int的单一映射,我也可以在图中完成.

Erw*_*out 19

大约20到30年前,关系数据技术不推荐使用图形数据库.

主要的理论缺点是图形数据库使用两个基本概念来表示信息(节点和边缘),而关系数据库只使用一个(关系).这会渗透到数据操作的语言中,因为基于图形的语言必须提供两组不同的运算符:一组用于在节点上操作,另一组用于在边缘上操作.关系模型只需要一个即可.

更多的运算符意味着为DBMS构建器实现更多的运算符,更多的机会出现错误,对于用户来说,这意味着需要学习更多不同的语言结构.例如,向数据库添加信息只是关系中的INSERT,在基于图形的情况下,它可以是STORE(节点)或CONNECT(边缘).删除信息只是DELETE(关系),而不是ERASE(节点)或DISCONNECT(边缘).

  • 我曾经看过Neo4J的命令语言/语法,这是"流行的现代图形DBMS"之一.想象一下,我的惊讶,当我发现的"新颖性"推出了相应语言的关键字,是大部分**字面上相同**那些,我用在80年代初期,写对一个IDMS数据库COBOL程序时. (7认同)
  • (有一句谚语在RelationLand中相当受欢迎,并且这样:"那些不了解历史的人,注定要重复它") (7认同)
  • @dave,IT行业是由时尚推动的.NOSQL产品解决了当今市场上占主导地位的SQL软件堆栈的某些缺陷.这些缺陷与关系模型无关,但NOSQL市场尚不成熟,其根源主要集中在市场破产公司,开源和年轻创业公司.这些图表/ doc /其他产品的研发成本和上市时间可能比同类关系产品的研发成本和上市时间短.SQL是MS/Oracle/IBM的霸主,通过提供"不同"的东西更容易打破这种模式. (5认同)
  • 嗯,但是似乎出现了许多新的图形数据库和其他非关系数据库,对于第一次才看的人来说,这是最热门的最新创新...整个noSQL内容...那如何与这个答案相吻合? (2认同)

nvo*_*gel 14

在Erwin Smout的精确答案的基础上,关系模型取代图表的一个重要原因是图形在其结构中具有比关系更大程度的"偏差".图形的边缘是导航链接,期望用户查询以特定方式遍历.相同数据的关系模型假设数据的使用方式要少得多.用户可以以数据库设计者可能没有预见到的方式自由加入和操作关系数据.重新设计图形数据库结构以支持新要求的破坏性成本是推动在20世纪80年代采用关系模型及其基于SQL的分支的一个因素.


mak*_*psa 5

关系数据库的设计目的是聚集数据,图形来查找关系。例如,如果您拥有一个金融域,则所有连接都是已知的;您仅按其他数据汇总数据即可找到总和,依此类推。

图数据库在更混乱的域中更好,在该领域中,连接更为重要,并且并非所有连接都是显而易见的,例如:

  • 人与人之间有着不同关系的人际网络
  • 电影和创造它们的人。不只是演员,还有整个剧组。
  • 自然语言处理并发现已识别单词之间的联系