讲座录播 | 邹磊教授:图数据库的概念和应用

2023年10月16日

由中国计算机学会主办的

“CCF Talk”直播间

进行了题目为

术语解读:“图计算”的内涵与应用

主题直播活动

讲座吸引7708人观看

图片

图作为一种灵活表达复杂关联关系的数据结构,目前已广泛地应用于社会治理、医疗健康、电网分析、计算材料、计算育种、EDA等众多领域。广义的图计算包括图数据的建模、存储、查询、管理,以及基于图数据的表示与应用等。近年来,随着人工智能与大模型等技术的发展,图计算的内涵和应用也在不断拓展。直播活动邀请了图计算领域的资深学者,围绕图计算这一概念的内涵和应用以及技术发展趋势进行探讨和交流。

下面向大家介绍北京大学邹磊教授本次报告:图数据库的概念和应用

报告摘要:近来图数据的研究引起了学术界和工业界的广泛关注,因为图可以更加方便的表达数据之间的复杂关联。图数据库在数据的模式定义、查询引擎的设计与优化方面和传统的关系数据库都有本质的区别。另外作为图数据的一个典型应用,知识图谱的数据管理的需求也对图数据库系统提出挑战性的研究问题。本报告将简要介绍图数据库的基本概念和相关应用。

文末附本次报告视频,直播活动的完整录播请关注中国计算机学会。

图片

报告分为四个部分,首先简单介绍图数据库的概念

图片

数据库系统是一种 DBMS(Data Management System)。数据库从本质上描述了实体、实体属性以及实体与实体之间的关系。而图数据库则不使用关系表来表达实体之间的联系,而是通过图的方式来呈现。在图中,每个节点表示一个实体,边表示实体之间的关联,边上的标签表示关系的性质。此外,实体可以具有特定的属性值。例如,我们可以使用图的方法来表示"James Watt"出生于1736年这一关联。

图片

图数据库最早出现在20世纪60年代,最初由IBM设计的IMS系统用于管理阿波罗计划土星号火箭的物资。IMS系统采用了层次数据模型,实际上是通过树形数据结构来表示数据和数据之间的关系。与此同时,通用电气(GE)在1964年设计和实施了IDS系统,这个系统更接近图数据库,采用了网络模型(Network Model)来表示数据和它们之间的关系。IDS系统是数据系统语言会议(Conference on Data Systems Languages, CODASYL)DBTG标准的基础实现版本。这些数据库系统是当时时代的产物,它们为不同类型的数据管理需求提供了不同的数据模型和方法。

图片

图片

这些早期数据库系统为后来的图数据库奠定了基础。现在,图数据库有两个主要派别,属性图和RDF图。属性图使用属性值来表示图上的点和边,而RDF图则受到了三元组数据模型的启发,使用主谓宾形式来表示实体之间的关系。这两种图数据库都有自己的查询语言, 如面向属性图的Cypher,以及面向RDF图的主流语言是SPARQL。

图片

图片

比较一下图数据库和传统关系数据库之间的不同。在关系数据库中,我们通常使用表来表示实体之间的关系,比如学生和教师之间的关系可以通过连接两个表来实现。而在图数据库中,实体之间的关系通常以图的形式存储,以更自然的方式表示实体和它们的关系。这种物化的方法使得图数据库更适合表达实体之间的复杂关系。

图片

在图数据库的发展过程中,有两个主要的派别,属性图和RDF图。属性图更侧重于表示实体的属性和关系,而RDF图更注重使用主谓宾形式来描述实体之间的关系。这两者都有自己的查询语言,但在某些情况下,它们可以表达相同的语义。

图片

接下来第二部分,将介绍图数据库的架构。

图片

与传统数据库类似,图数据库也包括查询层、存储层和分布式系统。在查询层,有些操作是通用的,无论是在结构化查询还是图挖掘中,都可以使用。这些通用操作使得图数据库更具灵活性。

图片

在查询层,我们认为有一些与传统数据库不同的地方。例如,图数据库中的子图模式查询,这是我们认为与传统数据库有所不同的地方。子图模式查询在图数据库中非常重要。

当我们处理图结构数据时,可能会用子图查询的方式。此外,在做图结构查询时,查询语言是一个基本组成部分。有两种主要的查询语言,一种是面向RDF的SPARQL语言,另一种是面向属性图的Cypher语言。这两种语言在这个例子中表示的语义是相同的。

图片

这是一个关于图数据库基准测试的例子,其中提取了一个查询语句。这个查询语句的意思是找到社交网络中的一条消息,查找它的作者以及对该消息的回复。然后,找到这两个消息的原始作者,还要查看他们之间是否存在好友关系。这种查询可以表达出子图模式,所以我们认为优化子图模式查询是图数据库查询引擎的一个关键因素。

图片

在RDF数据模型中,数据接近主谓宾的结构。虽然可以使用关系数据库存储它,但需要将这种结构转换为SQL语言并在关系表中执行操作。2011年,我们提出了一种匹配方法,使用点和边来表示RDF图中的主谓宾关系,并使用SPARQL语言进行查询,解决了子图匹配问题。

图片

图片

