新闻动态  
为您提供行业内的最新动态
新闻动态
数·读 | 当下大火的图数据库究竟是什么?
发布时间:2020-07-07
  |  
关注:
本文内容来源:
中国信息通信研究院云计算与大数据研究所
 
        当今时代,数据的关联可以产生重要的商业价值。无论我们是想了解在线社交网络中用户之间的关系,或者电子商务中用户和商品之间的关系,还是金融网络中信贷关系,理解和分析大量高度关联数据的能力将成为企业的核心竞争力。图处理技术在这其中扮演着重要的角色。大型互联网公司最早就意识到了这一点,并开始创建自己的专有图处理技术,这些技术被用于社交关系挖掘、网页检索与排序、推荐系统等,并获得了巨大的商业成功。
01
 
 
图数据库概述
        图是基于事物关联关系的模型表达,通过将实体与关系点边化的方式将知识结构化地保存,因此具有天然的可解释性,从而备受学术界和工业界的推崇。图数据是指采用图结构存储的数据。当前,通信、互联网、电子商务、社交网络和物联网等领域中积累了大量的图数据, 其规模巨大并且不断增长:Facebook 的社交网络在 2011 年已超过 8 亿顶点;而腾讯QQ 社交网络目前在 10 亿个顶点的规模;在电信行业中,广州市仅一个月内由电话呼叫方和被呼叫方组成的图就超过千万个顶点、1.5 亿条边;而 ClueWeb数据包含海量的网页,2012 年公布的数据集已经达到 10 亿个顶点、425 亿条边,仅是存储边的列表文件就超过 400GB。
 
        传统的关系型数据库在处理这些关联数据时,大量的连接操作造成性能成指数级下降;而NoSQL 数据库(图数据库以外)采用的数据结构和分布式架构,更适合离散、关联关系弱的数据存储管理。图数据库中丰富的关系表示,完整的事务支持,提供了高效的关联查询和完备的实体信息。因此,有人认为图数据库是一项具有变革意义的技术,不仅仅是因为它提供了功能强大且新颖的数据技术,更是因为它带来了直接的商业利益,让人们有着充分的动机去替换已有的数据平台。
        图数据库以图论为理论基础,使用图模型,将关联数据的实体作为顶点(vertex)存储,关系作为边(edge)存储,解决了数据复杂关联带来的严重随机访问问题。在分类上,图数据库可归类为 NoSQL 数据库。
02
 
 
图模型
         图是一组对象的集合,由顶点和边构成,顶点表示实体或实例, 如人、账号、组织、业务等。它们可以类比于关系型数据库里的记录 (record)或行(row),或文档数据库(document database)里的文档(document)。边是将连接顶点的线,表示顶点之间的关联关系。边是图数据库中的关键概念,在关系型数据库或文档存储数据库中, 没有对边的抽象概念进行直接实现。
 
图模型主要包含属性图、RDF 图两种。
 

属性图模型

        属性图模型由顶点、边及其属性构成。图数据库通常是指基于属性图模型的图数据库。模型由以下 4 个部分组成:
1) 顶点
顶点是事物(Object)的抽象,可以是“人”、“书”等实体,也可以是“端口”、“IP”等抽象;
2) 顶点的属性
顶点的属性是对事物的具体描述,根据顶点代表的类型不同,每个顶点可以有不同的属性,比如以“人”作为顶点, 属性可以是“姓名”“身高”、“生肖”等;
3) 边
边是两个顶点间的关联关系,有向或无向。比如两个顶点是“人”和“职务”,那关系“任职”是连接它们的边;
4) 边的属性
和顶点的属性类似,每条边上也有属性。比如连接顶点“人”和“职务”的“当选”边,属性就是具体的当选时间。
 


l RDF 模型

        RDF(resource description framework)模型原本是描述 Web 资源的标记语言,由W3C 提出。RDF 主要针对文本语义的场景,用三元组(subject-predicate-object)来表达。因此基于 RDF 图模型的图数据库又称三元组数据库。通常意义的 RDF 模型在顶点和边上没有属性, 只有一个唯一的资源描述符,这是与属性图模型最根本的区别。顶点属性可以通过顶点与属性值(literal)之间的边来表示,边的属性则比较复杂,需要将每条边表示为顶点,然后再将属性与之相连。
 
属性图和RDF 图的主要区别
1)RDF 图可以更好地支持多值属性;
2)RDF 图不支持两顶点间多个相同类型的边;
3)RDF 图不支持边属性。
03
 
 

图数据库

        图数据库基于图模型,对图数据进行存储、操作和访问,与关系型数据库中的联机事务处理(Online Transactional Processing,OLTP) 数据库是类似的, 支持事务、可持久化等特性。图数据库根据底层存储实现的不同,可分为原生(Native)和非原生(Non-native) 两种。
 
 
原生图数据库:
        使用图模型进行数据存储,可以针对图数据做优化,从而带来更好的性能,例如Neo4j。
非原生图数据库:
        底层存储使用非图模型进行存储,在存储之上封装图的语义,其优点是易于开发,适合产品众多的大型公司,形成相互配合的产品栈,例如Titan、JanusGraph 底层采用KV 存储非图模型。
 
       图处理技术解决了当今宏观业务的一个大趋势:利用高度连接的数据中复杂、动态的关系来产生洞察力和竞争优势。相比关系数据库,图数据库是表示和查询连接数据的最佳方式。随着近几年的快速发展,通用的图数据库已经逐步成熟,基于图数据库的应用如知识图谱、风险防控、智能物联网在金融、电信、公共安全、医疗等行业快速落地, 并形成了较好的应用效果。
 
以上内容节选自《图数据库白皮书》
 

 

本文由 北京RPA平台_机器人流程自动化(RPA)-数易轩 发表,并经本网编辑。转载此文章须经作者同意,并请附上出处及本页链接。

原文链接/news/industry/tushujuku/2020/0707/194.html