【干货】华为云图数据库GES技术演进
本文分享自华为云社区《【干货】华为云图数据库GES技术演进》,作者: Chenyi。
1 背景
大规模图数据无处不在,图查询、分析和表示学习已成为大数据和AI的核心部分之一。特别是知识图谱和图神经网络的发展,Graph已成为未来AI的基础。
各式各样的图数据

面向未来,图数据库在数据规模、多维关系、时空动态性、异构计算体现上面临着新挑战:
1、图数据规模不断增长,万亿边超大规模图普遍存在,对产品性能和可扩展性提出新的需求。
2、时空图、异质和多关系图在政务、安平、金融、知识图谱等领域越来越普遍,对产品的图数据模型和存储带来新的需求。
3、图神经网络等图表示学习的兴起,需要新的计算框架支持,为传统深度学习框架和图计算框架的融合带来新的机会。
4、GPU、FPGA和图加速器异构计算系统为图引擎带来新的需求和机会。

Graph是大数据分析平台的重要组成部分,在传统批流分析之外提供更多的高级分析能力;主要分为图数据库和图计算引擎两大能力:
- 图数据库,具备图存储和计算能力,支持事务、数据更新、查询语言,偏TP类场景,用于实时要求高、逻辑相对简单的场景。例如:寻找两商户间最短路径;查找疑似洗钱卡的转账路径。
- 图计算引擎,侧重复杂查询和全局计算,使用图分析算法,偏AP类场景,用于实时要求不高、数据量大的场景。例:生成持卡人关系网络,根据套现模型批量输出套现卡。
概况说来,Graph的核心能力是:“深度关系挖掘”、“关系高效查询”、“高效社团分析”、“路径直观显示”。

一个用Graph来分析【疫情传播】的例子
1.1 趋势1:面对海量多样化数据,数据分析变得更复杂,图相关技术迅速普及
Gartner曾在多次分析师报告中提及图技术的重要性:
- Gartner把Graph以及相关的技术列为2021数据以及分析技术相关10大趋势之中。
- Gartner预测到2025年, 图相关技术使用率会从10%(2021)增长到80%。
- “到2023年,图计算将促进全球30%企业的快速决策场景化。需要图还是不需要?这已不再是个问题,一定是需要。”

1.2 趋势2: 各家查询语言不一,有碍图数据库普及,GQL有望成为统一语言
历史上,图数据库并没有标准的查询语言,只有Cypher和Gremlin这种事实标准(即使用的比较广泛产品的查询语言),且新产品也不断衍生各自的查询语言,语法的不统一令使用门槛增高,对本领域的普及造成了不利影响。
GQL由WG3主导(WG3 从1987年起负责SQL标准的制定)。GQL 将建立在 openCypher Morpheus 的基础上(它将 Cypher 引入到 Apache Spark),并结合来自 LDBC 的 G-CORE 的灵感,为用户提供了一种组合图查询语言,支持所有那些功能,这将使 GQL 在概念上等同于 SQL。

2 技术洞察
2.1 图数据库主流系统技术分析

上表列举了主流图数据库系统的分析情况,我们的观点是:
- 图数据库相比于关系型数据库发展落后(多租户和云原生能力匮乏,查询优化能力普遍不足)
- 主流图数据库高并发混合负载差
- 不支持高并发下混合负载查询性能隔离
- 不支持多查询查询QoS(Quality of Service)
- 对于混合型负载(大小graph query混合)几乎没有针对性优化
- 主流图数据库对于融合数据分析(query类型混合)几乎不提供任何优化
- 绝大多数系统不具备融合分析能力
- 少数系统具体初级的融合分析能力, 但是不具备对于融合查询进行整体优化
- 主流图数据库对云原生的支持差
- 仅AWS Neptune针对云原生环境进行了优化
2.2 图分析、图学习主流系统技术分析

上表列举了主流图分析、图学习系统的分析情况,我们的观点是:
- 主流图分析系统面向大规模图场景,以分布式内存架构为主,多定位离线图计算,不支持实时数据更新,对复杂OLAP类的交互式查询支持较弱。
- 主流图学习系统构建于现有的深度学习系统,以PyTorch为主,分布式训练的性能一般。
- 主流图分析系统和图学习系统是割裂的,一般通过文件来交互,在统一图采样、图与NN融合调度上可以进一步优化。
- GPU、FPGA等异构体系探索还比较初级。

总结来说,图数据库和图引擎面向广泛的使用场景,提供的能力一定也是从基础往高阶发展的,技术洞察中标识为红色的部分,也是我们认为提供高阶能力所必备的差异化竞争力。
3 华为云图数据库技术演进
华为云图数据库(GES)自2018年上线以来,经历过3个时期,从18年到21年为1.0时代,从22年到现在为2.0时代,未来将会往3.0时代演进。

