本文来自 NebulaGraph 的软件工程师文豪在美国费城参加 2022 年 SIGMOD 大会时的见闻。SIGMOD 是数据库领域的顶级会议之一,是 CCF 数据库 / 数据挖掘 / 内容检索领域 A 类会议。

NebulaGraph 作为国内唯一的开源图数据库厂商参加,并以展商身份在会上发表了《NebulaGraph: a nex t-generation of hyperscale graph database》演讲。

以下内容文豪将以第一人称展开叙述:

今年 SIGMOD'22 在费城 Philadelphia 举办,我有幸代表公司参加这次盛会。此次参会,我和学生、教授、厂商多有交流,一方面宣传了我们的产品,另一方面也获取了许多宝贵的建议和意见。接下来,我将分享其中一些建议,以及我整体的思考。

图学习和存储技术广受关注

首先是行业新趋势,本次会议大家关注的热点主要有两个。

第一,机器学习的比重进一步增加,尤其图学习(graph learning)可能成为新的热点。近年来,越来越多的系统领域的会议会专门开设机器学习的专区,主要是运用一些机器学习的方法来优化系统或者算法。其中,有一个方向最近异军突起,就是图学习。简单来说,图学习就是在图上的机器学习。和其他用机器学习解决实际问题类似,图学习通过 embedding 的方式,从 graph 中提取出特征向量(feature vector),再用机器学习的方法解决图中那些困难的问题,包括分类、子图匹配、链接预测(classfication,subgraph matching,link prediction)等。

从会议的倾向和 NSF (National Science Foundation) 的指导来看,这个趋势还会持续火热。我们也收到很多学生和教授关于是否支持图学习的询问。从图数据库供应商角度出发,图学习是 NebulaGraph 的应用之一。我们不能仅仅满足于提供图数据库核心,还得为上层应用提供库、接口,甚至优化,来保证上层应用的顺利高效运行。从另一个角度出发,如果我们的 NebulaGraph 可以帮助学界在一些领域,比如在图学习方面有所突破,对我们公司、全行业发展也是大有裨益的。

除了机器学习,我认为另一个热点趋势就是内存,包括 in-memory database, persistent memory 等。目前非易失性存储(non volatile memory),或者叫持久性存储(persistent memory),经过学术界和工业界十多年的共同努力已经越来越成熟。目前针对如何使用持久性存储的研究也是非常火热,几乎所有系统的顶会都有大量相关的文章。

具体到数据库领域,就包括:如何设计内存数据库(in-memory database)、如何将持久性存储(persistent memory) 和 SSD、DRAM 等混合使用,如何解决内存隔离(memory segregation)的问题。NebulaGraph 作为图数据库供应商,也应该积极拥抱新硬件带来的改变,积极探索基于 persistent memory 的存储系统。

图的优势与发展方向

除了新趋势,我在会议中最大的收获和思考是关于图数据库(GDBMS)和关系型数据库(RDBMS)的比较。会上有不少人表达「为什么不基于关系型数据库来实现 graph datababse」的疑虑。

因为关系型数据库经过多年优化,确实已经武装到了牙齿。比如 Peter Boncz 教授(LDBC 创始人之一)在今年早些时候在 EDBT / ICDT 会议上做了个主题演讲——《The (Sorry) State of Graph Database Systems 》,提出当前 GDBMS 跟 RDBMS 相比,在计算和存储层都还有很多地方需要提高,尤其是针对子图匹配(subgraph matching) 这样的 AP 查询。他提出了针对子图匹配场景的性能基准测试(Benchmark)。在他的实验环境下,没有一款图数据库软件在「子图匹配」场景上的性能能够接近 Hyper 和 Umbra 这两款关系型数据库(见下面图1)。

图 1:在 Subgraph matching 上,GRDMS 不如一些特殊的 RDBMS,具体可看 Slides

这个实验的设置固然有值得探讨的地方,但 Peter 作为 LDBC 的创始人,他的核心目的自然不是贬低图数据库,只是想借用子图匹配——这个图数据库优化得还不够好的一种查询场景,来鼓励各个图数据库厂商提升自己的产品。

