1、蚂蚁金融场景下图表融合分析语言实践演讲人:彭志伟蚂蚁集团技术专家2023 图语言及应用GeaFlow DSL性能优化未来规划图语言及应用图模型图模型以图结构描述实体关系点表达实体边表达关系属性图点边带属性人人人好友转账家庭图模型优势更好的描述能力复杂关系建模更强表达能力复杂关系查询复杂图算法更好的性能数据结构优势Traversal VS Join图查询语言GremlinApache开源业界使用广泛写法上偏函数式ISO/GQLISO制定中的图查询标准语言吸收主流图语言优点更接近SQL的语法GremlinCypherGSQLISO/GQLPGQLGraph Pattern Match为核心直观表达
2、复杂关系支持循环嵌套以及分支选择支持图算法表达主要语言主要特点Match(a:person where id=1)e:knows-(b:person)g.V(1).as(a).outE(knows).as(e).inV(knows).as(b)缺乏统一标准GeaFlow图语言主要应用场景社交网络多度关系查询,比如二度好友数量,好友之间最短路径协同推荐根据用户兴趣、好友等进行同类产品推荐相似度算法推荐金融风控用户行为检测、异常群体发现等知识图谱关系挖掘、查找共同根节点、最短路径分析等等应用形态图离线仿真实时图计算图OLAP分析对大量历史数据做图特征计算,验证模型的正确性,帮助快速上线图特征模型图
3、特征是基于图模型计算的业务特征,可以挖掘多度关系,对于风控安全等场景具有重要的价值.全量图G实时数据G+G计算GLoad GUpdate G结果表output数据源实时构图OLAP提供分析服务获取多度关系查询GeaFlow提供一套图表融合DSL支持以上计算形态GeaFlow DSLGeaFlow介绍蚂蚁自研实时图计算引擎广泛应用于蚂蚁金融风控知识图谱等业务场景简介特点与功能图的大数据计算引擎(VS 图数据库)分布式流图计算能力(VS Spark GraphX/GraphBolt)流批一体能力图OLAP分析初代流图引擎20162018多计算形态图计算引擎云原生图计算引擎2018 20202020
4、至今发展历程GeaFlow架构Graph State(GeaFlow State)Unified Graph Engine(GeaFlow Runtime)GraphView API(GeaFlow API)SQL Plus(GeaFlow DSL)GeaFlow LibraryCloud(k8s)GeaFlow ConsoleWhy图表融合DSL业务场景需要 异构数据源构图数据源GeaFlowState构图将异构数据源的数据转换成图模型的过程称为构图数据源包括Kafka、Hive、HDFS等数据需要ETL等表处理将表数据转换成图数据 实时图场景需要实时数据表触发图计算图计算结果需回流到输出表
5、业务场景上普通存在图表融合处理的需求Why图表融合DSLDSL完备性需要图的构建需要表处理图语言处理结果需要进一步做表运算处理图处理不能脱离表处理单独存在,图表处理是一个整体DSL需要具备一体化的图表描述能力输入表输入表图图分析表处理输出表图表一体处理流程图表融合DSL设计SQL+GQL构图语句SQL+Gremlin图表融合DSL设计图表融合逻辑执行计划LogicalFilterLogicalTableScanLogicalProjectLogicalAggerateLogicalJoinLogicalGraphScanLogicalGraphMatchLogicalPathModifyLog
6、icalConstructGraphGraphPathTable图表融合DSL设计图表融合物理执行计划TSFILIteratorOperatorSink图表统一的物理执行计划统一资源调度流批一体执行模式window图表融合DSL能力流批一体执行能力支持SQL+GQL/SQL+Gremlin支持标准SQL语法GQL/Gremlin能力扩展支持LDBC BI/Short查询多种外部数据源支持(可自定义扩展)内置丰富图算法库自定义UDF能力优势一套DSL解决图表分析问题降低用户使用图计算门槛图表融合DSL应用实时反套现系