
点击蓝字关注我们
如果把传统关系型数据库比做大数据时代的一列火车的话,那么到现在,图数据库可比做高铁,它已成为NoSQL中关注度最高,发展趋势最明显的数据库。
关系数据库是强大的主流数据库,经过几十年的发展和改进,犹如一趟列车,已经运行得非常可靠、强大并且很实用,可以保存大量的数据。如果你想查询关系型数据库里的单一结构或对应数据信息的话,可以很方便的快速查询到相关信息,或者你想查询在相同类型中的总额或平均值,也会很快得到答案。
►►►
那关系型数据库不擅长什么呢
关系型数据库不擅长什么呢?当你寻找数据项、关系模式或多个数据项之间的关系时,它们通常会变的繁琐和复杂。因为关系确实存在于关系型数据库自身的表字段当中,但只是作为连接表的一种手段,随着数据成倍地增加,数据集的宏观结构将愈发复杂和不规整,关系模型将造成大量表连接、稀疏行和非空检查逻辑,关系世界中的连通性增强都转化为JOIN操作的增加,性能会大幅下降,并且使已有的数据库难以响应更复杂变化的业务需求。

►►►
进入高铁时代的当下
随着大数据时代,越来越多的需求是要满足寻找、管理多个数据项之间的关系时,图数据库天生的特点决定了其在关联关系上具有完全的优势,图可以说是顶点和边的集合,或者说更简单一点儿,图就是一些节点和关联这些节点的关系的集合。

图将实体表现为节点,实体与其他实体连接的方式表现为关系。我们可以用这个通用的、富有表现力的结构来建模各种场景,特别是在我们社交网络得到极大发展的互联网时代。例如我们希望知道谁是谁的朋友,也想知道谁是谁的同事,谁是所有人的老板。我们可以通过图数据库在其社交网络中发现交际的元素,用“不喜欢”、“喜欢”等关系来表示。通过我们所构建、掌握的这个图,就可以简单的便捷的看清关系世界,并在处理关联数据时性能得到提升。
图数据库的应用优势
在实际的生产环境下,一个真正成熟、有效的分析环境是应该包括关系型数据库和图数据库的,根据不同的应用场景相互结合起来进行有效分析。
据此,我们可以从以下几个方面理解为什么要用图数据库:
关系型数据库不擅长处理数据之间的关系,而图数据库在处理数据之间关系方面灵活且高性能
我们不可否认关系型数据库自上世纪80年代以来一直都是数据库领域发展的主力,当前随着社交、物联网、金融、电商等领域的快速发展,由此产生的数据呈现指数级的增长,而传统的关系型数据库在处理复杂关系的数据上表现很差,这是因为关系型数据库是通过外键的约束来实现多表之间的关系引用的。查询实体之间的关系需要JOIN操作,而JOIN操作通常非常耗时。

而图数据库的原始设计初衷就是更好地描述实体之间的关系。图数据库与关系型数据库最大的不同就是免索引邻接。图数据模型中的每个节点都会指向与它相邻的节点关系,这就意味着查询时间与图的整体规模无关,只与每个节点的邻点数量有关,这使得图数据库在处理大量复杂关系时也能保持良好的性能。
另外,图的结构决定了其易于扩展的特性。我们不必在模型设计之初就把所有的细节都考虑到,因为在后续增加新的节点、关系、属性甚至新的标签都很容易,也不会破坏已有的查询和应用功能。
数据之间的关系越来越重要
当我们在问图数据库为什么如此重要时,其实就是在问,数据之间的关系为何如此重要?正如大家都知道人际关系的价值,其实数据的价值也在于它们之间的关联关系上。

举个例子。最近直播带货非常火,假如某个主播在微博上有几百万的粉丝,这个数据如果不利用起来,价值并不大,但如果他直播带货,把关注他的粉丝和可能来他直播间购物的顾客联系起来时,这些数据立马展现出巨大的商业价值。
使用图的方式表达现实世界中的很多事物更直接,更直观,也更易于理解
自然界中有各种各样的关系,而关系型数据库只能把这些拍扁成表格形态的行列数据,而图数据基于图模型以一种直观的方式去模拟这些关系,因而更形象。另外,可视化的图展示,使得查询和分析变得很直观。
专业的图计算算法为实际场景提供解决方案
图计算引擎技术使我们可以在大数据集上使用全局图算法,主要用于识别数据中的集群,或是回答类似于“在一个社交网络中,平均每个人有多少联系?”、“两个实体之间有什么关系?”这样的问题。发展至今,已有几十种各式各样的图算法出现,所以借助于专业的图计算算法,能够为业务实际场景提供更为合适的解决方案。

综上所述,虽然关系型数据库对于保存结构化数据来说依然是最佳的选择,但图数据库更适合于管理存在关联关系的数据;如果数据模型中包含大量的关联数据,并且希望使用一种直观、清晰并且快速的数据库进行存储和计算,那么可以考虑尝试图数据库。





