当前位置: 首页 > news >正文

热点|创邻图查询范式引爆LDBC TUC2024

2024年8月30日至31日,创邻科技Galaxybase团队联合蚂蚁集团TuGraph团队、阿里巴巴GraphScope团队共同主办第18届LDBC TUC会议。在本次会议中,来自全球图数据库领域的学者和技术专家做了很多精彩的分享,共同探讨图技术的最新进展。创邻科技Galaxybase团队也围绕图查询语言的多种模式及其未来发展方向展开分享,发表了题为《Parameterized Algorithm Routine: The Perfect Balance between Performance and Usability》的演讲,分享了Galaxybase独有的高性能图查询范式——PAR(全称Parameterized Algorithm Routine,参数化算法过程),引发了热烈讨论。(点击链接即可查看演讲PPT)

*完整会议议程可见:https://ldbcouncil.org/event/eighteenth-tuc-meeting/

01 背景

随着数据量的爆发式增长,“万物互联”已成为不可逆转的趋势。为了应对日益庞大的关联数据,我们需要借助图技术。图技术不仅能帮助我们更有效地理解和分析复杂的数据关系,还广泛应用于各种场景。例如,在社交网络中,图技术可以用来查询好友关系、识别关键影响力人物、查找共同好友,进行社群发现;在金融领域,图技术可以用于交易路径追踪、异常交易检测、欺诈团伙分析以及交易模式识别;在制造行业,图技术可以用于供应链上下游的监控与追溯;在能源行业,图技术可以用于智能调度与设备检修管理。
「那么,图数据库是如何应对这些复杂多样的分析场景的呢?」——「关键在于图查询。」

通过图查询,我们能够快速、高效地从复杂的数据关系中提取有价值的信息,以理解和应对不同的业务需求。

图查询根据其执行过程的控制方不同,分为声明式查询和命令式查询,具体对比如下:

声明式查询命令式查询
定义以结果为导向,用户仅需描述需要获取的数据,由机器决定数据获取的过程。以过程为导向,用户需描述执行步骤,向机器指定如何获取数据。
特点特点简洁、更接近自然语言,由数据库系统自动优化。复杂、提供细粒度查询控制,由用户根据业务逻辑优化、性能高。
优化通用性优化、实时优化定制性优化、执行前优化。
示例Cypher, GQLProcedure, Function

声明式查询
在这里插入图片描述

命令式查询
在这里插入图片描述

在这里插入图片描述

在上面的例子中,我们看到声明式的Cypher查询看起来比命令式的存储过程更加简单、明了。

那么,为什么还需要命令式查询呢?

Galaxybase服务过的多行业跨场景客户的实际数据显示,约70%的客户在OLAP和OLTP的混合场景中使用图数据库,10%的客户将图数据库应用于纯OLAP场景,仅有20%的用户将图数据库仅用于OLTP的场景。这些数据充分体现了不同于关系型数据库更常应用于OLTP场景,图数据库更多应用于处理复杂分析任务的OLAP及AP、TP的混合场景,因此,OLTP类多跳查询之外的,处理复杂图结构特征、多维度数据关联模式的HTAP查询和分析任务的执行效率,将更大程度决定一款图数据库在实际应用中的性能。
在这里插入图片描述

但是由于图数据的不平衡性特性(超级节点现象)、查询数据在机器节点分布的不可预测性、分布式存储中点边不在同一台机器上,以及查询路径的多样性等因素,声明式查询语言很难以通用的优化方式实现在不同数据特征、不同图结构特征、不同查询模式下的最优化。不优的查询不仅仅是查询响应慢,还容易因为查询返回的非必要中间节点信息过多、占用过大内存资源而造成系统稳定性问题。因此,在那些对性能和稳定性要求特别高的生产环境中,命令式查询反而更为合适。它允许我们在执行之前,针对特定场景进行优化,确保系统的稳定、高效运行。
在这里插入图片描述
▲ 图结构的数据不均衡性示例

此外,声明式查询语言虽然上手门槛较低,但在复杂业务场景下,其语法表达能力的限制会导致要使用多层分支嵌套的查询才能完整实现业务需求。这是由于声明式查询语言要以文本行来表达,只能描述直接路径扩展,无法对图上的复杂网络关系提供简单直观的表达方式。比如多跳扩展中的边条件如果有前后依赖关系,或者子网筛选有复杂的剪枝条件等,这些业务逻辑用声明式查询语言写会非常繁琐,反而降低了易用性。相同情况下,使用命令式查询,可以直接按照业务逻辑来写各种规则和条件,更加清晰明了、易于维护。

