图计算技术在金融反洗钱,风控,KYC,股票推荐等领域的价值有目共睹。图数据库作为图计算技术最重要的基础软件,其选型对项目的最终效果起着决定性的作用。
目前,业内还没有针对金融场景的选型测试工具,导致金融机构在进行图数据库选型测试时,只能基于自身的某个场景,或使用一些非金融场景的基准测试(如基于社交网络的 LDBC-SNB,Twitter 数据集等)来对图数据库进行测试。
这两种方式都存在较大的缺陷。基于自有场景的测试,在数据代表性、场景算法等方面都有局限,因为进行选型时实际使用场景还没有完全确定,只能使用“当前能想到”的一部分场景、数据和算法来测试。而使用基于社交网络的基准测试,则会产生场景错配的问题,因为社交场景的数据和算法与金融场景并不一致。
为了解决这一困难,蚂蚁集团向国际关联数据基准委员会(下文简称 LDBC)组织提议设计一个针对金融场景的图数据库测试基准,这一基准命名为 LDBC-FinBench(下文简称FinBench),目前已经在 LDBC 正式立项,预计于2022年底发布内测版本,明年第二季度正式发布正式版本。
LDBC-FinBench 项目组由蚂蚁集团牵头,Intel、海致星图、创邻科技、Ultipa、悦数科技、TigerGraph 等国内外10家图计算领域的科技企业、行业专家参与。和聚焦社交网络场景的LDBC-SNB 测试基准不同,FinBench 模拟了金融场景下真实的数据分布和数据查询,帮助了解被测系统在金融场景下的综合表现,为客户选择和采购图计算产品提供了专业、客观的标准和工具。
LDBC FinBench 工作小组经过大量调研和多轮讨论,参考大量国内外成熟的数据库测试基准设计方法和蚂蚁集团、不同金融机构的大量真实业务场景,于2022年6月对外发布了基准说明(草案)并征求意见,进行迭代和丰富,目前已收到不少来自客户、合作伙伴和开发者的询问。大家普遍关注 FinBench 中的图模型(Schema)以及相关的基于图数据的查询(Workloads)。下文将着重介绍 FinBench 在这些方面的设计。
1. 符合真实金融场景的数据模型设计(Data Schema)
LDBC FinBench 的数据模型旨在反映金融系统中的真实数据。现实系统中常见的金融实体包括账户(Account)、媒介(Medium)、人(Person)、公司(Company)、贷款(Loan)。实体是顶点,边反映金融活动,例如资金从一个账户转移(Transfer)到另一个账户。
(图1,LDBC-FinBench 的数据模型,来源LDBC)
金融场景的数据模型与普通社交网络相比,有一些显著的差别。例如两个账户之间可以存在许多转账记录,在图模型中就显示为两个顶点之间可以存在多条边。而社交网络中的朋友关系,只是单一的边。另外,金融场景中,顶点存在动态的属性来标记实体状态。例如,一个账户根据不同的情况,可以被标记为标黑(blocked)或非标黑;转账的金额差别很大,所以代表转账的边中存在数量的属性等。
需要强调的是 LDBC-FinBench 数据模型的很多边类型上,都增加了一个时间戳(timestamp)的属性,这是金融场景下非常重要的数据。无论转账、存款、贷款、偿还款,甚至用户登录、贷款申请、公司投资和担保的具体时间和先后顺序,都包含着有价值的信息。因为增加了时间戳(timestamp)属性,特定时间频繁操作等情形也可以被有效识别出来。
2. 具备多场景业务数据的复杂查询能力(Workload)
在线的金融系统在进行数据处理和分析中,会进行大量的读操作、写操作和读写混合的操作。考虑了现实业务中的对数据访问的复杂性的差别,FinBench 还把读操作分为了简单读、复杂读。FinBench 说明文档(草案)详细地描述了14种复杂读查询(TCR),8种简单读查询(TSR),14种写查询(TW),5种读写混合查询(TRW)。
从金融领域的业务角度来看,这些查询反应的场景很多,包括资金追踪、集资提款行为识别、资金快进快出识别、转账环识别、账务例行检查、持股相似度分析、股权关联分析、担保环识别等。
下面让我们选取几个典型的查询,做进一步介绍(以下为测试模拟场景,非真实业务)。
2.1 转账环识别(TCR 4)
(图2,转账环识别示意图,来源LDBC)
这条查询可以识别三个账户是否形成一个转账的环路。转账环可以有效识别潜在的洗钱行为。
2.2 资金快进快出识别(TCR 7)
(图3,资金快进快出识别示意图,来源LDBC)
资金频繁的进出一个账户,金额近似,时间近似。风控部门拿到转入和转出的账户的列表,就可以进行下一步的分析和判断。
2.3 通过贷款的异常转账识别(TCR 9)
(图4,通过贷款的异常转账识别示意图,来源LDBC)
这是一种相对隐蔽的异常转账行为,最上面的 up 账户通过 mid 账户向 down 账户转钱。如果直接转,很容易从转入转出的时间和金额上被识别。有些人就会采用先贷出款,然后转账到下家 down,再通过上家 up 转账给 mid,最后 mid 把贷款的钱还上。这种情景下各类交易(边上的时间戳)一定要满足相应的先后顺序(edge2 早于 edge4 早于 edge3 早于edge1)。
转账环识别后,封锁高风险账户(TRW 1)
(图5,转账环识别后,封锁高风险账户示意图)
这是一个读写组合查询。系统接受到一笔转账请求后,先查询账户的标黑(blocked)状态,如果状态正常,并不是马上转账,而是插入转帐边,查看加入新的边后,图中会不会形成转账环。如果形成了转账环,就可以把账号标黑。
这是一个实时发生的场景,可以在转账发生前,就识别出可能的转账风险。比起事后再对进行数据的分析,账户的标黑和损失钱款的追缴,可以有效地保护账户和交易的安全。
小结:
LDBC-FinBench 的数据模型和查询对金融场景做了一定的抽象。基准测试的主要目的是为了更好地衡量图数据库的功能和性能,为采购和研发提供参考。LDBC-FinBench 同时也是一个行业级的基准测试,对于金融行业的用户,在图数据库的应用设计和产品创新等方面也将起到抛砖引玉的作用。
目前 FinBench 工作还在紧锣密鼓的推进中,欢迎感兴趣的组织或个人加入共建。期待大家持续关注 LDBC-FinBench 的动态。