暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

技术洞察ㅣ蚂蚁集团:金融图数据库的标准与实践

沙丘社区 2022-12-22
812


摘要

基准测试通过模拟真实场景对图数据库进行测试,规定了数据特征、操作特性,从而对图数据库在接近真实场景下的功能、性能、稳定性等进行验证。LDBC FinBench由蚂蚁集团主导发起,用于评估金融场景下图数据库的功能和性能表现,例如风控场景、商业分析场景等,完成后将填补全球金融图数据库测试基准的空白。


关键发现

• 图是新型的数据模型,更适合表达事务及其相关互联关系,相较于关系模型,图模型的表达能力更强、更易于人类理解、更易于表达复杂关系查询且不需要在查询期指定查询的数据表;

• FinBench是面向金融场景的图数据库标准评测,预计2023年中正式发布。文档方面输出Specification(规格说明),包括功能验证、性能测试和ACID测试;软件方面输出Benchmark Suite(测试套件),包括DataGen生成测试数据,在Driver里完成测试任务;

TuGraph是蚂蚁集团旗下企业级高性能图数据库,单机版已开源,在LDBC SNB评测榜单排名第一。TuGraph使用多版本B+树实现图存储,无锁操作,保证大部分读操作不受写操作的影响;同时,图的点边到KV的自适应映射,既提升了数据访问的局部性,同时保证写操作的性能。

分享专家:林恒,蚂蚁集团图数据库开源负责人

作者:沙丘社区分析师团队



01
图数据库介绍


图数据库的图是Graph、而非Image。图是新型的数据模型,更适合表达事务及其相关互联关系。例如员工在公司工作这一场景,由关系型数据库表达需要多张表,包括公司信息表、员工信息表、项目信息表、参项关系表、好友关系表等,而由图数据库表达就是点和边。

相较于关系模型,图模型的表达能力更强、更易于人类理解、更易于表达复杂关系查询且不需要在查询期指定查询的数据表,例如查询员工A与E之间的所有关系,关系数据库中的表达会非常复杂,存在不同的关系类型以及表和表之间如何关联的问题,无法用简单逻辑表达,而在图数据库中,只要找到A和E之间所有路径即可,更直观的进行关系展现。

2013年开始,在所有数据库方向中,图数据库的发展一枝独秀,产品数量丰富,国内外技术大厂在纷纷布局。但当前图数据库市场的体量仍然较小,全球数据库市场近700亿美元,图数据库市场仅约5亿美元,尚处于市场起步状态,且呈现如下四个特点:

第一,产品标准化程度低。查询语言不统一,基础特性相差较大;

第二,应用范围比较狭窄。图数据库应用主要集中在金融领域,且只做“使能类”应用;

第三,解决方案提供商少。底层图数据库和业务方之间缺少提供解决方案的供应商;

第四,专业人才稀缺。研发和应用开发人员稀缺,系统研发从业者少。

未来,图数据库的发展将经历三个阶段:

第一阶段,“使能”阶段。将图数据库应用于“非图不可”的场景,例如安全风控、实时反欺诈等,如果不用图处理会非常复杂,当前金融行业正处于这一阶段。

第二阶段,“优化”阶段。将图数据库应用于“用图更好”的场景,这些场景不用图也能解决,但用了图之后管理更加方便、性能更佳,例如数据血缘管理、设备管理、审计等,蚂蚁集团当前处于这一阶段。

第三阶段,“普及”阶段。图数据库成为默认选项,因为“图更好用”。


02
FinBench:金融图数据库基准测试

图数据库选型时存在查询语言、图模型、图关联等标准差异及计算场景、业务场景、业务规模等特性差异,且图库选型的结果往往不完全等价于方案设计。基准测试是选型的最佳工具,通过模拟真实场景对系统进行测试,规定了数据特征、操作特性,从而对系统在接近真实场景下的功能、性能、稳定性进行验证。

LDBC(国际关联数据基准委员会)是图数据库领域权威的基准指南制定者与测试标准发布机构,LDBC测试是当前图数据库领域最权威的基准测试之一。