总结来说,声明式查询适合处理简单或者数据量小的图查询场景,而在更为复杂的图特征及模式查询场景中,尤其是在大数据分布式场景中,命令式查询能够根据业务逻辑及数据分布特性进行优化,是更佳的选择。尤其在生产环境中,如果业务对分布式大数据的查询实效性要求高,命令式查询更是必不可少的选择。

当然目前在图数据库领域中,命令式查询还存在许多挑战:

  • 命令式查询的实现难度比较大。开发这些查询的过程比写Cypher/GQL查询对使用者的编程能力要求更高,而目前针对命令式查询的用户友好的工具还不多;
  • 在处理大数据集的生产环境时,通常需要用到分布式图数据库。但是,目前市面上的图数据库很少能有效支持命令式查询的分布式并发操作;
  • 由于命令式查询的可操控性强,不法分子可以通过命令式查询进行破坏数据库的操作,这就对系统的安全性提出了更高的要求,需要设计者在提供命令式查询接口时同时做好足够的安全防护。

02 Galaxybase的解决方案——PAR

创邻科技在开发声明式查询的同时,同样重视命令式查询的研发,我们的命令式查询方案PAR在命令式查询领域取得了重大进展,为各行业多场景的应用提供了强大的支持,在实际应用中取得了出色的效果。PAR,全称为“Parameterized Algorithm Routine”(参数化算法过程),它是创邻科技专为应对大数据场景下复杂图数据库查询的挑战而设计的参数化的自定义算法程序。它充分利用了Galaxybase底层分布式计算框架的能力,为用户提供了一种通过PAR API进行服务端编程的方式。Galaxybase提供了非常丰富的API,赋能用户执行包括定制化图算法、分布式并行带条件的图数据遍历、图计算任务的分布式调度在内的复杂查询和计算操作,并针对不同场景做了分布式并行优化,在为客户提供更优秀的查询、计算性能的同时,也提升了图数据库在生产环境中的稳定性和可靠性。

提升查询计算性能

  • 分布式查询性能优化:随着数据的不断增长,用户往往需要在生产环境中使用分布式图数据库。Galaxybase的PAR在设计时就考虑了底层数据存储的分布式存储架构,会根据数据的实际分布情况进行优化,高效的处理分布式查询。
  • 并行操作性能优化:PAR提供了一系列并行操作的优化,通过底层的并行迭代接口,针对数据的分区并行特性提升了读写操作的性能。例如,在遍历磁盘上的数据时,PAR优先将同一分区的数据放在一个线程内读取,同时将不同分区的数据放在不同线程中并行读取,从而在确保磁盘的高效顺序读取的同时提升了系统的整体处理效率。

提升可用性

  • 简便的注册功能:命令式查询的开发通常比写GQL查询要复杂得多,但PAR提供了简便的注册功能。所有的命令式查询操作都可以通过可视化的用户交互界面轻松完成,包括上传、注册和修改存储过程,这让整个开发过程变得更加直观和简单。
  • 功能封装与开发便利性:Galaxybase提供了一个PAR Kit工具包,封装了各种分布式、多线程、图遍历接口,使得开发过程更加便捷和高效。即使用户不了解分布式和并行处理的细节,也可以轻松编写出支持分布式和并行处理的代码,降低学习成本、提升开发效率。

优化资源使用,提升系统稳定性

  • 资源统一管理:在生产环境中,复杂的查询在实现和使用过程中可能会占用大量资源。Galaxybase通过统一的线程池管理、文件操作和内存追踪功能,确保系统资源被合理利用,从而增强系统的稳定性。
  • 自定义停止功能:PAR支持自定义停止功能,用户可以随时停止正在执行的存储过程,防止不合理的程序消耗过多资源,进而保障系统的稳定性。

