演讲回顾丨杭州悦数 CTO 叶小萌:图数据库发展新航向——拥抱 GQL,融合 HTAP,携手 AI
本文为杭州悦数 CTO 叶小萌在“标准+智能:新质生产力的原动力”悦数图数据库新产品发布会上的演讲回顾,主题为:《新标准、新期待:展望图数据库发展的关键方向》
各位嘉宾、悦数图数据库的用户以及线上的观众朋友们大家好!今天很高兴有机会和大家分享我对数据库,尤其是图数据库的感悟与想法。
GQL 的诞生推动图数据库的发展
在 2000 年前后,图数据库的概念尚未普及,当时主要通过 Java API 进行相关操作。直到 2009 年,Apache TinkerPop 规范定义的 Gremlin 查询语言首次发布;两年后的 2011年,Neo4j 推出了更加广为人知的 Cypher 图查询语言。在图数据库的后续发展中,虽然越来越多的厂商为图数据库增添了丰富的功能,但多样的查询语言也给用户带来了困扰。在选择产品时,用户不仅需要考虑产品本身的性能,还必须评估查询语言的易学性和掌握难度。此外,如果所选产品所使用的查询语言在几年后不再被广泛采用,替换成本将会非常高。这种情况直接影响了图数据库在业界的接受度。
直到 2019 年,国际标准化组织(ISO)成立了专门工作组,致力于制定图数据库查询语言的标准。经过近五年的讨论,2024 年 4 月,ISO 正式发布了国际标准图查询语言 ——Graph Query Language(GQL)。GQL 标准的发布标志着图数据库技术走向成熟的重要一步。它不仅有助于提高图数据库的可操作性,还降低了用户的迁移成本,促进了图数据库技术的广泛应用。杭州悦数作为图数据库厂商也积极参与了标准的制定,进一步增强了标准的权威性和实用性,悦数图数据库更是全球首款原生支持 GQL 的图数据库产品。相信 GQL 的发布有望像当年 SQL 标准推动关系数据库发展一样,推动图数据库的发展,提升业界对图数据库的接受程度。我们有理由相信,在 2030 年前后,依托于 GQL 标准, 图技术将全方位融入生活,形成行业的结构化、产业化。

图数据库与 HTAP:融合发展,突破数据处理瓶颈
在数据库领域,近年来出现了 HTAP 概念,旨在将 OLTP(在线事务处理)和 OLAP(在线分析处理)功能整合于一个系统中。在传统企业架构中,OLTP 系统负责在线业务的数据修改和查询,而数据随后会同步到后端数据仓库以进行分析和挖掘。然而,这种方式无论是传统关系型数据库还是图数据库,往往都面临高存储成本和数据时效性的问题。截至 2023 年,OLTP 和 OLAP 在的市场份额基本上各占一半。然而,在图数据库领域,分析需求的占比可能更高。根据我们接触到的市场情况,分析需求可能占到 60% - 70%,而在线事务处理则占 30% - 40%。
作为图数据库厂商,我们希望能够整合图数据库的交易与分析功能,实现 HTAP 能力。首先,实现底层数据共享,以解决存储和数据时效性的问题;其次,针对分析查询,既然已经有了 GQL 标准,我们可以能够使用它进行分析查询,就像使用 SQL 进行查询一样。此外,图数据库中存在许多算法,而以往在不同系统中描述这些算法的难度较大,对数据分析人员的要求也很高。因此,我们希望在 GQL 的基础上,具备描述算法的能力,从而真正实现查询语言的统一。因此我们认为基于标准的分布式 HTAP 系统是图数据库未来的重要发展方向。

图数据库与 AI :打破向量局限,实现优势互补
2022 年底,OpenAI 发布了 3.0 大模型,掀起了 AI 的热潮。如何有效地将私有数据与公共领域的知识模型结合,成为了一个重要的研究课题。对于企业而言,训练专有的大模型不仅需要强大的计算能力,还对技术团队和研发团队提出了较高的要求。相比之下,RAG 技术将私有数据作为大模型的补充,避免了重新校正和训练模型的复杂过程,因此对技术能力的要求相对较低。随着大模型的不断发展,基于向量数据库的 RAG 解决方案也逐渐涌现。

