百亿节点,毫秒级延迟,携程金融基于nebula的大规模图应用实践

本文介绍了携程金融如何基于Nebula构建大规模图存储和分析平台,应用于数据血缘、风控关系人图和实时反欺诈图等场景。在实践中,面对查询性能、边热点和一致性等问题,进行了优化,包括牺牲写性能换取读性能、池化连接降低时延等措施。未来将继续推进图平台建设并期待社区功能增强。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

2017年9月携程金融成立,在金融和风控业务中,有多种场景需要对图关系网络进行分析和实时查询,传统关系型数据库难以保证此类场景下的关联性能,且实现复杂性高,离线关联耗时过长,因此对图数据库的需求日益增加。携程金融从2020年开始引入大规模图存储和图计算技术,基于nebula构建了千亿级节点的图存储和分析平台,并取得了一些实际应用成果。本文主要分享nebula在携程金融的实践,希望能带给大家一些实践启发。

本文主要从以下几个部分进行分析:

  • 图基础介绍
  • 图平台建设
  • 内部应用案例分析
  • 痛点与优化
  • 总结规划

一、图基础

首先我们来简单介绍下图相关的概念:

1.1 什么是图

在计算机科学中,图就是一些顶点的集合,这些顶点通过一系列边结对(连接)。比如我们用一个图表示社交网络,每一个人就是一个顶点,互相认识的人之间通过边联系。

在图数据库中,我们使用 (起点,边类型,rank,终点) 表示一条边。起点和终点比较好理解,表示一条边两个顶点的出入方向。边类型则是用于区分异构图的不同边,如我关注了你,我向你转账,关注和转账就是两种不同种类的边。而rank是用来区分同起始点同终点的不同边,如A对B的多次转账记录,起点、终点、边类型是完全相同的 ,因此就需要如时间戳作为rank来区分不同的边。

同时,点边均可具有属性,如:A的手机号、银行卡、身份证号、籍贯等信息均可作为A的点属性存在,A对B转账这条边,也可以具有属性,如转账金额,转账地点等边属性。

1.2 什么时候用图

(信息收集于开源社区、公开技术博客、文章、视频)

1)金融风控:

  • 诈骗电话的特征提取,如不在三步社交邻居圈内,被大量拒接等特征。实时识别拦截。(银行/网警等)
  • 转账实时拦截 (银行/支付宝等)
  • 实时欺诈检测,羊毛党的识别(电商)
  • 黑产群体识别,借贷记录良好用户关联,为用户提供更高额贷款、增加营收

2)股权穿透

  • 影子集团、集团客户多层交叉持股、股权层层嵌套复杂关系的识别(天眼查/企查查)

3)数据血缘

  • 在数据仓库开发过程中, 会因为数据跨表关联产生大量的中间表,使用图可直接根据关系模型表示出数据加工过程和数据流向,以及在依赖任务问题时快速定位上下游。

4)知识图谱

  • 构建行业知识图谱

5)泛安全

  • ip关系等黑客攻击场景,计算机进程与线程等安全管理

6)社交推荐

  • 好友推荐,行为相似性,咨询传播路径,可能认识的人,大v粉丝共同关注,共同阅读文章等,商品相似性,实现好友商品或者咨询的精准推荐
  • 通过对用户画像、好友关系等,进行用户分群、实现用户群体精准管理

7)代码依赖分析

8)供应链上下游分析

  • 如汽车供应链上下游可涉及上万零件及供应商,分析某些零件成本上涨/供应商单一/库存少等多维度的影响(捷豹)

1.3 谁在研发图,谁在使用图

(信息收集于开源社区、公开技术博客、文章、视频)

目前国内几家大公司都有各自研发的图数据库,主要满足内部应用的需求,大多数都是闭源的,开源的仅有百度的hugegraph。其他比较优秀的开源产品有Google Dgraph, vesoft的nebula 等,其中nebula在国内互联网公司应用非常广泛。结合我们的应用场景,以及外部公开的测试和内部压测,我们最终选择nebula构建金融图平台。

二、图平台建设

2.1. 图平台建设

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值