图数据库
发布时间:2024-04-01 浏览数:487

组成

图数据库是基于图论为数据基础的数据管理系统。它的组成包含点、边。数据通过点和边的形式进行表示,把数据转化成点,数据间的关系转化成边。图的存储方式可以整合多源异构数据 [4]
点:代表实体或实例,例如人员、企业、帐户或要跟踪的任何其他项目。它们大致相当于关系数据库中的记录、关系或行,或者文档存储数据库中的文档。
边:也称作关系,将节点连接到其他节点的线;代表节点之间的关系。在探索节点、属性和边的连接和互连时,往往会得到意想不到的价值洞见。边可以是有向的,也可以是无向的。在无向图中,连接两个节点的边具有单一含义。在有向图中,连接两个不同节点的边,根据它们的方向具有不同的含义。边是图数据库中的关键概念,图数据库独有的数据抽象概念,而关系型数据库和文件型数据库并没有“边”这一概念,它们的关系查询必须在运行时进行具体化。


图模型

图模型主要包含属性图、RDF图两种。
属性图
属性图模型由顶点、边及其属性构成。顶点和边都可以带有属性,节点可以通过“标签(Label)”进行分组。表示关系的边总是从一个开始点指向一个结束点,而且边是一定是有方向的,这使得图成为了有向图。关系上的属性可以为节点的关系提供额外的元数据和语义 。
Resource Description Framework(RDF)
RDF模型在顶点和边上没有属性,只有一个资源描述符,这是RDF与属性图模型间最根本的区别。在RDF中每增加一条信息都要用一个单独的节点表示。比如,在图中给表示人的节点添加姓名。在属性图中只需要在节点添加属性即可,而在RDF中必须添加一个名字的单独加节点,并用hasName与原始节点相连。

特性

图数据库特点

更直观的模型
数据模型直接还原业务场景,相比传统数据模型更直观,提升产品与工程师的沟通效率
更简洁的查询语言
数据库支持查询语言在关联查询中更简洁,以最通用的Cypher图查询语言为例,复杂关联查询时代码量比SQL大幅降低,能够帮助程序员提升开发效率。
更高效的关联查询性能
图数据库在处理关联性强的数据以及天然的图问题场景时具有强大的关联查询性能优势。因为传统关系型数据库在进行关联查询时需要做昂贵的表连接(JOIN),涉及到大量的IO操作及内存消耗。而图数据库对关联查询有针对性的优化,能防止局部数据的查询引发全部数据的读取,可以高效查询关联数据。

存储

不同图数据库的底层存储机制可能存在很大不同。根据存储和处理模型的不同,图数据库之间也会做一些区分。比如,一些图数据库使用原生图存储,这类存储是经过优化的,专门为了存储和管理图数据而设计的。这类数据库一般称为原生图数据库,例如如GalaxybaseNeo4j,tigergraph。 有些图数据库依赖关系引擎将图数据存储在关系型数据库的表中,通过在数据实际所在的底层存储系统之上增加一个具备图语义的抽象层来进行数据交互。也有使用键值型存储方式或文档型存储方式作为底层存储的图数据库。这些类型图数据库统称为非原生图数据库,比如ArrangoDB, OrientDB, JanusGraph等。原生图存储相比非原生更具有性能优势。 原生图数据库底层存储不依赖第三方存储系统,计算和存储一体化,极大的简化了系统架构。开发人员和运维人员可以更关注业务水平的提升,避免花费大量时间在底层存储的管理和运维。同时,原生图数据库不需要和第三方技术黑盒进行沟通,少了这部分的通讯开销,系统的性能也更高

免索引邻接

免索引邻接是一种原生图数据库的存储方式。数据查找性能取决于从一个特定节点到另一个节点的访问速度。由于免邻索引的存储方式,节点具有直接的物理 RAM 地址并在物理上指向其他相邻节点,因此可以实现快速检索。具有免索引邻接的原生图存储系统不必通过任何其他类型的数据结构来查找节点之间的链接。一旦检索到其中一个节点,图中与其直接相关的节点就会存储在缓存中,这使得数据查找甚至比用户第一次获取节点时更快。然而,这种优势是有代价的。免邻索引牺牲了不使用图遍历的查询的效率。原生图数据库使用免邻索引来处理对存储数据的 CRUD 操作。

与关系型数据库的对比

在关系型数据库设计的时候需要进行严格的数据规范化,将数据分成不同的表并删除其中的重复数据,这种规范化保证了数据的强一致性并支持ACID事务。然而,这也对关系查询带来的限制。
快速的实现逐行访问是关系型数据库的设计原理之一,当数据的数据之间形成复杂的关联时,跨表的关联查询增加,就会出现问题。虽然可以通过将存在不同表中的不同属性进行关联从而实行复杂查询,但是开销是非常大的。
与关系型数据库相比,图数据库把关系也映射到数据结构中,对于关联度高的数据集查询更快,尤其适合那些面向对象的应用程序。同时图数据库可以更自然的扩展到大数据应用场景,因为图数据库Schema更加灵活,所以更加适合管理临时或不断变化的数据。
关系型数据库对大量的数据元素进行相同的操作时通常更快,因为这是在其自然的数据结构中操作数据。图数据库在很多方面比关系型数据库更具有优势,而且变得越来越流行,但是图数据库和关系型数据库并非是简单的替代关系,在具体应用场景中图数据库可以带来性能的提升和降低延迟才是适合的应用场景。


应用

    在许多情报和执法程序中,重要的是要寻找一个模式的事件。这些事件中的任何一个都可能看起来是无害的,但他们观点以及他们是怎样直接或间接相关的,概念是不一样的。再例如社会网络分析(SNA)对许多供应商的消费品非常感兴趣,他是构建人与人之间的关系图。Facebook是一个社交网络,它可以与家人和朋友之间保持联系。图形数据库能很好地显示出这个人在他/她的朋友圈中是否有影响力,这群朋友是否有着共同的兴趣爱好。


    截至2013年6月底,我国网民规模达5.91亿人,随着越来越多用户的加入,数据量呈指数增长,对社交网络的分析将面临很大的困难。Aggarwal等在文献中介绍了一些社交网络分析应用场景,以及在中心地位分析、角色分析、网络建模等方面研究中存在的问题。针对在社交网络分析面临数据增量较大和图形数据库更适于存储和处理社交网络关系的特点,R.Soussi等提出了一种从关系数据库数据转换成图形数据库数据的机制,并从图形数据库中抽取社交网络关系的方法。S.Kadge等提出了基于图预测社交网站,预测是基于有向加权的社交图,方法是构建用户行为的社交网络图,用图挖掘技术预测未来的社交行为,并与Apriori和F-Tree两种算法的预测效率进行了对比。J.Cao等分析和模拟企业社交网络中的用户交互行为,形成企业用户的组织图和社交图,用两类图构建用户交互模型,用于预测企业用户之间的交互行为。李孝伟等提出了一种融合节点与链接属性的社交网络社区划分算法,该算法融合节点属性的相似度、节点间链接权值等链接属性信息,结合聚类算法实现了对社交网络的社区划分。


热点新闻