下图展示GES各个版本的技术架构以及相对应的特点,在后面的部分会详细展开分析。

3.1 GES 1.0:查询分析一体化、高性能
GES 1.0是基于分布式内存架构的,主打查询分析一体化和高性能的查询和分析。通过只存一份数据,可以较好的兼顾了图查询任务和图分析任务,比如数据增删改能够立马被查询到,快速参与后续的计算任务,省去了不同系统的数据同步。当然,该架构由于采用分布式内存的方式来存储全量数据,相较于持久化方案来说成本会较高,极端情况下的故障恢复较长。但总体来说,应对百亿规模的图数据处理和分析还是能够轻松应对的。

3.2 GES 2.0:大规模、持久化、DSL、动态图
GES 2.0是当前产品重点发展的技术路径,核心是面向千亿到万亿的图数据规模,通过持久化存储来降低成本,同时兼顾查询效率、计算性能和使用上的便捷性。这里,我们将图数据库和图计算引擎解耦开了,各个组件直接独立演进,同时统一存储里的数据同步是由系统内置的,用户无需感知,保证了从1.0往2.0迁移时使用体验的一致性。

另外,我们将DSL和动态图作为关键特性来进行演进。其中DSL提供了自定义算法的能力,动态图则提供了时序分析的能力。
DSL:提供灵活、可控的GraphDSL帮助用户低成本设计并运行算法/查询。特别是复杂查询和定制的计算任务,如,定制化pagerank,repeat query等。过程中无需安装编译,无需更新版本,且兼顾了原有的使用习惯,将Cypher与Gremlin的写法与计算模式结合起来。

【定制化PageRank样例】
动态图:世界是千变万化的,这些变化的背后蕴含着重要信息(如疫情传播的时序影响、转账关系的先后顺序等),传统图分析主要采用静态的、单一视角的分析方法,仅考虑静态结构,忽略变化,难以辅助更精准的推理决策。动态图分析:考虑时间维度变化,全方位建模和分析动、静态信息影响,辅助精准决策。

【动态图示意:建模、动态图算法、可视化】
3.3 GES 3.0:拥抱大模型,构建Graph+AI引擎
面向未来,GES 3.0会往Graph+AI引擎方向构建。一方面结合大模型,提升AI方面的能力;另一方面,整合多源数据,更好的融入大数据生态。同步的,易用性、生态兼容(GQL)也是贯穿其中的。
GES 3.0的核心理念:
- Composable: 系统各个部件可组合, 可替换, 实现长期可升级性
- Unified: 针对多种数据类型(Table, Graph)提供查询能力
- AI-Centric: 深度结合大模型, 以AI为中心, 赋能GES

