暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

图数据库和关系型数据库的区别在哪里?为什么要选择图数据库?

华鹏图数据库 2021-09-08
647
我们如今的时代正在见证互联数据的洪流数据的互联能带来变革性的业务价值
就像拼多多的商品为啥总是便宜?因为通过相关的数据互联分析,拼多多能够在某一个商品上,通过大量的数据分析,可以充分确定这个产品在未来若干时间的销售量以及用户能接受的价格预测。这样就可以拿着需求去寻找制造商。
这样的数据互联对多方都是有利的。
我们的通信,电子交易,智能设备和监控设备每秒都会产生海量的互联数据。而如何从这些海量数据中发掘潜在的业务价值,这才是未来若干年行业,企业发展的核心中的核心。
因此,对图数据管理的需求已经露出了冰山一角。
关系型模型(RDBMS)首次在数据库历史上的失效,就是因为在关系型数据库中要追踪一连串的关联关系,基本是不可能实现的。
关系型数据库中,每次join,union连接两个表,需要付出巨大的计算代价,从性能上,业务能力上已经很难适应现在企业和社会的需要。
因此,企业到底是选用图数据库还是关系型数据库,要从业务的本身去考虑。
我们的业务为什么要选择图数据库,而不选择RDBMS,键值,文档存储和其他类型的数据库?
这主要是我们希望以满意的性能解决复杂的问题。非图数据库无一例外,有着如下的短板:
  • 极难表达现实业务问题,例如:账户或人等实体如何以各种方式关联起来?关系型数据库要建立关联,必须建立广泛的中间表,这必然会导致查询性能和存储的问题。
  • 当访问数千万到数亿实体及其关系时,实时查询的性能低下。关系型数据库一般的做法是夜间开始跑数据,跑上几个小时,才能最终形成想要的数据。
因此,对于实时的个性化推荐等应用,也只有图数据库才能解决这个问题。

我们可以从4个角度来比较一下图数据库和关系型数据库到底有什么区别。

1.存储模型不同

关系型数据库在表中存储信息(行/列)。每个实体都有一个表(如:账户,人员等),在一个实际的应用中,关系型数据库通常会有几十甚至几百张表。
在图数据库中,所有的信息存储为点和边的集合,而不是存在二维的表格中。这样每个点和边均可存储一系列属性,见下图:

2.查询模型不同

关系型数据库主要的计算模型是基于扫描行(select),连接行(join),过滤行(filter)等。
而图数据库的计算模型是从一系列的初始点开始,通过多步遍历图形。每一步从当前的节点开始,遵守一定的关联关系(边)到达相邻点。

3.分析模型不同

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

4.实时查询性能不同

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

文章转载自华鹏图数据库,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论