图数据库和关系数据库有哪些区别

云网络9个月前 (08-30)建站教程80

图数据库和关系数据库的区别主要体现在以下4点:1.存储模型不同;2.查询模型不同;3.分析模型不同;4.实时查询性能不同。图数据库是基于图模型的数据库,相比关系型数据库,能够有效解决实时的个性化推荐等应用问题。

1.图数据库和关系数据库的存储模型不同

关系型数据库在表中存储信息(行/列)。每个实体都有一个表(如:账户,人员等),在一个实际的应用中,关系型数据库通常会有几十甚至几百张表。

在图数据库中,所有的信息存储为点和边的集合,而不是存在二维的表格中,这样每个点和边均可存储一系列属性。

2.图数据库和关系数据库的查询模型不同

关系型数据库主要的计算模型是基于扫描行(select),连接行(join),过滤行(filter)等。

而图数据库的计算模型是从一系列的初始点开始,通过多步遍历图形。每一步从当前的节点开始,遵守一定的关联关系(边)到达相邻点。

3.图数据库和关系数据库的分析模型不同

实际上,关系型数据库更适合一两个表的简单数据查找以及描述性统计,而不太适用预测性和探测性的分析。例如:你很难编写SQL来回答一下的问题:“这三个用户如何关联?”,“点A和点B之间最短路线是什么?”

但在图数据库中,上述这些问题都能得到自然、高效的表达和解决。

4.图数据库和关系数据库的实时查询性能不同

由于在关系型数据库中,每个表采用物理分隔的方式存储,因此建立两个表之间的关联慢而且需要中间表过度。大家都知道表和表之间,是不应该存在多对多的关系的。一旦有了多对多的关系,是需要增加中间表来应对的。

而图数据库中,关于点的一切都已经有了关联性,所以查询性能大大提高。


延伸阅读:

何时使用图形数据库?

每个故事总是有两个方面,而图形数据库并不是解决每个问题的完美解决方案。离得很远。在很多用例中,您应该坚持使用关系数据库,或者除了图数据库之外,还应该搜索其他替代方案。

您可以问自己三个简单的问题,以决定使用图形数据库是否有任何好处。

1.我的数据是否高度连接?

图形解决方案专注于高度关联的数据,这些数据具有进行关系分析的内在需求。如果数据中的连接不是主要焦点,并且数据具有事务性,则图形数据库可能不是最合适的。有时,存储数据非常重要,不需要进行复杂的分析。

在我们的示例中,如果只存储没有关系的人,那么最终将得到一个稀疏连接的图。是的,由于节点Person和之间的连接,将保留许多更简单的图Location,但是这种连接程度和数据结构的一致性非常适合关系数据库。

2.检索数据对我来说比存储更重要吗?

图形数据库针对数据检索进行了优化,如果您选择一个数据库,则可能应该经常使用此功能。如果您的重点是写数据库,而不关心分析数据,那么图形数据库将不是一个合适的解决方案。一个好的经验法则是,如果您不想在查询中使用JOIN操作,那么图形就不是必须的。

在我们的示例中,如果仅出于记录交互作用而存储数据,并且不打算在以后进行分析,那么图形数据库并不是特别有用。但是,如果要存储的数据中有许多连接,则可能需要考虑图形。

3.我的数据模型是否经常更改?

如果您的数据模型不一致并且需要频繁更改,那么使用图形数据库可能是可行的方法。因为图形数据库比模式结构更多地涉及数据本身,所以它们提供了一定程度的灵活性。

另一方面,拥有易于理解的预定义和一致的表通常会带来好处。开发人员很自在,并且习惯使用关系数据库,这一事实不能被轻描淡写。

例如,如果您要存储个人信息,例如姓名,出生日期,位置等,而又不希望出现许多新字段或数据类型发生变化,则关系数据库是优选的解决方案。另一方面,在以下情况下,图形数据库可能会很有用:

  • 某些时候可以添加其他属性,

  • 并非所有实体都具有表中的所有属性,并且

  • 没有严格定义属性类型。

