大数据平台崭露头角
狭义上的MPP架构在节点扩展方面有上限,大数据分析领域的Hadoop、Spark崛起。MPP架构设计之初依然考虑了传统数据库的特性,在CAP取舍中,在满足P(Partition-tolerance)分区容错性基础之上,优先考虑C(Consistency)一致性,其次考虑A(Availability)可用性。因此MPP对一致性和关系模型的支持度更好,但扩展能力有限。而互联网发展带来海量非结构化数据的存储分析需求,在此背景下,Hadoop大数据处理框架诞生,并在此基础上衍生出丰富的大数据平台生态及后续的Spark框架。
图表22:MPP与Hadoop比较
资料来源:CSDN,中金公司研究部
注:此处讨论集中在传统的计算与存储耦合的MPP架构与Hadoop的对比。
架构层面,谷歌分布式系统“三架马车”开创大数据先河。21世纪初,Google为了应对搜索引擎中海量网站数据如何存储以及结果页面中Page-Rank的并行计算等问题,推出了面向大数据的分布式数据库计算框架及存储系统,并先后发表关于Google File System(GFS),Google MapReduce和Bigtable的论文。虽然Google没有开放源代码,但这3篇论文对大数据架构产生深远影响,其中最为知名的大数据处理框架Hadoop就是对Google“三驾马车”的Java开源实现,其核心组件包含HDFS和Hadoop MapReduce(后文简称为MapReduce)。
图表23:Google分布式系统“三驾马车”
资料来源:CSDN,中金公司研究部
核心组件基础之上衍生出庞杂的开源Hadoop生态圈。仅有HDFS、MapReduce组件并不能支撑企业级的大数据分析应用,在此基础上衍生出丰富的生态组件,包括资源管理系统、各类计算引擎、ETL工具、安装部署工具、数据库/数据仓库产品等。同时,还出现了Hadoop发行版商业公司,通过提供整合、加强后的打包产品和服务,解决繁杂组件带来的版本管理混乱、部署过程繁琐、升级过程复杂等问题。
图表24:Hadoop生态圈
注:仅列示部分生态组件
资料来源:CSDN,中金公司研究部
Spark是从Hadoop生态圈中成长出的后起之秀。虽然Hadoop在刚推出时风光无两,但随着大数据的应用场景不断丰富成熟,Hadoop MapReduce的问题如延迟高、I/O开销大、只适用于批处理等也逐渐暴露。Spark在此背景下横空出世:2009年加州大学伯克利分校AMP实验室编写最初的源代码;2010年开放源代码;2013年6月,进入Apache孵化器项目;2014年2月即成为Apache的顶级项目。Spark是基于内存计算的大数据并行计算框架,其计算模式广义上也属于MapReduce,但提供内存计算,可将中间结果放到内存中,对于迭代运算效率更高。
图表25:MapReduce 和Spark执行流程对比
资料来源:CSDN,中金计算机
海外云计算的成熟应用加速了传统Hadoop的衰落。尽管最初Spark从功能上仅替代了MapReduce,而仍然需要和HDFS配合使用,但在海外云计算应用成熟的市场,云对象存储如S3的普及,带来了更高效、低成本的存储解决方式,Spark不再需要借助HDFS而和云存储天然契合,但国内由于公有云渗透率低,Spark大部分情况下仍与HDFS配合出现,Spark作为通用计算引擎,HDFS提供存储和资源管理框架等服务。
图表26:谷歌趋势显示2014年中Spark已超越Hadoop
资料来源:CSDN,Google,中金公司研究部
Hadoop发行版“三巨头”红极一时,Databricks随Spark后来居上。虽然大数据框架大多是开源的,但由于其生态组件繁多,下游客户若自行部署会面临过程繁琐、升级复杂、版本管理混乱等问题,且开源社区版本在企业级服务、应用支撑方面仍稍显逊色,因此给发行版公司带来了商业机会。Hadoop时期海外出现了Cloudera、Hortonworks和MapR三大发行版厂商,但由于Hadoop逐渐被Spark取代,曾经的Hadoop发行版“三巨头”也走向衰落,随Spark一同崛起的是由Apache Spark初始成员创立的商业化公司Databricks,截至其2021年8月底完成的最新一轮融资,其估值达到380亿美元。国内围绕Hadoop及Spark技术也产生了领先的大数据平台公司,比如星环科技、Kyligence等。
图表27:Hadoop及Spark商业化公司兴衰简史
资料来源:CSDN,Ai前线,公司官网,中金公司研究部
开源思潮的流行影响技术架构的迭代
开源是一种高效开放共享的软件开发组织模式,是新一代软件的基础设施。1998年,开源(Open Source)概念在硅谷的Palo Alto被正式提出,是1980年代由Richard Stallman主导的自由软件运动(Free Software Movement)的延续。开源是一种软件开发方法论,实质是代码的共创共享。正如我们在《拥抱开源,开放场景,提升中国软实力》中讨论的,开源凭借其开放、共享等特性掀起软件领域革新,迎来越来越广泛的应用,开源基础软件正成为潮流,带来了比闭源更快的更新迭代频率以及创新效率。同时,开源模式下的组件间存在兼容性较差、架构不统一的问题,一定程度上影响用户体验和性能,往往需要专业的开发者进行适配调优。而闭源模式下一般由商业公司提供企业级的安全性、稳定性等支持,相对而言更具用户友好。总体而言,我们认为开源与闭源各有优势,企业可以按需选择适宜的开发模式。
在数据库领域,1990s年代受开源思潮影响,诞生了MySQL和PostgreSQL两大顶级开源关系型数据库。从使用人数角度,MySQL是当之无愧的“最流行”的开源数据库,而PostgreSQL因为其优异的性能被业界称为“最先进”的开源数据库。MySQL和PostgreSQL演进至今,分化出众多开源或商业的数据库产品,今天很多国产新数据库背后都有它们两个的身影。
图表28:MySQL的早期发展简史
资料来源:CSDN,中金公司研究部
图表29:PGSQL的早期发展简史
资料来源:CSDN,中金公司研究部
数据库产业链生态至关重要,开源能够加速生态圈的建立,2000s以后创立的数据库产品基本都选择开源。开源数据库具有开放、透明、灵活、成本低、迭代速度快、社区生态良性等优势,提高了数据库产品的创新效率,能帮助初创厂商加速传播和获客,节省下游客户的IT成本。开源模式自1990s至今一直繁荣发展,持续影响着后续数据库的开发,众多优秀的NoSQL、NewSQL数据库公司都选择了开源。根据DB-ENGINES最新统计,开源数据库的受欢迎程度在2021年已经超过商业数据库。
图表30:开源数据库及商业数据库流行指数
资料来源:DB-Engines,中金公司研究部
注:统计截至2021/10/27
近年国产数据库厂商亦积极开源。巨杉数据库、Oceanbase是国内最早开源的数据库厂商,而后自2019年起华为、腾讯、阿里陆续将自家的数据库开源。面对海外数据库厂商发展历史悠久,在技术成熟度、生态建设、市场知名度等各方面都更具优势的客观事实,开源是国产数据库试图在更短的时间内更快的完成产品迭代、生态构建、品牌渗透的有效途径。
图表31:国产数据库厂商开源情况
资料来源:CSDN,GitHub,中金公司研究部
注:统计时间截至2021/12/19
开源软件和商业化并不矛盾。开源的精神源自免费软件,但开源的根本目的不是为了免费使用软件。开源软件的发展孕育了大量商业机遇,基于开源项目的创新商业模式层出不穷;同时商业活动的活跃可以反过来刺激开源社区壮大,例如熟悉活跃的开源软件使用能够为工程师带来更好地工作机会,从而进一步激励工程师更多地参与开源项目的建设中,形成正向循环。目前国内的开源数据库项目一般会同时成立官方的商业化公司或者由第三方的发行版厂商提供服务,公有云厂商则通过提供数据库SaaS服务来完成商业闭环。
数据库的未来:技术架构演进方向
回顾过去,数据库技术架构迭代的背后是数据模型的变迁、分析型需求的兴起、分布式架构的演化以及开源模式的流行。我们今天能看到,数据库从最开始的层次/网状数据库,到集中式架构的、主要面向OLTP需求的关系型数据库;再到独立出MPP架构的OLAP数据仓库;然后到更适合非结构化的、海量数据的、分布式架的NoSQL数据库和大数据处理框架;再到同时结合了SQL和NoSQL的优势的NewSQL等。面向未来,随着云计算、5G、物联网等新技术逐步成熟,数据库技术也朝着云原生、多模和HTAP、智能自治等能力继续演进。
我们认为,未来数据库技术架构的演进主要呈现两大类趋势:一方面,经历过去近70年的发展历程,数据库技术栈不断分化、丰富。但随着企业数字化进程的加速,不同的业务场景需要不同的数据模型、负载类型,而部署多套系统给数据一致性和运维管理带来挑战,因此出现了技术栈收敛的趋势,对应多模、数据湖仓等发展方向;另一方面,数据库持续和新兴的IT技术结合以进一步提升性能,主要对应原生分布式、云数据库、智能自治、结合新硬件等发展方向。
图表32:数据库技术演进方向
资料来源:中金公司研究部
趋势一:技术栈收敛需求下的多模与数据湖仓
演进方向一:多模数据库。数据模型繁复、多系统运维带来难题,企业开始寻求技术栈收敛的一站式解决方案。企业在数字化转型早期,会选择一些核心的、成熟的场景进行单点数据库部署。但随着业务发展、场景变迁,企业面对多样化的数据来源,需要配合多种数据存储模型进行管理。使用多种单模型数据库将会导致数据冗余、数据一致性治理难、数据跨库分析难、资源配置难、学习运维成本高等问题。我们认为,统一平台中多种数据模型并用既能为不同的项目场景配置不同数据模型以保障其高性能,又能让数据操作和运维更便捷、更统一,此外还具有更强大的数据一致性和更灵活的资源弹性等优势。历史上多模数据库有多种不同实现方式,但均存在不同程度的问题,在国内厂商中近年以星环科技为代表,已推出统一架构创新路径。
图表33:多模数据库的不同实现路径
资料来源:星环科技官网,中金公司研究部
演进方向二:数据仓库、数据湖、湖仓一体。传统的数据仓库用已知的数据解决已知问题,数据湖利用已有的数据解决未知的问题。随着企业的发展,数据不断堆积,虽然“含金量”最高的数据都存在OLTP和OLAP中,但越来越多企业希望把生产经营中的所有相关数据都完整保存下来,方便未来“沙中淘金”,这就是数据湖解决的需求。数据湖的本质,是由数据存储架构+数据处理工具(数据采集、分析等)组成的解决方案。湖仓一体是能够实现“湖里”和“仓里”的数据或元数据无缝打通,并且“自由”流动的架构。我们认为,云存储的普及为数据湖提供了高扩展性、低成本的存储方案,而机器学习、AI等技术的成熟为“沙中淘金”创造条件,数据资产的重要性不断上升,数据湖是一种深度挖掘其价值的有效途径。
图表34:数据湖与传统数据仓库对比
资料来源:CSDN,中金公司研究部
趋势二:拥抱新兴技术潮流下的原生分布式等方向
演进方向三:原生分布式。分布式是大势所趋,原生分布式开发难度大但优势明显。正如前文架构演进章节所提及,中间件解决方案虽然较为成熟、整体能力接近单机数据库,但存在可拓展性差、对业务侵入性强、中间件负担过重、运维管理复杂等问题,而原生分布式数据库的整体架构设计逻辑天然面向分布式数据管理需求,支持自动分片、迁移、复制,更容易实现分布式事务。我们认为,虽然原生分布式技术实现难度更大,但是下一代数据库产品的颠覆式创新方向之一,且和云计算天然契合。
图表35:数据库分布式架构演进过程
资料来源:中金公司研究部
演进方向四:云数据库。云数据库分为云托管和云原生两类,云计算进一步实现计算和存储分离架构。云数据库是在云计算的大背景下发展起来的一种新兴的共享基础架构的方法,它增强了数据库的存储能力,消除了人员、硬件、软件的重复配置,让软、硬件升级变得更加容易。现阶段云数据库主要包括两种,一种是托管在云上的“传统”数据库;一种是基于云环境的云原生数据库。我们认为,云的本质是利用虚拟化的技术将资源池化,通过实现计算存储分离和资源解耦、分层,并通过高速网络连接,数据库可以更加充分的利用不对称的存储资源和计算资源,让不同层都可以按照各自最优的模式进行横向扩展,实现高弹性、低成本。
图表36:云托管数据库和云原生数据库对比
资料来源:艾瑞咨询,阿里云官网,中金公司研究部
演进方向五:智能自治。人工智能延伸DBA的能力半径,优化数据库性能。数据库技术栈日益丰富,但大多优化任务仍需要DBA进行手动调优,人工能力逐渐跟不上数据库的发展,而AI技术的成熟可以弥补该不足,解决资源调度、索引设计和优化、查询优化、负载均衡设计、缓存失效等问题。我们认为,AI通过优化算法,对任务进行预测、分析和自动化,能够减少人工成本并提高数据库的性能,将人工智能新技术与数据库运维管理相结合是各供应商需要面对的重要课题。
图表37:AI在数据库中的应用
资料来源:CSDN,艾瑞咨询,中金公司研究部
演进方向六:利用新兴硬件。新兴硬件的发展从存储、计算多方面进一步提升数据库性能。近年来,多处理器(SMP)、多核(MultiCore)、固态硬盘(SSD)、大内存(Big Memory)和非易失性内存(NVM)等新兴硬件领域取得了较大进展。GPU、FPGA可实现加速处理;多处理器和多核为并行处理提供可能;SSD大幅提升了数据库系统的IOPS和降低延迟;大内存和NVM促进内存数据库引擎的发展。我们认为,随着新型硬件成本逐渐降低,充分利用新兴硬件资源提升数据库性能、降低成本,亦是未来数据库发展的重要方向之一。
数据库的评价和选型体系
前文,我们系统回顾了数据库70年技术迭代发展史并展望了未来发展趋势,技术先进性是评价数据库产品优劣的重要指标之一,但并非唯一成功要素,本文将从性能指标、专业第三方评测结果和下游客户选择供应商的考量因素等角度介绍数据库的评价体系。
常见的数据库性能指标聚焦于6个方面:吞吐量、负载均衡、读写速度、分区分片、并发性和可用性。其中,可用性是系统平稳无障碍运行的基本保障,而分区分片、并发性、吞吐量、负载均衡等都是为了满足企业目前面临的海量数据、高并发的业务场景,读写速度则对应企业对系统快速、及时响应的要求。不同类型的数据库产品由于适用场景差异,可能在性能和功能上会有所偏重。具体的量化指标有平均每秒响应速度、查询速度、平均每秒吞吐量等。
图表38:数据库常见性能指标
资料来源:沙利文,中金公司研究部
TPC主要为OLTP关系型数据库提供权威的测评参考数据。数据库系统的性能结果对软件设置、硬件配置、业务环境等都高度敏感,而市面上数据库产品繁多,各厂商自己的性能评测鱼龙混杂、无法同口径对比。1988年,当时市场正面临着关系型OLTP数据库产品繁多,行业、客户苦于没有一套公正、统一的测评标准,在此背景下,TPC(Transaction Processing Performance Council,事务处理性能委员会)应运而生,最初由8家会员机构共同发起设立,是一个非盈利组织,职责是发布企业级数据库评测榜单并制定榜单的测试标准、流程和规范。发展至今已有20+会员公司,主要为美、日、欧企业,其中中国公司有华为、阿里、浪潮、星环科技。
TPC-C测试:是TPC发布的最重要标准,专门针对联机交易处理系统(OLTP系统)的性能测试,tpmC值在国内外被广泛用于衡量数据库系统的事务处理能力。2020年5月25日,蚂蚁自研数据库OceanBase取得7.07亿tpmC(每分钟内系统处理的新订单个数)的成绩,比其2019年创下的世界记录高11倍,登顶TPC-C榜单。
图表39:TPC-C测试历史结果排名Top5
资料来源:TPC,中金公司研究部
注:截至2021年11月8日,上图灰底色记录为历史结果但因时间较久已经失效
TPC-H测试:决策支持基准测试,包含了非常严苛的ACID测试以及查询性能测试,但严格来说并不是HTAP中TP和AP并存高并发的场景,而是在验证ACID基础上的一些相对简单(较TPC-DS而言)的OLAP查询的性能测试。2021年5月,OceanBase取得30,000GB组别下1,526万QphH(综合查询每小时性能指标)的成绩,比微软高出10倍。
图表40:TPC-H Version 3(30,000GB组)测试结果排名
资料来源:TPC,中金公司研究部
注:截至2021年11月8日
TPC-DS测试:是专门针对在线分析处理能力的测试(OLAP系统),目前10,000GB组别有记录的均为国产数据库,包括阿里云的AnalyticDB/E-MapReduce、南大通用的Gbase和星环科技的ArgoDB。
图表41:TPC-DS Version 3(10,000GB组)测试结果排名
资料来源:TPC,中金公司研究部
注:截至2021年11月8日
TPC为业界提供了一套可比较的测评标准,但仍存在不足:1)测评成本高:由于评测需要的软硬件投资较大,因此TPC的评测门槛较高,动辄几百、上千万元,因此存在主要结果来自于大型企业,中小型创业公司结果较少的问题。2)大量记录已失效:很多海外的传统关系型数据库厂商都已经停止更新测试,测试结果老旧。3)仅能满足OLTP和少量OLAP测评需求:TPC最初是为OLTP关系型数据库而设置的,目前涉及一定对OLAP、大数据处理框架的测评但记录较少,而对于技术、架构更为繁复的NoSQL、NewSQL产品仍然不适用。
因此,虽然TPC能给下游客户提供一定参考,但在实际操作过程中,客户在选择数据库产品时,仍然倾向于在自己配置的环境中进行POC测试以此来比较不同产品的性能。
下游客户如何选择数据库产品?决定性要素是产品技术和企业需求的适配程度,同时考虑品牌、资质、生态、价格、服务等。不同的企业业务场景对数据库的要求不同,一般会从性能、可扩展性、一致性等方面进行考量,需求适配是选型的第一要义,而可靠、可用、稳定性则是不同企业场景下都要满足的基本要求,若是从原有的数据库迁移则还需考虑兼容性。在此基础之上,企业还会考察数据库厂商的品牌、资质、生态、服务等并综合价格选择最优解。企业自身的IT建设水平、重视程度和预算也会对选择结果产生影响。
图表42:企业数据库选型核心指标
资料来源:艾瑞咨询,中金公司研究部
[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)
本文作者可以追加内容哦 !