作者丨教授老边
云计算、大数据、高性能存储与计算系统架构专家
1
何需数据库?
互联网和移动互联网络的快速发展带来了数据产生速率的极大增长,每时每刻都有数以十亿量级的设备在生产出巨大体量的数据。
从数据产生的渠道来看,主要分为两类,一类是人类活动生成的数据,诸如我们日常的网页浏览、收集等移动设备的使用;另一类是机器产生的数据,如生产线设备、物联网设备、传感器、无线网络等。
从数据生成的速度来看,据国际数据公司IDC的监测数据显示,2013年,全球大数据库储量为4.3ZB(相当于47.24亿个1TB容量的移动硬盘);2014年是6.6ZB;2015年是8.6ZB;2018年是33.0ZB……预计在 2030 年,将会有超过千亿量级的联网传感设备产生出巨大体量的数据。
图1:2016年至2020年全球每年产生的数据量(单位:ZB,%)
面对每天产生的海量数据,人们怎么能够做到又快又好地找到并调用呢?于是,数据库就是被创造出来帮助人们快速提取数据价值的利器。当然,还有其它类似的概念和工具,诸如数据仓库、数据集市、数据湖泊等,旨在解决我们日常所面对的数据存储、数据转换、数据分析、BI商务智能等一系列工作。
2
数据库的进化路径
现代商业社会对数据库性能方面的要求推动了数据处理基础架构与技术的发展。下图展示了以数据库为中心的数据处理基础架构和技术的进化路径:从关系型数据到大数据,从大数据到快数据,从快数据到深数据 ,从深数据到图数据。
- 1980-2010年间的关系型数据库主导的阶段;
- 2010-2020年间的大数据(NoSQL、数仓、数湖、大数据框架)主导的大数据时代;
- 2020-2030年则可以预见的是图计算(图数据库)的时代。
图2:数据处理基础架构与技术的进化路线
数据库的进化是由商业需求所驱动的,当企业IT信息化已经基本完成后,再向前就是数字化转型与全面智能化(数智化)。
但是,SQL/RDBMS已经是有40年历史的老旧的技术框架了,即便是变身为数仓、数湖、NoSQL、NewSQL还是流批一体化框架,本质上依然是在用二维表的模式在对真实世界的业务场景进行数据建模,依然会在处理海量、动态数据、复杂、深度查询时出现严重的性能问题,依然会受到SQL关系型建模与查询僵化与浅层缺陷的限制。
我们认为智能化时代的核心技术一定是可以进行高维数据建模,处理高维数据关联关系的图数据库(图计算与存储引擎),而低维的SQL类型的数据库注定会逐步消亡。
这一结论从数据库的全球国际标准只有SQL(结构化查询语言)与GQL(图查询语言)两大标准即可看出,前者自1983年至今已经历经40年沧桑,而后者将会在2023年推出首个国际版标准。
举个具体的例子,在银行业中的各种指标计算与归因分析,会涉及全行明细级数据、分行、条线、客群、客户经理、集团、供应链、指标子项、客户账户信息等多个维度的综合计算。
用 SQL 和关系型数据库来计算的复杂度是个天文数字(多表关联会导致“笛卡尔积”现象,计算复杂度指数级增加,进而时耗巨大,导致无法在有限资源与时间内完成计算);而用图计算来建模和实现,是加和而非乘积的关系,计算复杂度指数级降低——与RDBMS相比有着指数级的性能优势。
换言之,用 SQL 来实现,会耗费大量的计算、存储资源,并且效率非常低下,任何复杂一点的指标计量或归因分析都无法完成,但用图计算来实现,可以做到实时,并且耗费较少的硬件资源——更低的 TCO,更高的 ROI,这也是图数据库的颠覆性优势之一——高性能、高性价比(以及灵活性与白盒化)。
图3:关系型数据库(数仓、数湖) 中多表连接导致的笛卡尔积问题
知名信息咨询公司Gartner在2019-2021年间关于数据与分析科技(Data & Analytics Technology Trends)的几份报告中,明确地提出了图分析(Graph Analytics)作为十大核心科技发展趋势之一,且其所代表的细分市场会以年复合增长率100%的速度持续增长,预计到2025年,80%的商务智能、商业决策(BI)的创新会通过图分析与计算(即图数据库系统)来实现。
图4:Garther报告
3
进入”图“时代
很多我们熟知的科技公司,诸如脸书(Facebook)、Google、推特(Twitter)、领英(Linkedln)等国际巨头科技公司,其起家的秘密正是源于图技术,还有一些金融服务公司,例如高盛(Goldman Sachs)、美国银行(Bank of America)、BlackRock(黑石)、贝宝(Paypal)等的核心技术产品正是构建在图计算与图数据库框架之上。
究其根本是因为图的核心竞争力更有利于助力企业进行数组资产管理、数据治理、数据分析,并实现真正意义的数据智能——图技术能以更高效、深度、准确、白盒化的方式揭示出数据的内部关联。
图数据库在传统意义上被归类为NoSQL数据库的一种(尽管这并不准确,如果从数据库标准的维度看,过去40年数据的发展只有2套标准,一套是SQL,另一套是GQL,即图查询语言,仅此一条就可以佐证图数据库会成为未来的主流数据库,而SQL终将消亡。图数据库终将独立成团,这是后话。)
其它的非关系型数据库在广义上还包含例如列数据库、宽表数据库、键值库(因其架构与接口简单,严格意义上并不算完整的数据库)、文档数据库、时序数据库等。NoSQL 数据库一般而言被分为以下几大类,每一类都有其各自的特性:
• 键值(Key-Value) : 性能和简易性
• 宽列(Wide-Column):体量
• 文档(Document):数据多样性
• 时序(Time Series):IOT 数据、时序优先性能
• 图(Graph) : 高维建模 深数据 快数据
图5:NOSQL类数据库存储结构的进化
在众多 NoSQL 类数据库中,最好的用来诠释数据建模灵活性——无模式(Schema-Free 或 Demi-Schema)的例子就是图数据库——除了点和边这两种基础数据结构以外,图数据库不需要任何预先定义的模式或表结构。
这种极度简化的理念恰恰和人类如何思考以及存储信息有着很大的相似性——人们通常并不在脑海中设定二维的、僵化的表结构, 因为人脑是可以通过对实体与关系构建的高维、动态的数据模型中“随机应变”(触类旁通、举一反三、关联、发散、聚合、下钻)的。
图6:关系网络图谱(局部)
上图展示的是一个典型的关系图谱(网络图),其是在一张大图上进行实时路径查询时所动态生成的一张子图。绿色的节点为初始顶点,紫色的节点为终止顶点,两者间有15层(跳)间隔,并有上100条关联路径,每条路径上有不同类型的边连接着相邻的两两的顶点,其中不同类型(属性)的边以不同的色彩来渲染,以表达不同类型的关联关系。
最近 10 几年以来,全球 IT 市场上涌现出了 10 几家图数据库服务商,从传统的、非常学术化的 RDF(资源定义框架)模式图, 到基于原生图理念构建的LPG(标签属性图) 或 PG(属性图) 图数据库,还有那些在传统 SQL 数据库上或 NoSQL 数据库上搭建的各种非原生图。
目前业界图数据库的架构分为三类:
- 第一类是基于传统关系型数据库的图计算,代表产品诸如 Cosmos DB、Oracle PGX等;
- 第二类是基于 Hadoop/Spark 或 NoSQL 存储引擎的图数据库, 代表产品诸如星环、创邻、JanusGraph、Nebula等;
- 第三类则是原生图数据库流派,例如Neo4j、TigerGraph、Ultipa,它们区别于前两类的地方在于计算与存储的原生性(Native Graph)。
从严格意义的图数据库产品性能进化的角度来看,作为前沿科技的图计算、图数据库技术在近十年亦历经了四代演进:
- 第一代是诸如基于非原生图架构的JanusGraph(其存储引擎基于第三方NoSQL构建,性能瓶颈明显,时效性差);
- 第二代的代表玩家是最早的原生图数据库Neo4j(缺点在于基于Java架构,性能瓶颈明显,难以在大规模、复杂、实时性场景中得到推广);
- 第三代是并行图数据库TigerGraph(主要挑战在于使用门槛高,面向数据科学家,二次开发困难,且基于“单边图”理念构建,图建模不灵活);
- 最新一代就是第四代图数据库,代表玩家如Ultipa Graph——具备高密度并发、 融合HTAP MPP架构、建模灵活的实时图数据库了。
图7:图数据库的优势、架构类型以及产品进化
图数据库的发展要解决的并不是数仓、湖仓系统所鼓吹的无限的数据存储,而是要解决复杂查询、深度查询的计算时效性的问题!
因此,高性能的图数据库一定是优先解决算力的问题,即具备高算力,让计算引擎成为一等公民(注:在传统的RDBMS数据库中,计算是附着于存储的二等公民,试想每次查询都需要大量访问硬盘读取数据的查询,效率必然是极低的!)。
图数据库赋能的业务场景也必然和传统数据库、大数据框架有所不同,无论是风控反欺诈、智能营销与推荐,还是实时决策、智能分析(Smart BI/Analytics)、数据治理等场景。