数据库是信息系统的核心软件,向下调动系统资源、向上支撑应用软件,承担着管理和组织、存储和计算数据的重任。在数据库70年的发展历程中,群雄逐鹿,各大软件巨头悉数登上数据库的舞台,历史的聚光灯一轮轮朗照不同的底层架构;大浪淘沙,有的商业公司技术迭代没有跟上历史进程而黯然退场,也有新兴的力量涌现并一次次吸引投资人的目光。在2021年的最新一轮融资中,Databricks的投后估值已达380亿美元,Snowflake、Elastic、MongoDB等生力军同样备受瞩目。如何厘清产业中新兴的技术概念?是什么在推动着技术架构的演进?数据库的未来又去向何处?国内市场有怎样的投资机会?我们将在本系列报告中予以解答。本篇报告聚焦核心的技术问题,按照我们的理解复盘数据库70年历史,力求揭示架构的演进方向。
摘要
数据库的过去:技术架构演进的背后是四股渐进创新力量。21世纪是数据爆发式增长的时代,数据的存储是数据价值释放的前提,数据库是数据存储与计算的载体,产业方兴未艾。从技术视角来看,我们认为有四股渐近式创新力量在推动数据库架构的革新。1)数据模型的变迁:数据模型作为数据描述的主要手段,是连接真实世界和逻辑世界的桥梁,我们认为数据模型的演进是贯穿整个技术架构升级的主线,带来了从层次、网状,到关系型,再到NoSQL、NewSQL的变迁。2)分析型需求的兴起:伴随着数据库在各行业逐渐渗透,场景应用累积的大量数据紧靠原先的业务支持系统无法完成信息价值的提取,因而面向分析需求的OLAP技术路径从OLTP中独立出来,并拉开大数据时代的帷幕。3)分布式架构的演进:从Scale Up到Scale out,分布式架构的诞生使得数据库得以实现横向扩容以及更好的并行处理能力。4)开源思潮的流行:开源作为一种高效开放共享的软件开发组织模式,从MySQL到PostgreSQL,开源生态圈的加速建立也在技术浪潮中影响着数据库厂家技术路线的选择。
数据库的未来:技术栈收敛与新兴技术潮流下的分化发展。一方面,经历过去近70年的发展历程,数据库技术栈不断分化、丰富,然而随着企业数字化进程的推进,部署多套系统带来了数据一致性与运维管理方面的挑战,因此出现了技术栈收敛的趋势,对应多模、数据湖仓等发展方向。另一方面,数据库持续和新兴的IT技术结合以进一步提升性能,主要对应原生分布式、云数据库、智能自治、结合新硬件等发展方向。
风险
市场竞争加剧;国内生态建设不及预期;流动性不及预期。
正文
数据库:信息系统的核心软件
数据是新时代的生产要素,数据亟待充分存储与有效利用。21世纪是数据爆发式增长的时代,从传感器到终端设备,从企业机房到云数据中心,从消费电子产品到物联网,我们所处的世界每时每刻都在生产大量数据。Statista的统计显示,全球数据量在2020年预计为47ZB;到2023年将达到2,142ZB。当前,“数据”已被纳入具有时代特征的五大要素之一,具有影响生产效率、推动社会发展的重要作用。伴随着数据要素市场化配置上升为国家战略,数据已然成为产业甚至国家的战略性资源。
然而,与数据的战略性地位所不匹配的,是大量数据资源并未得到有效存储与利用。根据IDC与Seagate的调研,企业运营中的数据仅56%能被及时存储,在这之中仅57%的数据得到了利用[1],这也意味着只有32%的数据价值得到了释放,有大量数据受限于存储系统架构落后、分析工具性能以及成本局限等原因而被浪费。
图表1:全球数据量正处在爆发性增长过程中
资料来源:信通院,Statista,中金公司研究部
注:标*为估计/预测值
图表2:仅少量数据得到存储利用,大量数据资源被浪费
资料来源:IDC,Seagate,中金公司研究部
注:上图为2020年数据
数据的存储是数据价值利用的前提,数据库是数据存储的载体。人类文明诞生后,绳结、骨制品、纸张陆续作为数据记录的载体;计算机发明后,人们不仅可以利用纸带、磁盘等外部存储器储存数据,而且开始使用专门的软件来管理数据,并且配合高级语言来处理数据。本报告所聚焦的就是为管理存放在计算机内的数据而生的数据库管理系统,我们常见的MS SQL Server、IBM DB2、Oracle等都属于数据库管理系统,一般会被简称为“数据库”。
图表3:数据库是信息系统的核心,在IT产业中的地位举足轻重
资料来源:艾瑞咨询,中金公司研究部
数据库是信息系统的核心。数据库管理系统(DBMS)是管理和组织计算机中存储的数据的计算机软件,是数据从现实世界映射到逻辑与物理交织的计算机世界的桥梁。数据库向上支撑应用软件,向下调动系统资源,在IT架构中处于核心位置。数据库与操作系统、中间件共同构成计算机系统最基础的三大核心软件。
从产业链视角来看,数据库处在中游位置,是IT产业的重要枢纽。数据库向上承接各类硬件、网络服务资源;向下作为千行百业的重要支撑,提供数据存储、管理与分析服务。具体来看,数据库产业主要由软件生产商、服务商与其他支撑体系组成。其中,数据库产品即各类供应商开发的相对标准的软件产品;数据库服务是指围绕数据库的咨询规划、实施部署和运维运营等服务工作;数据库支撑体系由从事数据库学术研究、人才培养、开源社区建设、评测认证等工作的主体构成。
图表4:数据库产业链及上下游
资料来源:信通院,艾瑞咨询,数据猿,中金公司研究部
从商业视角来看,我国的数据库市场正处在高速成长阶段。近年来,各类上层应用带来的数据量爆发性增长,云服务器以及各企业机房的数据负载也随之扩大,因而对数据库扩容的需求日益显现,数据库建设热度日渐升温。根据信通院的数据,预计到2025年全球数据库市场规模将达798亿美元;中国数据库市场规模在2020年为240.9亿元,预计到2025年将达688亿元,市场保持23.4%的年均复合高增速。
图表5:中国数据库市场正处在高速成长阶段,2020-2025e
资料来源:信通院,中金公司研究部
数据库是大数据应用铺设所绕不开的关键技术阀门,理解数据库架构是识别数据产业投资机会的关键所在。与数据量积累不断增厚相伴而生的,是数据价值的提取与利用中潜在的商业机会,从数据存储环节逐渐衍生出数据治理、分析、安全等大数据应用方向。因而,像是Bigtable、HBase、Hadoop、Spark等架构逐渐进入研究者视野,NoSQL、NewSQL、HTAP等概念甚嚣尘上,Snowflake、Databricks、Neo4j、MongoDB等新兴数据库厂商也在商业版图中谋得一席之地。
如何厘清产业中新兴的技术概念?如何判断公司是否走在正确的技术趋势浪潮之中?如何识别潜在的投资机遇而不被概念混淆视听?我们认为复盘与理解底层技术架构、认知相关的技术概念是解决投资问题的关键所在。我们将在本篇报告中聚焦数据库技术,按照我们的理解和归纳复盘技术架构演进的历程,并揭示架构的演进方向。
图表6:大数据技术体系
资料来源:信通院,中金公司研究部
数据库的过去:技术架构演进背后是四股渐进创新力量
数据库随底层IT架构、数据特征、企业需求等变化发展而不断演进。自1960s首款企业级数据库诞生以来,数据库已有近70年的发展历史。70年间,硬件性能不断提升,互联网、云计算等新兴技术持续发展,开源带来全新的软件开发组织模式和商业模式等等。在此过程中,数据类型不断丰富、数据量指数级增长,不断给数据信息存储和管理带来新的挑战,数据库因此不断演进,涌现出新的数据模型、新的产品架构、新的负载需求、新的部署方式。
图表7:数据库70年发展历程概览
资料来源:阿里云官网,CSND,中金公司研究部
从时间维度来看,数据库演进历程大致可以分为四个阶段。回顾数据库的发展历史,一切的根源是信息化革命,底层IT基础设施、互联网、大数据的发展,使得数据产生的方式和环境、数据本身的特点(从结构化到非结构化)和量级(从GB到TB、PB)、数据处理的需求(从OLTP到OLAP再到HTAP)都发生了变化,每一次数据库产品的迭代实际都是在所处的时代背景下,利用新技术更好地解决新需求。我们认为从时间维度划分,数据库演进历程大致可以分为以下四个阶段:
大型机时代(1960s-1970s):1960s以前并未出现专门的数据库管理系统,最初由人工管理,1950s中后期开始基于操作系统中的文件系统进行数据管理。1960s后期开始,硬件成本降低,外部存储容量增大、内存技术不断精进,数据库管理系统应运而生,克服了文件系统方式下分散管理的缺点,此时主要以集中式的层次或网状数据库为主,代表产品包括IBM的IMS等。
前互联网时代(1980s-2000s):数据库技术进一步发展,跨时代的关系模型出现;这个阶段企业所需处理数据类型多为结构化业务数据,数据量进一步增长但集中式仍然可以满足需求,因此传统的集中式关系型、OLTP商业数据库占据主流。同时,随着数据量的逐步增加和分析型需求的出现,分布式MPP架构的OLAP商业数据仓库开始独立发展;此外,受1990s自由软件运动等思潮的影响,开源数据库开始崭露头角。
互联网和大数据时代(2000s-2015s):互联网时代来临,数据量激增,同时随着数据产生、使用的细分场景不断丰富,企业面临更多半结构化、非结构化的数据,传统集中式、关系型数据库无法满足需求,因此NoSQL、大数据处理平台开始出现,分布式架构成为主流;同时,受互联网企业更加开放、对开源接受度高的影响,这个阶段出现的NoSQL、大数据平台基本均为开源模式。
云计算时代(2015s至今):一方面,云计算变革了底层IT硬件资源的组织形式,进一步降低成本、提升性能、改善服务,云化部署逐渐为数据库所接受,行业内也涌现了一批云原生的数据库产品。另一方面,在经历了2000s的各种NoSQL、大数据平台技术栈分化之后,企业意识到传统数据库对事务一致性、SQL的支持是不可缺失的,因此出现了下一代NewSQL产品,同时企业开始追求更为统一的全栈式数据平台,由此HTAP、多模等技术路线开始登上历史舞台。
从技术视角来看,我们认为有四股渐近式创新力量——数据模型变迁、分析型需求崛起、分布式架构的演进以及开源模式的流行在推动数据库架构的革新。其中,数据模型作为数据描述的主要手段,是连接真实世界和逻辑世界的桥梁,我们认为数据模型的演进是贯穿整个技术架构升级的主线。同时,伴随着数据库在各行业逐渐渗透,场景应用累积的大量数据仅靠原先的业务支持系统无法完成信息价值的提取,因而分析型需求的逐渐崛起同样推动着数据库架构的变革。再者,分布式架构的诞生使得数据库得以实现横向扩容以及更好的并行处理能力,推动着数据库架构继续演进。另外,开源作为一种高效开放共享的软件开发组织模式,也在技术浪潮中影响着数据库厂家技术路线的选择。在后文,我们将70年的数据库技术发展历程在上述四条脉络之下进行详细复盘。
数据模型的变迁是贯穿技术架构升级的主线
从底层技术架构演进的维度,数据模型数据从现实世界进入计算机系统前,需要先抽象为概念数据模型,即使用实体(entity)、属性(attribute)、实体标识符(identifier)和实体间的联系(relationship)来描述现实世界的数据,然后再转为计算机可以理解的逻辑模型进行存储与管理。数据模型是做数据描述的主要方式,也是进行数据库设计的基础。我们认为从技术视角来看,数据模型的变化是贯穿数据库架构演进的主要脉络。从1960s至今,数据模型主要经历了层次/网状-关系型/SQL-NoSQL-NewSQL的变迁。
层次及网状——数据模型初探
层次模型采用简单树形结构,是最早出现的数据模型。层次模型的优点是数据结构简单清晰、查询效率高;典型产品代表为1968年IBM公司推出的第一个大型商用数据库管理系统——IMS(Information Management System)。但缺点是在表示复杂模型时需要引入冗余数据(易产生不一致性)或创建非自然的数据结构(如引入虚拟节点)来解决,对于插入和删除操作的限制较多,应用程序编写较复杂。
图表8:以教学管理系统为例的层次数据模型
资料来源:《数据库系统原理与设计》万常选等编著(2009年版),中金公司研究部
网状模型比层次模型更具备普遍性,能较好解决相对复杂的模型关系。网状模型解决了层次模型结构路径过于单一的问题,典型代表是通用电气公司开发的IDS(集成数据存储,Integrated Data Store)系统。缺点是随着数据量的扩大,其结构会变得较为复杂,不利于终端用户掌握,且操作语言比较复杂。
图表9:以教学管理系统为例的网状数据模型
资料来源:《数据库系统原理与设计》万常选等编著(2009年版),中金公司研究部
网状和层次模型在数据独立性和抽象级别上仍有很大欠缺。由于数据之间的联系通过存取路径实现,应用程序在访问数据时必须选择适当的存取路径,不容易实现复杂的查询逻辑;此外用户必须了解系统结构的细节,这加重了编写应用程序的负担。而关系型数据库的诞生则较好地解决了上述问题。
关系模型(SQL)——占据主流地位,历久弥新
关系模型1970s被提出,由于其优异的事务一致性及高效的SQL查询能力持续占据主流地位。关系型数据库最早在1970年由IBM公司San Jose实验室的研究员E. F. Codd提出,但由Oracle率先推出商用产品。由于关系型数据库有完备的数学理论基础,完善的事务管理机制和高效的查询处理引擎,能较好地满足诸如银行、电信等各类大型商业公司的核心业务数据管理需求,因此自七十年代推出以来一直占据商业数据库应用的主流位置。
图表10:关系型数据库早期发展关键时间点
资料来源:CSDN,Oracle官网,中金公司研究部
关系模型把复杂的数据结构归结为简单的二元关系(即二维表格形式)。一个关系对应一张二维表,表中的一行称为一个元组,表中的一列称为一个属性。码/键是表中可以唯一标识表中的一行的某个属性或属性组;外码/外键是表中的某个属性或属性组,可以用来表述本表中的元组和另一个表中元组之间的联系。
图表11:以教学管理系统为例的关系数据模型
资料来源:《数据库系统原理与设计》万常选等编著(2009年版),中金公司研究部
我们认为关系型数据库有两大核心优势,一方面符合事务ACID,使其能够应用在核心业务场景中;另一方面,支持SQL能够降低使用人员的学习成本,快速方便查询,并且容易形成行业统一的语言和接口标准:
符合事务(Transaction)的ACID原则,使其能够应用在核心业务场景中。事务对于用户而言是具有完整逻辑意义的数据库操作序列的集合,对于数据库管理系统而言是一个读写操作序列。ACID是指数据库管理系统在写入或更新资料的过程中,为保证事务是正确可靠的,所必须具备的四个特性,包括Atomicity(原子性)、Consistency(一致性)、Isolation(隔离性)、Durability(持久性)。
图表12:事务的ACID原则
资料来源:《数据库系统原理与设计》万常选等编著(2009年版),中金公司研究部
SQL结构化查询语言,简便易学、快速实现复杂查询。SQL是用于存取数据以及查询、更新和管理关系型数据库的特殊目的的编程语言,是高级的非过程化编程语言,允许用户在高层数据结构上工作,不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式。结构化查询语言语句可以嵌套,这使它具有较大的灵活性和强大的功能。
SQL语言已经成为关系型数据库的事实标准。理论上其面向底层数据独立,不同的关系型数据库系统,均可以使用相同的SQL标准作为数据输入与管理的接口,但由于实际应用中大多数厂家会对SQL进行二次开发、扩展,因此不同厂商的SQL语法和协议(“方言”)会有一小部分不完全通用。但SQL语言作为关系型数据库的事实标准,降低了程序员、DBA的学习成本,及不同产品之间的迁移转换成本。
关系型数据库市场价值大,成长出千亿美元市值的商业巨头。Oracle是典型的受益于关系模型崛起而成长起来的数据库巨头。虽然关系模型理论最早由IBM的研究员提出,但当时一方面IBM的层次型数据库IMS产品销量很好;另一方面,由于IBM的工程力量强大,因此即使产品从底层架构、模型上来看并不领先但性能尚可,这让IBM更加不重视关系型数据库产品的开发。而Oracle的创始人Larry Ellison却看到了其中的颠覆性机会决定创业开发关系型数据库产品。关系型数据库至今仍然是整个数据库市场中价值量最大的细分赛道,Oracle从营业收入和市值角度都遥遥领先。
NoSQL(Not Only SQL)——解决特定场景需求
互联网、Web 2.0的发展催生数据管理新需求。2004年,Web2.0的概念第一次被提出。区别于Web 1.0由网站创建者主导生成内容,Web 2.0强调由用户主导生成内容。在Web 1.0里,互联网是“阅读式互联网”,而Web 2.0是“可写可读互联网”,更注重用户交互性。随之而来的是高并发的海量半结构化和非结构化数据管理需求,要求数据库具有高可扩展性、高并发性、高可用性。
传统关系型数据库并非完美。传统关系型数据库严格的模式要求和ACID等特性,一方面难以高效处理半结构化、非结构化的数据;另一方面与集群化和分布式环境很难兼容,几乎无法横向扩展,只能通过纵向扩展(购买、升级更好的硬件)来提升系统的处理能力,缺乏弹性且十分昂贵。同时,对于web2.0网站来说,以往关系数据库的优秀特性(完善的事务机制和高效的查询机制)变得无用武之地。
这些问题正是2005-2010年间NoSQL运动的直接催化因素。NoSQL的拥趸普遍认为阻碍传统数据库横向扩容、提高可用性的原因在于ACID保证和关系模型,因此NoSQL运动的核心就是放弃事务强一致性以及关系模型,拥抱最终一致性和其它数据模型。同时,由于互联网带来的数据量激增,这个阶段还催生了以Hadoop为代表的大数据处理框架。
图表13:NoSQL数据库崛起的时代背景
资料来源:CSDN,中金公司研究部
数据模型层面,这一阶段出现了大量“非关系模型”来适应互联网带来的非结构化数据。NoSQL数据库具有天然的多样性,自2009年掀起NoSQL浪潮至今,涌现了上百种NoSQL产品,常见的主要有键值、列式、文档、图数据库,除此以外还有宽表、时序等。
图表14:NoSQL的常见类型
资料来源:CSDN,中金公司研究部
时代发展带来的新需求和技术变革,孕育出一些细分领域的NoSQL新龙头。根据DB-Engines,MongoDB、Redis、Elasticsearch是目前最流行的三个NoSQL项目,回顾其发展史可以发现,它们几乎都是乘着互联网发展的东风,创始人在工作/生活中遇到原先传统关系型数据库无法满足的处理海量、高并发数据的需求,于是自发撰写并开源发布,由于解决了共性的新需求,且是各自领域中最早一批发布的产品,通过开源的方式在几乎空白的市场快速吸引使用者,并持续发展壮大。其中MongoDB和Elastic分别于2017、2018年上市交易,目前市值接近400亿、170亿美元。
图表15:流行的NoSQL项目及商业公司
注:市值截至2021/12/15
资料来源:DB-Engines,CSDN,中金公司研究部
NewSQL(分布式关系型)——取长补短的新一代数据库产品
NewSQL结合了关系型数据库对事务、一致性及SQL的支持以及NoSQL的灵活和扩展性。虽然NoSQL数据库提供了良好的扩展性和灵活性,弥补了传统数据库的部分缺陷,较好地满足了互联网的需求,但它同时牺牲了查询效率、事务ACID特性,并且由于不同的NoSQL数据库有不同的查询语言,因此很难对应用程序接口进行规范。进入21世纪的第二个十年,业界意识到传统关系型数据库对事务和SQL的支持在大部分企业核心业务场景中不可或缺,同时云计算等底层技术的成熟也为新的模型架构创造了可能性,NewSQL数据库走上历史舞台,这个概念是对各种新的可扩展/高性能数据库的简称,这类数据库不仅具有NoSQL对海量数据的存储管理能力,还保持了传统关系数据库的ACID和SQL等特性。
Google Spanner、F1两套论文是NewSQL的开山鼻祖。NewSQL一词是最早由451 Group的分析师Matthew Aslett在研究论文中提出的。2012-2013年Google相继发表了Spanner和F1两套系统的论文,让业界第一次看到了关系模型和NoSQL的扩展性在一个大规模生产系统上融合的可能性,这也是绝大多数NewSQL数据库的架构灵感来源,目前较为知名的NewSQL数据库有开源领域的TiDB和CockroachDB。
图表16:关系型、NoSQL、NewSQL再对比
资料来源:IDC,CSDN,中金公司研究部
分布式架构的演进带来技术架构的创新
从Scale Up到Scale Out,从集中式到分布式。计算机系统有两种扩展路线——Scale Up (纵向扩展)和Scale Out (横向扩展)。1970s,彼时底层IT基础设施资源昂贵,企业数据量较小,数据库主要采用集中式、单机架构,通过加CPU、加内存、加磁盘或更换更好的大型机/小型机来实现Scale Up扩容;到1980s,随着数据量的不断增加、OLAP等分析型需求的出现,传统集中式的架构无法满足需求,且随着硬件设备性能不断升级、成本降低,分布式架构开始出现,企业可以通过横向新增系统的方式进行Scale Out扩容。自1990s以来,分布式架构成为主流架构,实现路径和核心技术不断改进,目前正向云原生分布式、存算分离等新趋势进一步发展。
具体到硬件架构层面,一般分为Share Everything、Share Disk、Share Nothing三种:
Share Everything:顾名思义,所有资源全部共享。一般针对单个主机,完全透明共享CPU、内存和磁盘。早期的关系型数据库几乎都为这种集中式架构,好处是天然支持事务的ACID特性。
Share Disk:各个处理单元使用自己私有CPU和内存,但共享磁盘系统,可通过增加节点来提高并行处理的能力,扩展能力较好但有限。典型的代表产品如Oracle RAC。该模式的局限在于当存储器接口达到饱和时,将不再能够通过增加节点提升性能。
Share Nothing:各个处理单元都有自己私有的CPU/内存/硬盘等,不存在共享资源,各处理单元之间通过协议通信,并行处理和扩展能力更好。Share Nothing架构有多种不同的处理方式,其中以MPP和Hadoop为代表。
图表17:三种数据库硬件架构对比
资料来源:CSDN,中金公司研究部
从技术角度来看,分布式架构实现路径有二,一为借助中间件,二为原生分布式。单纯从技术先进性上比较,原生分布式数据库系统在服务器利用率、管理复杂性、分布式事务实现等方面均明显优于中间件方案,但其开发难度大、发展历史较短、技术成熟度较低。综合考虑理论先进性、工程化实现和产品能力输出等,目前两种技术栈共存,各有适用场景。
分布式数据库中间件:架构在多个传统单点数据库系统上的中间层解决方案,通过将数据分拆到不同的数据库节点上,利用中间件来管理和访问各个数据库中的数据,通常需要用户参与到数据分拆和节点管理过程中。互联网行业最初所使用的分布式数据库方案多是基于中间件的。
原生分布式数据库:指从架构设计、底层存储和查询处理均面向分布式数据管理需求,数据库集群作为一个整体对外提供服务,用户无需关注集群内部的实现细节。
图表18:分布式中间件方案 vs. 原生分布式
资料来源:《原生分布式数据库与中间件的区别》宫学庆,艾瑞咨询,中金公司研究部
分布式数据库核心需要解决“数据如何有效分散存储”和“在分散存储的同时如何保证强一致性”两个问题,分别对应分片/分库/分表和分布式事务两大核心技术:
复制和分片(Sharding):分布式系统中,数据需分散存储在多台设备上,分片(Sharding)是用来确定其中分布规则的技术,根据切分规则类型,可以分为水平切分和垂直切分。同时为了保障可用性,避免单节点失效而导致整体系统崩溃,分布式数据库系统需要通过复制建立多个副本来提供冗余的能力,一般根据副本的读写权限,可分为主从复制(主实例写入,复制实例只读)和对等复制(任何节点均可写入)。中间件方案下,每次扩容需要DBA手动再分片,且对业务侵入性较大;原生分布式数据库在架构设计时便内置了分片机制,自动化进行数据迁移、扩容,同时对上层应用透明。
分布式事务:单体系统到分布式系统的变化增加了数据库实现ACID特性的难度,因为分布式架构设计遵循CAP原理,即在一个分布式系统中,不可能同时满足一致性、可用性、分区容错性,而实际设计时分区容错性是必须满足的,所以要在一致性和可用性上进行权衡。AP系统选择了高可用,牺牲了一致性而遵循BASE定理,即用最终一致性(Eventual consistency)代替强一致性。CP系统保证了强一致性,实现强一致性的分布式事务路径主要包括以2PC/3PC为代表的写一致性、以Paxos/Raft为代表的多数派一致性,并呈现从写一致性向多数派一致性过渡的趋势。
图表19:分布式事务一致性属性及实现思路
资料来源:沙利文,中金公司研究部
分析型需求的崛起推动技术架构的演进
OLAP需求独立
1990年代以前,日常动态业务处理相关的OLTP需求为主,OLAP并未独立;然而随着数据量不断增多、场景逐渐丰富,分析型需求开始普及,到1990s MPP架构的OLAP产品开始出现;2010s,物联网等技术的发展,使得企业对实时数据分析的需求提升,且OLAP、大数据技术栈不断分化也给企业实际运维管理多套系统带来挑战,HTAP(Hybrid Transactional Analytical Processing)混合事务分析处理数据库的概念也应运而生。
图表20:OLTP、OLAP发展演变过程以及典型的HTAP架构示意图
资料来源:CSDN,中金公司研究部
1990s以前,OLTP需求为主,OLAP需求尚未独立。数据库主要应用于OLTP(On-Line Transaction Processing)场景,面向交易场景,主要用于日常的动态业务支撑;并采用共享存储架构。这一阶段,历史数据中蕴含的价值还没有受到关注,企业更加看重日常业务处理场景下数据的实时反馈,加之90年代前数据量还未膨胀到单机难以承受的阶段,企业更倾向于采用单机数据库存储。彼时OLAP场景尚不成熟,分析型数据库尚未从事务型数据库中脱离出来,OLTP和OLAP需求都跑在同一个数据库上。
1990s,OLAP数据仓库技术路径独立。OLAP(Online Analytical Processing),联机分析处理,主要利用历史数据对公司各块业务进行统计分析,侧重决策支持。随着互联网发展,业务数据量剧增,单机数据库的容量制约了其在大数据量分析场景下的使用。因此OLTP、OLAP在技术上兵分两路,企业开始采用两个数据源、分别对两套系统进行运维管理。
2010s以来,物联网等新技术、新场景的发展使得对数据实时分析的需求增加,HTAP的概念应运而生。过去定期将OLTP数据导入到OLAP的方法难以保证一致性、无法满足实时性分析业务场景,且企业管理、维护多套的数据库系统成本较高。在此背景下,HTAP应运而生,从背后原理来看,大多数HTAP系统内部仍集成了两套存储和计算框架来分别应对OLTP、OLAP需求,但对于用户来说具有统一的数据获取接口和上层交互界面。
早期OLAP基本均采用MPP架构,适合中等规模的结构化数据分析。MPP每个节点都有独立的磁盘存储、内存和计算系统,业务数据按照数据模型和应用需要划分到各个节点上,每台数据节点通过网络互相连接、并行计算,作为整体提供数据库服务。MPP的优点主要为更优的扩展性,且设计时考虑了底层关系型数据库引擎的基本要求,在分布式的同时保障较高的一致性、支持事务ACID和SQL兼容。因此,MPP结构在中等规模的结构化数据复杂查询场景下性能较优,常用于关系型OLAP。
图表21:MPP架构及特点
资料来源:CSDN,中金公司研究部
Teradata是最早创立的主要面向OLAP需求的数据仓库公司之一并发展成为市场领先者。Teradata成立于1979年,提供企业级数据仓库、统一数据框架等服务,成立至今赢得了数千家全球大型企业客户的信任,在多个行业表现卓越,据公司官网,全球排名前20的电信公司中有19家是公司的客户;全球排名前20的商业及储蓄银行中有18家是公司的客户。鼎盛时期,Teradata营业收入接近30亿美元,近年受云计算和大数据平台的冲击,业绩呈现下滑态势,公司也正在积极云转型。
[1] The Seagate Rethink Data Survey, IDC, 2020
文章来源
本文摘自:2022年1月3日已经发布的《数据库系列报告开篇:技术路径复盘及展望》
于钟海 SAC 执业证书编号:S0080518070011SFC CE Ref:BOP246
韩 蕊 SAC 执业证书编号:S0080121080059
王之昊 SAC 执业证书编号:S0080120070025
本文转载自《中金点睛》
- 中金消费升级(001193)
- 中金中证500C(003578)
- 中金中证沪港深优选消费50指数C(008520)
本文作者可以追加内容哦 !