与关系型数据库不同,图数据库需要以一种完全不同的方式表示和处理数据,这包括图数据模型的逻辑和物理优化,这方面与关系型数据库有显著不同。

图片

在图数据库的存储层面,面临一系列挑战。图数据库以其随机访问的特性,需要不同于传统数据库的存储方式。

图片

图数据库的存储层面存在多个问题需要解决,包括如何进行图结构与属性存储以及选择合适的物理存储方式。这些问题需要综合考虑,以满足不同系统的需求。

图片

在图数据库的架构中,分布式优化是一个重要的考虑因素。有三大类分布式存储方法。

第一种是底层采用云平台和分布式文件系统。这种方法将存储与查询层分离,具有很强的通用性和容错性,但查询性能较低,因为数据分布和划分较为不透明和难以控制。

图片

第二种是多单机存储,将计算和存储整合在每台机器上。数据可以分布在多台机器上,查询根据数据划分执行并由控制节点合并。这种系统通常性能较高,但用户门槛较高,因为性能依赖于数据划分。这种架构在数据库领域广泛研究和应用。

图片

第三类分布优化方法借鉴了云数据库的概念,将系统分为计算节点和存储节点,每个计算节点可以访问所有存储节点,实现了横向扩展和负载均衡。然而,这种方法在工程实现上有较大的挑战,因为不同存储节点的网络延迟不同。

图片

下面简单介绍一下图数据库的应用

图片

推荐阅读这篇2017年的VLDB论文,这篇论文通过访谈和合作研究,研究了图数据库的应用领域。研究内容包括各大厂家在图数据库使用方面的特点,以及用户普遍关注的问题。

图片

主要谈一下图数据库在知识图谱中的应用。知识图谱本质上是一个用图的方法来表示实体和实体关系的网络,这一点与我们讨论图数据库建模的方法相同。

图片

研究知识图谱的广泛性可见于各个领域的研究者的参与。每位研究者都从独特的角度探索知识图谱,包括知识工程、自然语言处理、机器学习等。这种多元化的研究方式就像盲人摸象,每个人都在努力理解知识图谱的不同方面。

图片

图片

从数据库的角度来看待知识图谱,RDF采用了主谓宾的数据结构如何使用数据库来存储它。如果使用关系数据库,将数据存储为三元组表,将SPARQL查询转化为SQL来执行,但这种方法可能导致自连接操作性能较低。因此,我们考虑是否可以使用图数据库来存储知识图谱,这就是图数据库的研究人员在知识图谱领域可以发挥重要的作用。

图片

图片

讲者个人对未来研究的展望包括以下几个方面。

首先是动态图流系统。随着工业互联网和5G等技术的发展,图数据变得越来越动态,并且变化速度非常快。这种动态图流在工业互联网和高速网络路由等领域具有广泛的应用前景。

图片

第二个是说现在的图数据库跟图计算系统目前来说是分离的,一份数据在不同系统当中有多份,会造成空间消耗及数据的不一致性,未来可不可以有事务处理和分析的联机系统的一体化的图数据系统。

图片

以上是向大家汇报的关于图数据库的我们的一些认知。谢谢大家。

哔哩哔哩,,,

邹磊教授:图数据库的概念和应用-CCF Talk直播间

【讲座】邹磊教授:图数据库的概念和应用-CCF Talk直播间_哔哩哔哩_bilibili

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/141251.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【MySQL】事务(中)

文章目录 事务异常与产出结论手动提交 和自动提交 对 回滚的区别 事务隔离性理论如何理解隔离性?MySQL的隔离级别事务隔离级别的查看设置隔离级别 事务异常与产出结论 在没有启动事务之前,account表中存在孙权和刘备的数据 在启动事务后, 向 …

【LIUNX】配置缓存DNS服务

配置缓存DNS服务 A.安装bind bind-utils1.尝试修改named.conf配置文件2.测试nslookup B.修改named.conf配置文件1.配置文件2.再次测试 缓存DNS服务器:只提供域名解析结果的缓存功能,目的在于提高数据查询速度和效率,但是没有自己控制的区域地…

洛谷P1923 【深基9.例4】求第 k 小的数(java)

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.StreamTokenizer; import java.util.Arrays; import java.util.Scanner; //输入n个数字ai,输出这些数字的第k小的数。最小的数是第0小。 public cla…

高级数据分析方法与模型

前言 数据思维练习不仅要熟练地掌握了分析工具,还要掌握大量的数据分析方法和模型。 这样得出的结论不仅具备条理性和逻辑性,而且还更具备结构化和体系化,并保证分析结果的有效性和准确性。今天从以下6个维度36种分析模型和方法逐个简略介绍…

工作记录--(用HTTPS,为啥能被查出浏览记录?如何解决?)---每天学习多一点

由于网络通信有很多层,即使加密通信,仍有很多途径暴露你的访问地址,比如: DNS查询:通常DNS查询是不会加密的,所以,能看到你DNS查询的观察者(比如运营商)是可以推断出访问…

【蓝桥杯选拔赛真题67】Scratch鹦鹉学舌 少儿编程scratch图形化编程 蓝桥杯选拔赛真题解析