应用广泛

  1. 高校图数据库课程: 在浙江大学开设的图数据库课程中,Galaxybase的PAR已成为课程中的重要部分,帮助学生更好地理解和掌握图数据库的应用。
    在这里插入图片描述

  2. 图数据库书籍:创邻科技出版的《图数据库:理论与实践》一书中,专门讲解了图数据库服务端编程的内容,旨在帮助更多的开发者和技术人员掌握并利用好PAR支撑复杂的业务分析需求。
    在这里插入图片描述

  3. 商业项目中的验证:Galaxybase的PAR已在金融、能源、互联网、教育等多个行业的客户项目中被客户广泛应用,证明了其在实际商业环境中的可行性和有效性。
    在这里插入图片描述

客户评价

  • 交通银行: “PAR的便利性和效率非常好。目前我们生产上3个PAR包,基于几十亿的图项目并行运行效率依然高效稳定,尤其是代码在线编辑功能,为PAR开发人员和运维人员问题排查起到作用。”
  • 杭州银行:“在需求明确的情况下,(比Cypher查询)性能提升明显。数据有业务逻辑,比如筛选和排序之类,PAR用在实时查询上,更加灵活,应用调用方便。”

03 Galaxybase PAR引全球专家热议

创邻对声明式语言的深入探讨,在LDBC TUC会议上引发了热烈的探讨,我们的提议也得到了LDBC多位专家的高度评价。
在这里插入图片描述
▲LDBC副主席Alastair Green对PAR的实现进行提问

在这里插入图片描述

▲创邻科技CTO周研博士现场答与会者提问

04 展望和总结

在未来,创邻科技希望通过推广命令式查询的研发与应用,持续推动图数据库行业的健壮发展。

  • 支持声明式与命令式模式的混合使用:我们将在同一平台上支持声明式和命令式查询的混合使用,使用户可以根据不同场景灵活选择最合适的查询方式。通过无缝切换这两种模式,用户可以充分利用它们各自的优势,更好地应对复杂的业务需求。

  • 实现查询模式的自动转换:我们计划通过引入AI技术,实现声明式和命令式查询之间的自动转换。这不仅能够大幅降低开发命令式查询的成本,还能让更多用户轻松上手,从而提高开发效率。

  • 加强培训与教育:我们将加强对声明式和命令式图数据库查询的培训和教育。通过提供更多资源、在线课程和实操案例,帮助开发者更深入地理解并掌握这两种查询方式,进而选择适合自己场景的最佳模式。

  • 推动PAR的跨平台兼容性:我们将致力于提升PAR的跨平台兼容性,使其能够在更多数据库平台上顺利运行。通过一套命令式查询在不同平台上的执行,PAR的应用范围将进一步扩展,让更多企业和开发者受益。

  • 促进声明式与命令式查询的协同发展:我们希望通过持续的创新和探索,推动声明式和命令式查询的协同发展,在性能和功能上不断突破,为更多用户和企业创造真正的价值。

如果您也想了解更多PAR相关的内容,欢迎登录创邻科技官网添加创邻科技小助手


http://www.mrgr.cn/news/31127.html

相关文章:

  • Unity实现自己的协程系统
  • 文件上传js代码
  • Virtuoso服务在centos中自动停止的原因分析及解决方案
  • 【云安全】云服务安全攻防
  • U 盘显示需要格式化才能用?一针见血的修复方法在这里!速看!
  • 量子噪声流加密(二:如何隐匿通信密文)
  • 蓝队技能-应急响应篇Web内存马查杀JVM分析Class提取诊断反编译日志定性
  • Centos 7 搭建Samba
  • YOLOv5白皮书-第Y1周:调用官方权重进行检测
  • Spring MVC 启动与请求处理流程解析
  • 环保行动中的关键力量:油烟净化器如何发挥重要作用
  • 乐观锁、悲观锁及死锁
  • 抖音怎么录屏保存?网页录屏和直播内容录制屏幕工具软件推荐
  • Ubuntu 22.04 源码下载的几种方法
  • 【用Java学习数据结构系列】对象的比较(Priority Queue实现的前提)
  • 鸿蒙手势交互(三:组合手势)
  • 模型案例:| 篮球识别模型
  • Python学习——【3.1】函数
  • 超详细!百分百安装成功pytorch,建议收藏
  • 【Node.js Vue】还在为选什么乐器发愁?乐器推荐系统帮你解决难题,基于用户行为分析的智能推荐,让你不再为音乐器材烦恼