然而,基于向量数据库的 RAG 存在显著问题。私有数据本身具有内在的关联关系,但向量数据库无法有效地体现这些关系。而用户给到大模型的请求是按照 Token 来计算的,Token 越多,计算量越大,价格也越高,时间也越长,RAG 因为缺少了关联的知识,会导致大量的计算资源的浪费和时间的浪费,且结果不够精准。

相比之下,图数据库能够更好地识别和保留这些关系,从而提高信息检索的准确性和效率。图数据库在处理复杂关系和大规模数据方面具有天然优势,这对于 AI 的理解和推理能力至关重要。

在 2023 年 8 月,我们提出用图数据库取代向量数据库,并与 LlamaIndex 社区合作推出 Graph RAG。该方案通过提供更具上下文感知的能力和数据训练的方法,缓解了传统搜索增强技术的幻觉,能够区分像“保温杯”和“保温大棚”这种关键字相似但语义不同的内容,确保所提供的回复不仅精确,而且信息丰富。今年上半年,微软开源的 Graph 相关项目也印证了图数据库与 AI 结合是市场和技术共同选择的结果。
展望未来
图数据库的未来发展方向主要包括三个方面:
拥抱 GQL:继续支持和推广 GQL 标准,促进图数据库技术的普及与应用。
探索基于标准的 HTAP 解决方案:开发高效的 HTAP 系统,满足日益增长的数据处理需求。
深化图数据库与 AI 技术的融合:结合图数据库和大模型的优势,推动智能决策支持系统的发展。
图数据库不仅在技术上不断创新,还在实际应用中展现出巨大的潜力。未来,图数据库将在社交网络、推荐系统、金融风控等多个领域发挥重要作用,为数据驱动的决策提供强有力的支持。
感谢各位的聆听,希望今天的分享能够为大家带来一些启发和思考。谢谢。
相关文章:
演讲回顾丨杭州悦数 CTO 叶小萌:图数据库发展新航向——拥抱 GQL,融合 HTAP,携手 AI
本文为杭州悦数 CTO 叶小萌在“标准智能:新质生产力的原动力”悦数图数据库新产品发布会上的演讲回顾,主题为:《新标准、新期待:展望图数据库发展的关键方向》 各位嘉宾、悦数图数据库的用户以及线上的观众朋友们大家好࿰…...
Java安全—JNDI注入RMI服务LDAP服务JDK绕过
前言 上次讲到JNDI注入这个玩意,但是没有细讲,现在就给它详细地讲个明白。 JNDI注入 那什么是JNDI注入呢,JNDI全称为 Java Naming and Directory Interface(Java命名和目录接口),是一组应用程序接口&…...
C++:设计模式-单例模式
单例模式(Singleton Pattern)是一种设计模式,确保一个类只有一个实例,并且提供全局访问点。实现单例模式的关键是防止类被多次实例化,且能够保证实例的唯一性。常见的实现手法包括懒汉式、饿汉式、线程安全的懒汉式等。…...
Softing工业将OPC UA信息建模集成到边缘应用和安全集成服务器中
Softing工业宣布将OPC UA(统一架构)信息建模集成到其边缘产品系列及安全集成服务器(SIS)中,这一技术进步使得在工业物联网(IIoT)应用中的数据集成、交换与控制更加无缝、有效。 (OPC…...
WPF中如何让Textbox显示为一条直线
由于Textbox直接使用是一条直线 设置如下代码 可以让Textbox变为直线输入 <Style TargetType"TextBox"x:Key"UsernameTextBoxStyle"><Setter Property"Template"><Setter.Value><ControlTemplate TargetType"{x:Typ…...
VSCode汉化教程【简洁易懂】
我们安装完成后默认是英文界面。 找到插件选项卡,搜索“Chinese”,找到简体(更具你的需要)(Microsoft提供)Install。 安装完成后选择Change Language and Restart。...
跨平台多开账号防关联:轻松管理多个账号!
对于跨境电商、独立站以及社媒营销领域,如何高效管理多个账号、确保账号安全是企业面临的重大挑战。那么如何仅用一台电脑就能实现跨平台多开账号呢? 一、为什么需要跨平台多开账号并防关联? 1. 品牌推广:不同平台拥有不同的用户…...
DICOM图像处理:深入解析DICOM彩色图像中的Planar配置及其对像素数据解析处理的实现
引言 在DICOM(Digital Imaging and Communications in Medicine)标准中,彩色图像的存储与显示涉及多个关键属性,其中**Planar Configuration(平面配置)**属性(标签 (0028,0006))尤为重要。当遇到彩色DICOM图像在浏览时被错误地分割为9张小图,而实际应显示为一…...
jupyter notebook的 markdown相关技巧
目录 1 先选择为markdown类型 2 开关技巧 2.1 运行markdown 2.2 退出markdown显示效果 2.3 注意点:一定要 先选择为markdown类型 3 一些设置技巧 3.1 数学公式 3.2 制表 3.3 目录和列表 3.4 设置各种字体效果:加粗,斜体&#x…...
Linux连接网络的三种方式
Linux 连接网络的三种常见方式如下: 桥接模式 原理:虚拟网络接口与物理网络接口或另一个虚拟接口 “桥接”,形成逻辑上的网络交换机,使所有通过该桥接设备的数据包能被转发到桥接组中的所有接口,如同在一个局域网内…...
##继承##
继承的概念 #继承是新模板基于老模板的基础上修改而成,制作新模板时不需要重新开始制作,可以在老模板的基础上进行修改.(如手机版本的换代,软件的版本更新等) #程序也可以继承 继承的格式: class 继承模块(被继承模块ÿ…...
2024 APMCM亚太数学建模C题 - 宠物行业及相关产业的发展分析和策略 完整参考论文(1)
摘要 近年来,中国宠物食品行业迅速增长,但面临复杂的国际形势和多变的市场环境,因此科学地分析和预测该行业的发展趋势至关重要。本研究通过构建多个机器学习与统计回归模型,量化分析中国宠物食品行业的关键驱动因素,预测未来宠物食品总产值和出口值。 在数据处理部分,…...
uni-app 修改复选框checkbox选中后背景和字体颜色
编写css(注意:这个样式必须写在App.vue里) /* 复选框 */ /* 复选框-圆角 */ checkbox.checkbox-round .wx-checkbox-input, checkbox.checkbox-round .uni-checkbox-input {border-radius: 100rpx; } /* 复选框-背景颜色 */ checkbox.checkb…...
使用Notepad++工具去除重复行
使用Notepad工具去除重复行 参考链接:https://blog.csdn.net/londa/article/details/108981396 一 、使用正则表达式 1、对文本进行排序,让重复行排在一起 2、使用正则表达式替换(注意)^(.*?)$\s?^(?.*^\1$) 在替换时选择正…...
基于Springboot+Vue的救灾物资调动系统 (含源码数据库)
1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 这个系…...
Unity 使用 Excel 进行配置管理(读Excel配置表、Excel转保存Txt 文本、读取保存的 Txt 文本配置内容)
Unity 使用 Excel 进行配置管理(读Excel配置表、Excel转保存Txt 文本、读取保存的 Txt 文本配置内容) 目录 Unity 使用 Excel 进行配置管理(读Excel配置表、Excel转保存Txt 文本、读取保存的 Txt 文本配置内容) 一、简单介绍 二、实现原理 三、注意事项 四、案例简单步…...
MySQL中索引全详解
第一部分:什么是索引 索引在数据库中就像书的目录,能够快速定位数据位置,从而提升查询效率。没有索引时,数据库查询需要从头到尾扫描整个表(称为全表扫描),这在数据量大时非常耗时。有了索引后&…...
vllm serve的参数大全及其解释
以下是 vllm serve 的常见参数说明以及它们的作用: 1. 基本参数 model_tag 说明:用于指定要加载的模型,可以是 Hugging Face 模型仓库中的模型名称,也可以是本地路径。示例:vllm serve "gpt-neo-2.7B"--co…...
2025职业院校技能大赛信息安全管理与评估(河北省) 任务书
2025职业院校技能大赛信息安全管理与评估--河北省 任务书 模块一网络平台搭建与设备安全防护任务1:网络平台搭建 (50分)任务2:网络安全设备配置与防护(250分) 模块二网络安全事件响应、数字取证调查、应用程…...
通过高德 JS API 实现H5端定位
实现步骤: 1、安装 amap-jsapi-loader 插件 npm install amap-jsapi-loader 2、对定位组件进行封装 gb-location组件 <script lang="ts" setup> import AMapLoader from @amap/amap-jsapi-loader; import {ref,defineExpose} from vue;let map = ref(nul…...
装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
