1为什么需要数据库?互联网和移动互联网的快速发展带来了数据产生速率的巨大提升,数十亿台设备每时每刻都在产生海量的数据。从数据产生渠道来看,主要分为两类,一类是人类活动产生的数据,比如我们日常的网页浏览、收集等移动设备的使用;另一种是机器产生的数据,如生产线设备、物联网设备、传感器、无线网络等。从数据生成速度来看,根据国际数据公司IDC的监测数据,2013年全球大型数据库储量为4.3ZB(相当于47.24亿个容量为1TB的移动硬盘);2014年为6.6ZB;2015年为8.6ZB;2018年33.0ZB...预计到2030年,将有超过1000亿个连接的传感器设备产生海量数据。图1:2016-2020年全球每年产生的数据量(单位:ZB,%)面对每天产生的海量数据,人们如何才能又快又好地找到并调用?因此,数据库是为帮助人们快速提取数据价值而产生的利器。当然,还有其他类似的概念和工具,如数据仓库、数据集市、数据湖等,旨在解决我们面临的数据存储、数据转换、数据分析、BI商业智能等一系列任务每天。2数据库的演进路径现代商业社会对数据库性能的要求促进了数据处理基础设施和技术的发展。下图展示了以数据库为中心的数据处理基础设施和技术的演进路径:从关系数据到大数据,从大数据到快数据,从快数据到深度数据,从深度数据到图数据。1980-2010年关系型数据库主导的阶段;2010-2020年大数据(NoSQL、数据仓库、数据湖、大数据框架)主导的大数据时代;可以预见2020年到2030年图计算(图数据库)时代。图2:数据处理基础设施和技术的演进路线数据库的演进是由业务需求驱动的。当企业的IT信息化基本完成后,下一步就是数字化转型和综合智能化(数字智能)。然而,SQL/RDBMS是一个已有40年历史的老技术框架。即使改造成数据仓库、数据湖、NoSQL、NewSQL或者流批集成框架,本质上还是使用二维表模型,在现实业务场景的数据建模中,严重的性能问题会在处理海量、动态数据、复杂、深入的查询时仍然会出现,仍然会受限于SQL关系建模和查询的刚性和浅层缺陷。我们认为,智能时代的核心技术一定是能够对高维数据进行建模、处理高维数据关联的图数据库(图计算和存储引擎),而低维的SQL类数据库注定会逐渐消亡。从全球数据库的国际标准只有SQL(StructuredQueryLanguage)和GQL(GraphQueryLanguage)就可以看出这个结论。推出该标准的第一个国际版本。举个具体的例子,银行业各项指标的计算和归因分析,会涉及到全行、分行、条线、客户群体、客户经理、群体、供应链、指标分项、客户等的详细数据。帐户。信息等多个维度的综合计算。使用SQL和关系型数据库的计算复杂度是天文数字(多表关联会导致“笛卡尔积”现象,计算复杂度呈指数增长,导致巨大的时间消耗,导致无法在有限的资源内完成计算和时间);而使用图计算来建模和实现是求和关系而非乘积关系,计算复杂度呈指数级降低——与RDBMS相比,具有指数级的性能优势。也就是说,用SQL实现会消耗大量的计算和存储资源,效率很低。任何复杂的指标衡量或归因分析都无法完成,但用图计算实现可以实时完成,消耗更少的硬件资源——更低的TCO,更高的ROI,这也是图数据库的颠覆性优势之一——高性能,性价比高(以及灵活性和白盒)。图3:关系型数据库(数据仓库、数据湖)多表连接导致的笛卡尔积问题知名信息咨询公司Gartner在2019-2021年Data&AnalyticsTechnologyTrends的几份报告中,明确提出了Graph分析作为十大核心技术发展趋势之一,其所代表的细分市场将继续以100%的复合年增长率增长。预计到2025年,80%的商业智能和商业决策(BI)创新将通过图分析计算(即图数据库系统)实现。图4:GartherReport3进入“图谱”时代许多知名科技公司,如脸书(Facebook)、谷歌、推特(Twitter)、领英(Linkedln)等国际巨头科技公司,其出身的秘密在于源于图技术,一些金融服务公司,如高盛、美国银行、贝莱德、贝宝等,其核心技术产品都建立在图计算之上,图在数据库框架之上。根本原因在于,图的核心竞争力更有利于协助企业进行阵列资产管理、数据治理和数据分析,实现真正的数据智能——图技术可以更高效、更深入、更准确、更高效。white-box方法揭示了数据的内部关系。图数据库传统上被归类为NoSQL数据库的一类(虽然这并不准确,如果从数据库标准来看,过去40年数据发展的标准只有两套,一套是SQL,一套是SQL)是GQL,即图查询语言,仅此一点就可以证明图数据库会成为未来的主流数据库,SQL终将消亡,图数据库最终会形成独立的群体,这是后话。)其他非-广义的关系型数据库还包括列型数据库、宽表型数据库、key-value型数据库(由于结构和接口简单,不是严格意义上的完整数据库)、文档型数据库、时序型数据库。NoSQL数据库一般分为以下几类,各有特点:?Key-Value:性能和简洁?Wide-Column:体积?文档(Document):数据多样性TimeSeries:IOT??数据,时间序列优先性能Graph:高维建模+深度数据+快数据图5:NOSQL数据库存储结构的演进在众多NoSQL数据库中,数据建模灵活性——无模式(Schema-FreeorDemi-Schema)的最好例子是图数据库——在除了节点和边这两种基本数据结构外,图数据库不需要任何预定义的模式或表结构。这种极度简化的概念与人类思考和存储信息的方式非常相似——人们通常不会在脑海中建立一个二维的、僵化的表结构,因为人脑可以在高维、动态的空间中构建实体和关系。“自适应”的数据模型(通过类比、推理、关联、发散、聚合、向下钻取)。图6:关系网络图(部分)上图是一个典型的关系图(网络图),它是在对大图进行实时路径查询时动态生成的子图。绿色节点是初始顶点,紫色节点是终端顶点。两者之间有15层(跳),并且有超过100条关联路径。每条路径都有不同类型的边连接相邻对。顶点,其中不同类型(属性)的边被渲染成不同的颜色来表达不同类型的关联。过去10年,全球IT市场涌现了10多家图数据库服务商,从传统的、非常学术的RDF(ResourceDefinitionFramework)模式图,到构建在原生图基础上的LPG(LabelAttributeGraph)概念。)或PG(propertygraph)图数据库,以及建立在传统SQL数据库或NoSQL数据库上的各种非原生图。目前业界图数据库的架构分为三类:第一类是基于传统关系型数据库的图计算,代表产品如CosmosDB、OraclePGX等;第二类是基于Hadoop/Spark或NoSQL存储引擎的图数据库。代表产品有StarRing、创林、JanusGraph、Nebula等;第三类是原生图数据库流派,如Neo4j、TigerGraph、Ultipa,区别于前两类的是计算和存储的原生性(NativeGraph)。从严格意义上的图数据库产品性能演进来看,图计算和图数据库技术作为前沿技术,在过去十年经历了四代演进:第一代是基于非原生图的JanusGraph架构(其存储引擎基于第三方NoSQL构建,性能瓶颈明显,时效性差);第二代代表选手是最早的原生图数据库Neo4j(缺点是基于Java架构,性能瓶颈明显,难以在大规模、复杂、实时场景下使用.已普及);第三代是并行图数据库TigerGraph(主要挑战在于使用门槛高,面向数据科学家,二次开发困难,基于“单边图”的概念,图建模不灵活);最新一代是第一代,第四代图数据库代表玩家如UltipaGraph——高密度并发、集成HTAP+MPP架构、灵活建模的实时图数据库。图7:图数据库的优势、架构类型和产品演进。图数据库的发展不是为了解决数据仓库和湖仓系统所提倡的无限数据存储,而是为了解决复杂查询和深度查询的计算时效性问题!因此,一个高性能的图数据库必须优先解决计算能力的问题,即具有高计算能力,使计算引擎成为一等公民(注:在传统的RDBMS数据库中,计算是次要的)依附于存储的类公民。试想每次查询都需要大量访问硬盘读取数据,效率一定是极低的!)。图数据库赋能的业务场景也势必有别于传统数据库和大数据框架,无论是风控反欺诈、智能营销推荐,还是实时决策、智能分析(SmartBI/Analytics)、数据治理等场景。
