图数据分析为什么被 Gartner 列入数据分析十大趋势?图分析市场现状及应用中存在着哪些问题?企业级图分析平台应该应该包含的特性及其架构定位是什么?针对以上问题,TigerGraph 图分析平台基于自身视角,为企业管理者、数据科学家和对图数据库感兴趣的架构师、开发者解答疑问,分享和介绍图技术部署及实战落地的经验。
本文整理自 3 月 12 日由 TigerGraph 联合 InfoQ 策划的在线公开课,TigerGraph 高级解决方案工程师李憓松的在线课程演讲——《基于关联数据的深度分析 -TigerGraph 部署及实战解析》
基于关联数据的深度分析 -TigerGraph 部署及实战解析
Gartner 在 2019 年发布了《数据与分析领域的十大战略技术趋势》报告,图数据分析也位列其中,同样 Gartner 也预测从 2019 年到 2022 年图市场将以每年 100% 的速度增长,在未来三到五年将给数据分析产业带来巨大的颠覆。
在上图中我们可以看到上榜的技术还有可解释型 AI、持久化内存、增强型分析、自然语言处理等,他们都与图技术有着紧密的联系。图不仅可以用来描述知识或业务逻辑,并且在训练 AI 方面,无论是监督学习还是非监督学习,其结果都具有可解释性。这些都得益于图丰富的语义表达可以进行自然语言的描述。
另一项技术趋势是持久化内存,它对于图来说是一个基础。图计算和图存储具有非常强的随机性,一个顶点和另一顶点是否有联系,分布式存储的位置是非常随机的,使用内存是一个非常理想的选择,但内存在掉电后具有数据的易失性,而持久化内存就可以解决这一问题。而增强型分析其核心是一个知识推理引擎,自然语言处理后的结果也可以灌入到图数据库中进行进一步的推断分析,这就是这几个技术趋势之间的相互关联性。
图分析这么火热备和受推崇,那么它在数据分析中的定位是什么?上图中的下半部分是我们熟悉的四种数据库类型,分别是键值型、文档型、关系型和图数据库,从左到右呈现一种联系越来越丰富、复杂度越来越高的趋势。在往上一层可以看到左面是传统的 BI,右面是高级分析技术,高级分析技术相较于传统的 BI 来讲,它更着眼于基于现在面向未来的一些数据分析,所以我们可以看到,他是在进行数据的建模,数据的模拟对其进行优化和预判。图作为这些分析领域和数据建模非常理想的基础技术,来支持实现高级分析这一最终目标。
目前,金融服务、医疗保健、制药、电信等行业都正在积极拥抱图分析技术。然而企业在选择图分析平台和项目要落地时碰到了很多技术上的障碍,主要表现在四个方面:第一、基础设施与数据准备不完善,数据尚未达到一定的成熟程度。第二、业务的梳理与探索不全面,无法从图技术角度理解业务或利用深度关联分析的价值。第三、对于工具的选择与使用不够了解。第四、落地经验与图技术人才稀缺。
在这些障碍中,需要着重考量的是工具的选择和使用。工具选择作为项目落地全周期的关键因素,从最开始的技术选型到业务探索调研、部署开发,到最后上线效果,都与工具息息相关。针对企业实际应用出现的痛点,图分析平台 TigerGraph 总结了在企业进行工具选择时,需要注意的四点问题:
部署管理:图分析平台或者是图数据库是否有备份和恢复功能,安全性是否完备,出现问题是否有日志监控和警报,发生异常能否对问题回溯研究。
性能:性能是否能够支撑真正的图分析场景,真正的图分析在深度、广度和实时性上,都应由复杂程度深度很深的融合多元数据组成,这样的图分析才是真正有价值和意义的。
用户体验与集成:是否拥有友好的图探索功能,能不能和机器学习联动。
企业级功能与平台稳定性:是否具有高可用和数据访问控制。
一键式脚本安装:无论使用者是安装单机、集群还是想要使用可高用功能,执行脚本在 20 到 40 分钟即可安装部署在使用者的服务器上,无需额外的软件依赖,同样适用于软件升级。
无需为分布式及高可用部署苦恼,在安装过程中填写分片配置和高可用配置即可获得分布式存储与计算,高可用等功能。
简单易用的系统管理操作,在集群中任何一台服务器上执行 G Admin 指令就可以针对整个集群进行启动、关闭,重新查看组件运行状态等。比如开启整个服务只需要执行 G Admin Start 整个集群就开启了,关闭个别的组件比方说想把外部 UI 关掉,那么就执行 G Admin Stop 就可以把 Graph Studio 关闭。
降低项目整体成本,TigerGraph 出色的存储压缩比在同样的性能要求下,只需求更少的硬件资源,可以尽量去榨干机器提供的硬件性能,对于项目的整体成本来讲是可以保障的。
面对批量导入,TigerGraph 每台服务器(服务器的规模在 128G 内存,24 核 CPU)每小时可以加载 100GB 到 200GB 数据且支持并行加载,来保证系统今日的产生的交易数据,不用再等到 T+1 日就可以完成导入。
第二点,在实时加载方面每台机器可以每秒来更新几千个点和边,保证每天更新数亿个点边,来支持实时加载的任务。
TigerGraph 具有更广的实时分析,每台服务器每秒遍历数达千万级个点 / 边,在亚秒时间里执行 10 多步查询不浪费数据的时效性。由于因为每一个数据集的情况不一样。深度只代表复杂性,深度可能不会有太多的点被关联。所以我们使用 QPS 这样一个数值,来让大家有一个直观的印象,在保持确定深度的同时满足存储图算法和复杂业务产生的需求。
强劲的并发能力,在多用户场景每台服务器对于验证查询,可以达到 4000 左右的 QPS 单击。
TiegerGraph 自研了 GSQL 图查询的语言,它可以灵活便捷的来为使用者描述,提供高性能的计算。GSQL 的学习成本非常低,因为是类 SQL 的语法,这便于超百万的 SQL 开发者上手使用,不用担心如何实现并行计算,其内置高性能并行。
如果企业的业务非常复杂,也无需担心业务查询构建的问题。GSQL 可以构建更完善的业务查询,参数化查询非常灵活,具有常规控制流(FOR,WHILE,IF / ELSE)因为 GSQL 都是图灵完备的,业务流程和图算法都可以使用 GSQL 实践。
GSQL 已在 GitHub 上开源使用者可在上面对 GSQL 进行学习,并且可以修改算法或是进行算法的变种。
除了开发人员,TigerGraph 希望数据科学家、企业用户都可以自己用起来图工具,进行数据探索。因为图技术其实还是门槛不低,Graph Studio 可视化工具对于非技术人员特别友好,可以直接在上面进行图结构的构建,进行图探索,作为系统运维人员,可以通过这个 Graph Studio 可视化的工具来查看系统状态。
TigerGraph 在企业级功能可以支撑住企业级的数据量和保证平台稳定性:
稳定且高性能的大规模集群支持企业级数据量
方便的性能调优配置,根据硬件资源因地制宜
HTAP 事务和分析系统一体
保证企业级的稳定性和可控性:
在线备份和离线恢复功能,高可用功能,为灾备提供支撑
Admin Portal 提供系统的运行监控与预警
完整的日志内容和灵活的日志等级
保证企业级敏感性与安全性:
用户权限控制和多图功能,静态存储加密和传输过程加密提高安全性
支持 LDAP / Active Directory 等企业级一键登录工具
面向企业级灵活性与多样性:
系统滚动升级和扩容功能,灵活支持业务扩展
多图功能支持一个实例下构建多个业务场景
A:这个优势有很多方面,比方说在查询性能方面,我们有 BechMark 作为性能比较是优于 Neo4j 的。在集群的可扩展性上 TigerGraph 目前是图分片技术,而 Neo4j 既使是企业版目前也只支持单机。在括查询语言来说 GSQL 是图灵完备的,Cypher 并不是有很多查询是很难完成。可视化界面,Neo4j 目前也是只能做图的扩展。而 Graph Studio 可以进行图的完整的工作流程等等。
A:其实 TigerGraph 对于超点本身在引擎上没有做特别多的定制化,但是对于超点的定义我们也不是十万这个层级,可能百万以上会考虑去处理一下。有几个方面可以进行处理,一个方面就是说我们在定义 Schema 的时候,对本身可能会产生超检的这些情况,进行一些层级分级。第二个,在查询的时候,对于超点来讲其实他是缺少业务实际价值了,如果你的遍历经常会遇到超点,它绝大部分的图都会关联上。那么其实业务价值并没有那么多,我们在查询里也是可以通过外部这样的一个判断,来过滤掉这些超点。
A:我们关于知识图谱这样点边比较少、深度不深这样的查询,一般能达到 30 到 50 毫秒这样的一个速率,正常的情况下单台服务器可以达到 3000 到 4000 QPS 这样的一个程度,所以 TigerGraph 来做知识图谱引擎或者是对接人工智能模型进行直接交互还是比较适合的。
点个在看少个 bug👇