目录 scratch鹦鹉学舌 一、题目要求 编程实现 二、案例分析 1、角色分析

(三)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB

一、七种算法(DBO、LO、SWO、COA、LSO、KOA、GRO)简介 1、蜣螂优化算法DBO 蜣螂优化算法(Dung beetle optimizer,DBO)由Jiankai Xue和Bo Shen于2022年提出,该算法主要受蜣螂的滚球、跳舞、觅食、偷窃和繁…

4.CentOS7安装MySQL5.7

CentOS7安装MySQL5.7 2023-11-13 小柴你能看到嘛 哔哩哔哩视频地址 https://www.bilibili.com/video/BV1jz4y1A7LS/?vd_source9ba3044ce322000939a31117d762b441 一.解压 tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz1.在/usr/local解压 tar -xvf mysql-5.7.44-…

高速高精运动控制,富唯智能AI边缘控制器助力自动化行业变革

随着工业大数据时代的到来,传统控制与决策方式无法满足现代数字化工厂对工业大数据分析与决策的需求,AI边缘控制器赋能现代化智慧工厂,实现工业智造与行业变革。 富唯智能AI边缘控制器,基于x86架构的IPC形态产品,通过…

用Powershell实现:删除所有不是与.json文件重名的.jpg文件

# 指定要搜索的目录路径 $directoryPath "C:\path\to\your\directory"# 获取该目录下的所有.jpg和.json文件 $jpgFiles Get-ChildItem -Path $directoryPath -Filter *.jpg $jsonFiles Get-ChildItem -Path $directoryPath -Filter *.json | Select-Object -Expan…

对于联邦政府来说,零信任只是一个开始

今年早些时候,美国空军国民警卫队的一名拥有绝密安全许可的成员向社交媒体平台 Discord 泄露了国家安全文件。 据报道,这些文件迅速传播到其他平台,其中包含有关美国和北约在俄罗斯军事行动的敏感信息,包括有关预期武器交付的详细…

2023年汽车驾驶员(高级)证考试题库及汽车驾驶员(高级)试题解析

题库来源:安全生产模拟考试一点通公众号小程序 2023年汽车驾驶员(高级)证考试题库及汽车驾驶员(高级)试题解析是安全生产模拟考试一点通结合(安监局)特种作业人员操作证考试大纲和(…

软件测试开发环境、测试环境、准生产环境、生成环境

在一个项目开发到发布的整个过程中,会使用到很多个环境进行测试和运行项目。最基本的开发环境、测试环境、准生产环境、生成环境 一、开发环境 开发环境顾名思义就是我们程序猿自己把项目放到自己的电脑上,配置好以后,跑起来项目&#xff0…

SpringCloud微服务:服务拆分

不同的数据库之间,如何共同调用?接下来讲讲两个数据库之间如何交互 1、微服务需要根据业务模块拆分,做到单一职责,不要重复开发相同业务 2、微服务可以将业务暴露为接口,供其它微服务使用 3、不同微服务都应该有自己独立的数据库…

(四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB

一、七种算法(DBO、LO、SWO、COA、LSO、KOA、GRO)简介 1、蜣螂优化算法DBO 蜣螂优化算法(Dung beetle optimizer,DBO)由Jiankai Xue和Bo Shen于2022年提出,该算法主要受蜣螂的滚球、跳舞、觅食、偷窃和繁殖…

【赠书第4期】机器学习与人工智能实战:基于业务场景的工程应用

文章目录 前言 1 机器学习基础知识 2 人工智能基础知识 3 机器学习和人工智能的实战案例 4 总结 5 推荐图书 6 粉丝福利 前言 机器学习与人工智能是当前最热门的领域之一,也是未来发展的方向。随着科技的不断进步,越来越多的企业开始关注和投入机…

哈希的介绍及开散列和闭散列的实现(c++)

本文主要对哈希的相关知识进行一定的介绍,并对哈希中结构的闭散列和开散列进行一定的介绍和部分功能的实现。 目录 一、哈希概念 二、哈希冲突 三、哈希函数 1. 直接定址法--(常用) 2. 除留余数法--(常用) 3. 平方取中法 4. 折叠法 5. 随机数法 6. 数学分析…

使用python批量修改图片名称

一、使用场景 修改模式:原图片名称.png 》 目标图片名称.png条件:目标图片名称 包含 原图片名称准备工作:目标图片名称填写在excel当中,把excel放进图片文件夹内 二、代码示例 import os import pandas as pd import numpy as …

C++ 11 新特性

目录 1. 支持特性的编译器版本2. 模板表达式中空格3. 空指针4. auto5. 统一初始化6. explict7. 范围for8. default,delete9. 化名模板(alias template)10. using11. noexcept12. override13. final14. decltype15. lambda16. Variadic Templa…

3个ui自动化测试痛点

当我们找工作的时候查看招聘信息发现都需要有自动化测试经验,由此看来测试人员不会一点自动化测试技术都不好意思说自己是做软件测试的。大部分测试人员也都是从使用自动化测试工具、录制回放、测试脚本、开发小工具入门自动化测试的,然后在慢慢的接触 U…
最新文章