- 融合大模型,自动化捕捉实体关系来创建知识图谱
- 图查询中支持LLM, GNN和DL的联合推理
- 利用Graph的强大的Multi-Hop的推理能力和对实时性数据/事件的存储能力,帮助纠正LLM的幻觉和实时性问题
【干货】华为云图数据库GES技术演进的更多相关文章
- 华为全栈AI技术干货深度解析,解锁企业AI开发“秘籍”
摘要:针对企业AI开发应用中面临的痛点和难点,为大家带来从实践出发帮助企业构建成熟高效的AI开发流程解决方案. 在数字化转型浪潮席卷全球的今天,AI技术已经成为行业公认的升级重点,正在越来越多的领域为 ...
- 一文带你读懂!华为云在ACMUG技术沙龙上都透露了些啥?
摘要:近日,华为云数据库业务总裁苏光牛在ACMUG中国MySQL用户组主办的 "华为云专场" 技术沙龙中分享了华为云数据库重磅新品GaussDB的核心能力与竞争优势.那么, Gau ...
- 【IT名人堂】何云飞:阿里云数据库的架构演进之路
[IT名人堂]何云飞:阿里云数据库的架构演进之路 原文转载自:IT168 如果说淘宝革了零售的命,那么DT革了企业IT消费的命.在阿里巴巴看来,DT时代,企业IT消费的模式变成了“云服务+数据”, ...
- 为数据赋能:腾讯TDSQL分布式金融级数据库前沿技术
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 简介:李海翔,网名"那海蓝蓝",腾讯金融云数据库技术专家.中国人民大学信息学院工程硕士企业导师.著有<数据库事务处 ...
- 《滴滴自研分布式 NoSQL 数据库 Fusion 的演进之路》
SSD:采用闪存: 读的速度很快:写入数据时,因为需要通过加压的方式对存储单元进行电子填充,所以速度略慢:擦除速度最慢,擦除块的时间在ms级.在使用SSD的时,需要考虑到SSD的读写不平衡的特性. 滴 ...
- 2018阿里云云数据库RDS核心能力演进
摘要: 2018年云数据库RDS发展上,不但针对MySQL.SQL Server.PostgreSQL提供了适合个人入门用户的基础版产品,以实惠的价格普惠广大中小用户.更加入最新的MariaDB TX ...
- 华为云数据库GaussDB(for Cassandra)揭秘第二期:内存异常增长的排查经历
摘要:华为云数据库GaussDB(for Cassandra) 是一款基于计算存储分离架构,兼容Cassandra生态的云原生NoSQL数据库:它依靠共享存储池实现了强一致,保证数据的安全可靠. 本文 ...
- C#-数据库访问技术 ado.net——创建 数据库连接类 与 数据库操作方法 以及简单的数据的添加、删除、修改、查看
数据库访问技术 ado.net 将数据库中的数据,提取到内存中,展示给用户看还可以将内存中的数据写入数据库中去 并不是唯一的数据库访问技术,但是它是最底层的数据库访问技术 1.创建数据库,并设置主外键 ...
- C#与数据库访问技术总结(十八)
ADO.NET 代码综合示例 前面已经介绍过OLE DB.NET和SQL Server.NET数据提供者可以用来连接不同的数据源. 以下代码不仅综合演示了使用ADO.NET的这两种数据提供者访问数据库 ...
- ASP.NET MVC5--为数据库新增字段(涉及数据库迁移技术)
Setting up Code First Migrations for Model Changes--为模型更改做数据库迁移. 1.打开资源管理器,在App_Data文件夹下,找到movies.md ...
随机推荐
- Structured Streaming 的异常处理 【Concurrent update to the log. Multiple streaming jobs detected】
目录 异常信息 一.异常表象原因 1.异常源码: 2.打个断点 二.解决方案 1.可以通过代码指定各分区的开始offset 2.不删除而是更改checkpoint offset下的批次文件 三.异常背 ...
- 【熊子q的代码乐园】用python写个健康报备记录小系统
目录 一.前言 二.技术实现 1.概述 2. 环境 3. 技术核心 4. 数据库 5. 源代码 三.最后 一.前言 coding的一路上,遇到过许多问题,也写过一些代码去解决,回头看看还是有点意思的, ...
- es笔记三之term,match,match_phrase 等查询方法介绍
本文首发于公众号:Hunter后端 原文链接:es笔记三之term,match,match_phrase 等查询方法介绍 首先介绍一下在 es 里有两种存储字符串的字段类型,一个是 keyword,一 ...
- SQL基础知识扫盲
@ 目录 SQL & 数据库基础知识扫盲 SQL是什么? 数据库是什么? 挺身入局,实践出真知 DBMS初体验 MySQL:初体验 Oracle:初体验 PostgreSQL:初体验 Demo ...
- drf多方式登录接口(手机号、邮箱、验证码)登录
题目 ##### 3 多方式登录接口#### -使用auth的user表扩写 -用户名+密码 -手机号+密码 -邮箱+密码 -签发token逻辑,放在序列化类中写 方式一: serializer.py ...
- 驱动开发:PE导出函数与RVA转换
在笔者上篇文章<驱动开发:内核扫描SSDT挂钩状态>中简单介绍了如何扫描被挂钩的SSDT函数,并简单介绍了如何解析导出表,本章将继续延申PE导出表的解析,实现一系列灵活的解析如通过传入函数 ...
- 区块链的Token机制如何理解?
区块链的Token机制如何理解? 为了更好的理解区块链和Token的关系,今天专门基于互联网中的内容,做了下筛选过滤,从而可以让大家更好的理解,对于Token,如果是从事过开发的同学来说,比如容易理解 ...
- PHP正则按照从大到小的SIGN签名算法
<?php/** * 签名算法 * @param unknown $key_id S_KEY(商户KEY) * @param unknown $array 例子:$array = array(' ...
- 开发中MongoDB遇到的各种问题
目录 一.安装6版本以下 二.安装6版本及以上 三.安装6版本以下(解压版) 四.配置本地 Windows MongoGB 服务 五.navicat 连接远程mongodb数据库 六.ip不一致问题 ...
- P7561[JOISC 2021 Day2] 道路の建設案 (Road Construction) 题解
P7561[JOISC 2021 Day2] 道路の建設案 (Road Construction) 题解 题目描述 JOI 国是一个 \(x\times y\) 的二维平面,王国里有 \(n\) 个城 ...