从更广的图景来看,我们 NebulaGraph 作为图数据库厂商,必须把握图数据库和关系型数据库的区别和优势:

  • 一是图查询,尤其是 GQL 相对于 SQL 的易用性和高效性。
  • 二是易用性,Neo4J 的 CEO,Emil Eifrem 有个非常好的例子:对于一个 AP 系统非常常见的查询,如果使用 SQL 需要 23 个 SELECT,21 个 WHERE,11 个 JOIN,9 个 UNION,最后形成一个巨长无比的查询语句(query)。但如果使用图相关语句,只需要一个 MATCH 和一个 WHERE。对于使用 SQL,很有可能是无法完成工作或者极易出错,而对于后者使用图相关语句,则可以省下无数人力物力。

关于性能,除了在关联关系查询中,图数据库相较于关系型数据库的天然优势,还需要在其他图相关的各种查询上(不止于上文提到的子图匹配 subraph matching)取得对于关系型数据库的优势。这其实也是 Peter 提出子图查询这个检测基准对于我们的核心启示。

对底层存储结构的思考

最后,我们也获得了不少关于底层存储的建议。NebulaGraph 目前底层存储使用的是基于 LSM Tree 的 RocksDB。但 LSM Tree 是否适用于图数据库的 workload,尤其是上云后,是否是性能最好、成本最低的选择,一直是有争议的。可能的替代者有:

总之,这次 SIGMOD’22 之旅收获了许多。期待明年的 SIGMOD。西雅图见!


