图数据库、图计算、图中台都是用图论的方式去构造实体间关联的网络。其中,实体用顶点来表达,而实体间的关系用边来表达。图数据库的这种简洁、自由、高维、100%还原世界的数据建模的方式让实体间的关联关系的计算比基于二维表和 SQL 查询模式的关系型数据库高效成千上万倍。
新的业务场景和市场对于数据间的关联分析、深度下钻、科学计量、多维度分析与数据价值抽取有着刚性的需求——这些刚需需要基于实时图计算的技术、产品和方案来满足。
近二十年以来,全球 IT 市场上涌现出了十多家图数据库服务商,从传统的非常学术化的 RDF(资源定义框架)模式图到更新锐的 LPG(标签属性图)或属性图,还有那些在传统的 SQL 数据库或 NoSQL 数据库上搭建的各种多模(非原生图)数据库解决方案,例如 Oracle PGX Graph、HBase+JanusGraph 等方案。
大多数图解决方案,在进行类似于表连接的操作时或许可以获得比传统的关系型数据库(例如 Oracle 或 Mysql)高出指数级(例如 5—1000 倍)的性能提升,但是它们在面对深度的搜索、关联、计算或高并发、实时决策场景时任然会遇到巨大的挑战(换言之,在深度数据挖掘与计算场景中,要比关系型数据库、数仓有百万倍以上的计算性能提升才有可能做到实时性)。
作为前沿科技的图计算技术在近十年已历经四代演进,第一代例如 JanusGraph,第二代例如 Neo4j、第三代例如 TigerGraph,第四代例如嬴图——尤其在金融级环境中的应用,无论是性能、功能亦或是用户体验均得到指数级的增强和突破。
带着这些问题,我们先来明确一些概念,厘清这些概念对于去伪存真意义重大。无论是数据库、数据仓库、数据湖泊还是数据中台、计算引擎,性能一定是第一公民,性能低下的系统没有可能作为业务支撑系统长期存在,然而,在以关系型数据库为主体的数据库市场中,存储引擎才是一等公民,计算只是二等公民(如果读者对于那些随处可见的效率低下、灵活性差、可解释性差、开发周期漫长的 SQL 存储过程心有余悸的话)—— 在越来越多的业务场景中,围绕着 SQL 理念而构建的系统变成了阻碍业务前进的最大障碍!这也是为什么 SQL 或关系型数据库、数仓、数湖终将会消亡的底层逻辑。
我们知道,所有真正意义上的高性能系统(HPC/S 即高性能计算与存储)的共通之处必有以下三条:
- 计算:高并发计算的能力(HPC)
- 存储:内存与外存的综合优化利用(HPS)
- 网络:高吞吐、低延迟系统(HPN)
它们有着重要性主次先后的顺序,计算能力解决后再解决存储的问题,最后再解决网络的问题。当然,计算、存储与网络也是云计算的三要素,它们各自都可能会对应着业务需求中的某些逻辑。但是,没有任何一个高性能的数据库级别的系统可以在不充分释放算力的条件下实现高性能!任何一个鼓吹分布式但是在任一实例上不能做到充分并发的图数据库系统都是浪费资源且无法创造真正、可持续的商业价值!
嬴图创新性的发明,并在最严苛的金融级商用场景(高并发、低延迟)中成功的使用了如下技术:
- High-Density Parallel Graph Computing(高密度并发图计算)
- LinearScalable Graph Computing(线性可扩展图计算能力)
- Ultra-Deep Graph Traversal(超深度图遍历能力)
- Dynamic Graph Pruning(动态图剪枝)
这些新技术的运用为企业所带来的直接收益就是:
- TCO 的有效降低(达 70%)
- 实施交付速度的大幅提升(交付周期缩短达 80%)
- 优质的用户体验(整个系统的易用性、可用性、稳定性)
对于图数据库系统而言,嬴图创新性地使用了高密度并发图计算基础架构、高并发、低延迟、支持递归查询数据结构,并对全部图上的操作、查询、计算和图算法进行了并行化改造,相比原生的串行化的图算法,实现了指数级的性能提升这与优化和互联网企业所构建的常见的 Web 中心式的分布式系统非常不同,Web 是无状态的,但是图的计算是有状态的,图计算更多的是“长链交易”的查询与计算,这个与互联网常见的“秒杀”系统背后的“短链交易”的查询与计算的设计与实现有很大的差异。
低效的、错误的分布式系统设计会有如下特征:
- 系统的整体性能因水平分布的实例间的通信量指数级上升而导致性能的指数级下降,甚至(集群)完全不可用;
- 集群的并发规模具象到单个实例的并发规模很低,或者说计算密度太低而导致的底层硬件资源的大幅浪费。
以上两点,恰恰就是嬴图极力规避并解决的核心问题!
- Shared-Nothing 架构,任意集群节点(实例)的下线不会造成整个集群无法工作;
- HTAP 架构,在一个水平分布式集群内融合了 OLTP+OLAP 的数据(业务)处理能力;
- 充分的对底层硬件,例如 X86 CPU 的高密度并发算力的释放,同时支持 ARM 架构。
- 面向图的整体性而设计的线性可扩展的系统架构;
- 在图上实现的深度搜索的能力;
- 动态剪枝的能力:在图上计算的时候,例如深度图遍历不会导致性能下降,甚至可以实现性能提升——例如通过动态的图上剪枝来实现指数级的性能提升;
- CAP 集群实现:保证集群的可用性、分区与数据一致性(最终一致性)。
嬴图HTAP Cluster - 集群架构示意图
数据批量导入、动态更新、点、边查询、过滤查询、路径查询、模板查询、K邻查询、实时图算法、全图算法、图嵌入(图神经网络计算)…… 嬴图完成了全维度、一系列的性能指标测试与压力测试,尤其在对时效性、安全性、海量数据处理能力等要求更高的金融级商业场景应用中,嬴图以稳定性、易用性、可集成性、功能性的多方性能优势领先于其他同类产品性能(评测结果对比如下图所示)。