1. 背景
GraphStudio是DataWorks团队和GraphCompute(原MaxGraph)团队合作推出的一站式图计算研发平台。基于GraphCompute图计算引擎和DataWorks飞天大数据平台,我们致力于帮助用户以简单易用的方式完成图模型构建、数据导入、算法探索、算法结果应用等一系列工作。
1.1 GraphCompute
从DB-Engine 2019年发布的各类数据库发展趋势图上可以看出,最上方绿色的这条Graph DBMS代表图数据库。自2013年以来,图数据库的发展速度一骑绝尘,图存储、图计算相关技术产品不断涌现。
图计算究竟能帮助我们解决哪些问题?
- 社交关系:在社交应用中,可以通过构建人与人的社交关系,分析特定用户的多度好友、关注度、转发量等。
- 金融风控:人员和事件构成一张庞大的关系网络,通过关联分析可以快速识别异常,及时避免风险。例如识别电商领域的刷单行为,金融领域的洗钱、骗保等。
- 网络安全防控:把IP、域名、主机的一系列实体构建成图,借助图的互联互通,找出网络环境中的不安全因素。比如木马病毒经常控制若干域名进行恶意通讯,在已经发现不安全域名时,通过域名和服务器IP的关联关系,快速找出新的有问题的域名。
在这样的背景下GraphCompute应运而生,从基于MaxCompute的bigGraph,到具备独立部署能力的MaxGraph,再到完成品牌升级、与大数据平台进一步融合的GraphCompute。GraphCompute发展逐渐成熟,具有弹性扩展高可用性、高性能低延时、查询分析双引擎、与大数据生态深度集成等优势。
1.2 DataWorks
DataWorks是集数据治理、数据开发、任务调度、元数据管理、数据集成为一体的全域智能大数据平台。从支持MaxCompute单引擎,已逐步发展为跨存储+跨引擎+跨云+跨region的、有数据综合治理和AI加持的飞天大数据平台。
1.3 GraphStudio
GraphStudio搭建了GraphCompute和DataWorks融合的桥梁。GraphStudio是DataWorks智能数据开发中的一员,为GraphCompute的开发者提供图实例建模、数据查询、实例运维等图计算开发分析服务。并依托DataWorks中的数据集成和任务调度,支持GraphCompute数据导入;依托数据综合治理,提供图查询结果的数据分析。
在2019年5月份完成GraphStudio v0.1弹内发布后,我们已经逐步完成了已有图实例的使用迁移、GraphStudio v1.0的弹内发布、GraphCompute与GraphStudio的公有云首发,同时GraphCompute与GraphStudio将在专有云企业版3.9版本输出。本文将为大家介绍最新版本GraphStudio的主要功能,以及我们的后续产品规划。
2. 核心能力
GraphStudio提供一站式的图计算开发能力,包括:实例创建、模型设计、数据导入、数据导入运维、实时查询、实例管理。
- 实例创建:创建GraphCompute实例并与DataWorks项目空间绑定,在公有云上支持将用户VPC与图实例打通。
- 模型设计:定义Graph实例中的点和边,以表格或可视化的方式完成查看、新建、编辑、删除等操作,可视化方式帮助用户非常直观的理解整个模型。
- 数据导入:基于DataWorks的数据集成功能,支持从ODPS导入数据到GraphCompute,可单次执行、可定时调度。
- 数据导入运维:基于DataWorks的运维中心,支持以实例粒度或类型粒度查询数据导入任务运行状态。
- 实时查询:基于实时查询服务,支持Gremlin语句的查询,支持查询结果的表格式和可视化展示,以及丰富的可视化交互操作。
3. 功能详解
3.1 实例创建
在公有云,用户可从阿里云官网购买GraphCompute实例,并在DataWorks管控台绑定项目空间使用。
3.2 模型设计
我们支持两种建模方式,表格模式和可视化模式。
表格模式
- 支持表格式查看、新增、编辑、删除模型中的点和边。
- 点和边的定义包括:属性,关系(源点、目标点),显示属性(颜色、大小、显示内容)。显示属性的设置会生效到可视化建模以及实时查询的可视化结果中。
可视化模式
- 支持通过可视化的圆形和连线查看已有模型。
- 支持通过拖拽圆形、拖拽连线来触发点、边的新建,通过在图形界面左右键点击触发编辑和删除操作。
可视化建模的优势在于:
- 用户可以非常直观的查看当前整个图的模型设计,洞察点和边之间的关联关系。
- 用户可以快速的通过拖拽方式触发点、边的新建。
3.3 数据导入
在完成实例建模后,可以在建模页面通过“数据导入”跳转到DataStudio,设置数据导入任务。
- 支持自动生成数据导入任务:对于每个点或者边下的关联,我们会自动创建对应的数据导入节点,并同步好数据去向信息。
- 人工配置:用户补充数据来源,建立数据来源到数据去向的字段映射即可。目前我们支持从ODPS数据源导入到GraphCompute数据源,后续我们会支持更多的数据来源类型。
- 支持单次调度、周期调度:数据导入任务可以单次补数据执行,也可以设置为周期定时调度,这部分和DataWorks其他调度任务一致。
3.4 数据导入运维
在GraphStudio的运维tab中我们支持图实例导入任务实例的查询,方便用户快速查看某一个实例下全部点和边的数据导入实例运行状态,并可跳转DataWorks运维中心查看运行详情,解决了在DataWorks的运维中心中无法以图实例粒度或类型粒度进行查询的问题。
3.5 实时查询
gremlin查询
在数据查询文件中,用户可编写并运行单条gremlin语句,系统将同步执行查询,查询结果将以可视化和表格化两种形式展现。
- 支持可视化查询结果:以圆形和线表示查询得到的点和关联,并提供了丰富的交互操作 1) 查看点/边详细信息;2)设定点/边的显示属性、颜色、大小;3)调节可视化面板。
- 支持表格化查询结果:以表格形式展现查询结果,尤其适用于非点和边的查询结果,并支持 1)文本搜索;2) 在线数据分析。
扩展
在可视化查询结果中,可以执行扩展指定边或扩展全部操作,以指定点为起点查询对应类型的边和终点。扩展操作非常适用于从指定点出发的探索场景。
4. 展望
以上是GraphStudio现有版本的功能,未来我们会在以下方面重点发展。
- 提升模型设计易用性,帮助用户简化已有关系型数据到图数据的建模和ETL过程。
- 与GraphCompute同步升级算法能力,支持内置算法的使用,支持自定义算法的开发、发布。
- 与DataWorks各部分能力进一步深度集成
- 数据导入:支持除ODPS外的数据源类型,如MySQL、OSS等。
- 数据服务:支持定义GraphCompute查询语句并生成API,用于报表分析等场景。
- AppStudio:支持Graph SDK嵌入、图可视化组件嵌入,快速搭建基于图计算的应用。
期望为图计算用户提供更简单、更完备的图计算开发分析运维平台。