谢谢你读完本文 (///▽///)

要来近距离体验一把图数据库吗?现在可以用用 NebulaGraph Cloud 来搭建自己的图数据系统哟,快来节省大量的部署安装时间来搞定业务吧~ NebulaGraph 阿里云计算巢现 30 天免费使用中,点击链接来用用图数据库吧~

想看源码的小伙伴可以前往 GitHub 阅读、使用、(з)-☆ star 它 -> GitHub;和其他的 NebulaGraph 用户一起交流图数据库技术和应用技能,留下「你的名片」一起玩耍呢~

从全球顶级数据库大会 SIGMOD 看数据库发展趋势的更多相关文章

  1. 洞见数据库前沿 阿里云数据库最强阵容 DTCC 2019 八大亮点抢先看

    摘要: 作为DTCC的老朋友和全球领先的云计算厂商,阿里云数据库团队受邀参加本次技术盛会,不仅将派出重量级嘉宾阵容,还会为广大数据库业内人士和行业用户奉上8场精彩议题.下面小编就为大家提前梳理了8大亮 ...

  2. 2018GIAC全球互联网架构大会上海站最新日程抢先看!

    2018年11月23-24日,为期两天的 GIAC全球互联网架构师大会将在上海拉开帷幕.GIAC全球互联网架构大会是由msup和高可用架构技术社区联合举办的面向架构师.技术负责人及高端技术从业人员的年 ...

  3. Hibernate中:不看数据库,不看XML文件,不看查询语句,怎么样能知道表结构?

    Hibernate中:不看数据库,不看XML文件,不看查询语句,怎么样能知道表结构? 解答:可以看与XML文件对应的域模型.

  4. C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志

    C#实现多级子目录Zip压缩解压实例 参考 https://blog.csdn.net/lki_suidongdong/article/details/20942977 重点: 实现多级子目录的压缩, ...

  5. 分库分表 or NewSQL数据库?终于看懂应该怎么选!【转】

    最近与同行科技交流,经常被问到分库分表与分布式数据库如何选择,网上也有很多关于中间件+传统关系数据库(分库分表)与NewSQL分布式数据库的文章,但有些观点与判断是我觉得是偏激的,脱离环境去评价方案好 ...

  6. 【数据共享】基于Landsat提取的全球河网(河宽)GDWL数据库

    GRWL数据库,全称Global River Widths from Landsat Database,是由Allen, George H & Pavelsky. Tamlin M等人基于La ...

  7. 从 Cloud-Native Relational DB 看数据库设计

    论文内容:Amazon Aurora: Design Considerations for HighThroughput Cloud-Native Relational Databases 里面介绍了 ...

  8. GIAC 2017全球互联网架构大会最新日程

    12月22日至23日,高可用架构和msup联合主办的GIAC 全球互联网架构大会将于上海光大会展中心举行.GIAC 全球互联网架构大会是高可用架构技术社区推广的面向架构师.技术负责人及高端技术从业人员 ...

  9. GIAC深圳站 | 2018年不可错过的全球互联网架构大会!

    2018年6月1~2日,GIAC 全球互联网架构大会将于深圳华侨城洲际酒店举行!GIAC全球互联网架构大会是由msup和高可用架构技术社区联合举办的面向架构师.技术负责人及高端技术从业人员的技术架构大 ...

  10. 针对多类型数据库,集群数据库的有序GUID

    一.背景 常见的一种数据库设计是使用连续的整数为做主键,当新的数据插入到数据库时,由数据库自动生成.但这种设计不一定适合所有场景. 随着越来越多的使用Nhibernate.EntityFramewor ...

随机推荐

  1. 基于eBPF的微服务网络安全(Cilium 1)

    基于eBPF的微服务网络安全 翻译自:Network security for microservices with eBPF 一些开源的kubernetes工具已经开始使用eBPF,这些工具大多数与 ...

  2. web字体小于12px的解决办法

    大家都知道,web端的字体在正常情况下,最小只能够是12px; 但是有些时候,可能需要字体小于12px 那么如何解决这个办法了 可以使用css3的缩放属性scale 如果字体的大小是10px; 那么我 ...

  3. 加速tortoisegit的show log,减少等待时间

    KMSID: 81703 是否同步到KM: 是 是否原创: 是 标签: 游戏开发 允许复制: 是 允许评论: 是 允许导出PDF: 是 职业库分类KMS: 游戏-游戏程序 查看权限KMS:网易正式员工 ...

  4. 从零开始配置vim(19)——终端配置

    在上一篇文章中,我们熟悉了终端模式,并且配置了终端模式的一些操作.但是它总是有那么一点不符合我们的使用习惯.这篇我们将通过强大的插件来完善终端操作的体验. 在介绍插件之前让我们先回退到上一个版本,我们 ...

  5. vim 从嫌弃到依赖(9)——命令模式进阶

    上一篇文章更新还是在51前,最近发生了很多事情了,全国各地的疫情又有蔓延的趋势,北京朝阳区都已经开始实施居家办公.各位小伙伴请注意安全,安全平安的度过这个疫情. 废话不多说了,接着上次的内容往下写. ...

  6. HS_xh 诗选

    @HS_xh 给我以火,给我以火!!! 我将在烈火中永生,囚歌写的时候人家还没出生,诶6年后就死了是吧,啊那人家都快死了,诶你怎么死了 你能不能凑齐十个一起发 胡适于 1920 发表了中国第一部白话诗 ...

  7. 又学了一招:微软科普Windows 11电脑自动清理释放硬盘

    你是不是每次都等到电脑内存被占满,磁盘"红"成一片,才想起来去清理那些没用的程序or文件? 今天微软官方科普了一个小技巧:既然都用上了Windows 11 ,为什么不让电脑帮你自动 ...

  8. 记录一则ADG备库报错ORA-29771的案例

    有客户找到我这边咨询,说他们的一套核心ADG库在业务高峰期报错,因为业务做了读写分离,其备库也实际承担读业务,所以备库故障也会对业务产生影响. 这里也要提醒大家,做读写分离,如果读库出现故障的情况,要 ...

  9. Python-wxauto微信自动发送消息或文件

    1.安装wxauto和pyautogui库,pip安装即可. pip install wxauto pip install pyautogui 2.登录电脑微信客户端 这里有两个注意点:(1)不能将客 ...

  10. 【Unity3D】同步Socket通讯

    1 前言 ​ 在多人对战网络游戏中,玩家之间一般不是直接通讯,而是与服务器通讯,服务器再把消息转发给其他玩家.网络通讯一般基于 Socket 实现,也有一些开源网络游戏框架,如:光子引擎 Photon ...