在我们的示例中,由于特定的用例,一个人的属性和关系可以一成不变,并且不需要进一步的更改。

何时不使用图形数据库?

1.当查询不包含特定起点时

如果您需要运行频繁的表扫描并搜索适合已定义类别的数据,那么图形数据库将不会很有帮助。当您有一个特定的起点或至少一组起点(带有相同标签的节点)时,图形数据库就可以很好地遍历关系。它们不适合经常遍历整个图形。尽管可以运行此类查询,但其他存储解决方案可能会针对此类批量扫描进行更优化。

如果在我们的示例中,大多数查询都包括整个网络上按属性值进行的搜索,那么图形数据库将不合适。

2.当您需要键/值存储时

很多时候,数据库用于查找 信息存储在键/值对。当您拥有一个已知键并需要检索与其关联的数据时,图形数据库并不是特别有用。

例如,如果数据库的少数目的是存储用户的个人信息并通过名称或ID检索它,则不要使用图表。但是,如果还涉及其他实体(例如访问的位置),并且需要大量连接才能将它们映射到用户,则图形数据库可以带来性能上的好处。一个好的经验法则是,如果大多数查询都通过简单的标识符(键)返回单个节点,则只需跳过图形数据库。

3.当您需要存储大量信息时

如果模型中的实体具有非常大的属性,例如BLOB,CLOB,长文本等,则图数据库不是优异解决方案。尽管您可以将这些对象存储为节点并将它们链接到其他节点,以利用遍历关系的功能,但有时将它们直接与它们所连接的实体一起存储更有意义。

在我们的示例中,如果每个人都有一个很长的传记,需要将其包含在同一数据库中,那么图表将无法解决问题。但是,如果您需要将这些传记与数据库中的其他实体(例如,其中提到的人)联系起来,则图形数据库的优势可能会超出限制。

图形数据库值得吗?

这在很大程度上取决于您的特定用例。在处理互连数据时,图形数据库是一个非常强大的工具。如果您很难决定,那么请遍历上述要求,并检查是否有任何适用于您的方案的要求。

在本文中,您已经了解了关系数据库和图形数据库之间的根本差异。


相关文章

什么是数据可视化

相信现在有很多公司都在使用的一个理念就是数据可视化,通过更高级的技术将数据进行图像处理,甚至是进行建模处理,或者将这些数据加以动画显示,让我们在观看这些数据的时候,更直接的了解到,数据发生了变化以及数...

快递速度天花板 天猫超市半日达再开6城 有你城市么?

快科技9月5日消息,天猫超市联合菜鸟宣布,半日达再开6城,包含南京、武汉,长沙,天津,南昌和金华。目前,全国开城数量达到14城,此前杭州、上海、成都、广州、深圳、佛山、东莞和惠州已经开通。据了解,天猫...

17名医生束手无策3年未诊断 ChatGPT准确诊断孩子的慢性疼痛

17名医生束手无策3年未诊断 ChatGPT准确诊断孩子的慢性疼痛

9月14日 消息:据国外媒体报道,一位母亲在为儿子寻找慢性头痛原因的过程中,历经三年,拜访了17名各个专业领域的医生专家,但都无法给出确诊。直到她将所有症状和检查数据输入ChatGPT这个人工智能系统...

防火墙有哪些技术实现

防火墙有四种技术实现:1.包过滤技术;2.应用代理技术;3.状态检测技术;4.完全内容检测技术。包过滤技术是最基础的防火墙实现技术,它是在网络层对数据包进行选择,选择的依据是系统内设置的过滤逻辑,被称...

摩托罗拉Edge 40 Neo发布:搭载天玑7030芯片

9月14日,摩托罗拉推出了一款名为Edge 40 Neo的新手机。这款智能手机搭载了联发科天玑7030芯片,内存最高可达12GB,存储空间最大为256GB,并预装了Android 13系统、支持Mot...