2022年5月,LDBC全票通过了全球首个金融图数据库测试基准“LDBC Financial Benchmark”(以下简称“FinBench”)的立项。FinBench由蚂蚁集团主导发起,Intel、海致星图等国内外科技公司共同参与编写,用于评估金融场景下图数据库的功能和性能表现,例如风控场景、商业分析场景等,完成后将填补全球金融图数据库测试基准的空白。

FinBench的产出物分为文档和软件两个方面。文档方面输出Specification(规格说明),包括功能验证、性能测试和ACID测试;软件方面输出Benchmark Suite(测试套件),包括DataGen生成测试数据,导入到系统中,在Driver里完成功能验证、性能测试和ACID测试三项测试任务。

数据模型的实际思路是用点代表金融实体,边代表金融活动、行为,覆盖风控场景和商业分析场景。风控场景是金融领域重要的应用场景,包括反欺诈、反洗钱、反盗刷、反侵入等;商业分析场景是另一个重要场景,包括股权分析、用户画像等。

FinBench中设计了四类Query,包括14个复杂读查询、8个简单读查询、14个写查询和5个读-写查询。

其中,读-写查询是金融场景较为独特的查询方式,用于简化风控链路。读查询包括账户属性查询、三度转账环计策等,写查询包括写入转账边、账户标黑等。由读查询和写查询复合在一起的读-写查询是更加复杂的场景,例如先读查询判断账户是否被标黑,如果账户未被标黑则写查询加一笔转账交易,然后读查询进行转账环检测,如果检测到环,则说明交易可能存在洗钱行为,拒绝该笔交易,如果未检测到,说明是合法交易,则执行写查询阻塞相关账户。一个复杂行为就是一个transaction,对图数据库提出能力要求。

大部分金融交易具有时间属性,查询仅关注近期一段时间的数据,对图数据库提出时间窗口的要求,FinBench设计查询被一个时间窗口所限制。

金融场景有一些常见的子图特征,例如转账环、树状的资金流向、担保链等。

FinBench计划2022年底发布内测版本,预计2023年年中发布第一个提供给第三方测试的版本。

03
TuGraph:蚂蚁企业级开源图数据库

TuGraph开源版本是一个易用、先进、完备的单机版高性能图数据库,于2022年9月开源。

在系统架构方面,TuGraph是一个较为完备的数据库,操作系统可以是常见的CentOS、SUSE,也可以是麒麟等国产数据库,CPU方面支持X86、ARM等,也支持国产鲲鹏、海光等。在KV层之上做图存储层,提供图的语义。图查询语言使用Cypher(类似于GQL),也提供C++/Python的Procedure API,实现精细控制。客户端提供Java(OGM)、Python、C++以及可视化交互页面。

用户可以在可视化操作平台上实现图的基本功能,包括图分析、图建模、运维等。

在图中有很多scan操作,读取一个点所有的边和属性,如果做的太离散,会导致随机跳转太多,影响性能。TuGraph使用多版本B+树实现图存储,无锁操作,大部分读操作不受写操作的影响,B+树的问题是写操作稍微慢一些,对此,TuGraph通过切分的方式保证性能。图的点边到KV的映射是自适应的,所有属性和点放在一个value中,通过自适应映射保证数据不会变得特别长。

分析有复杂分析和简单分析,对于简单图分析,例如两点之间最短路、Jacord等,直接用图存储,用动态分析框架做;对于复杂分析,例如PageRank、Louvain等,重新起一份数据,尽量数据压缩,加速复杂分析。

TuGraph已在阿里云上提供免费试用服务,让初步接触的使用者减少部署开销;2023年6月,将推出ISO GQL,提供语言表达能力的测试用例集。同时,TuGraph也将在查询方面进一步实现优化升级,包括Cypher的性能优化,图分析引擎的易用性、图神经网络引擎的集成等。



关于我们

沙丘社区是一家数字化研究与知识服务机构,为客户提供客观、可执行的数字化研究与市场洞察,致力于帮企业做更好的技术决策。

沙丘社区长期聚焦于数字化市场,并提供研究报告、会议活动与定制化咨询服务,协助企业业务部门、IT部门解决数字化市场研究与产品选型需求,平台注册用户与粉丝量已超10万+,覆盖超80%的财富中国500强企业、5000+企业CXO与部门负责人。

文章转载自沙丘社区,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论