大数据云原生技术发展研究报告2023.docx
《大数据云原生技术发展研究报告2023.docx》由会员分享,可在线阅读,更多相关《大数据云原生技术发展研究报告2023.docx(48页珍藏版)》请在三一办公上搜索。
1、一、大数据平台与云原生技术的发展与演进1(一)数据平台的发展与演进1(一)云原生技术简述9(三)大数据与云原生结合分析12二、传统大数据平台的需求与痛点15(一)交付运维成本高16(二)资源利用率低17(三)系统迭代与兼容性挑战18(四)安全相关挑战19三、云原生技术解决大数据问题的思路20(一)云原生技术提升运维交付质量与效率20(二)云原生技术提升集群资源使用率和弹性22(三)云原生技术提升大数据平台迭代效率26(四)云原生技术提升大数据安全和隐私保护27(五)云原生技术带来的其它好处31(六)大数据云原生引入的新挑战35四、大数据云原生技术的架构简述40(一)云原生大数据平台的架构原则4
2、0(二)云原生大数据平台的参考架构41五、大数据云原生的未来发展和战略建议44(一)技术发展方向44(二)针对行业的建议44(三)针对企业和用户的建议45六、参考文献46而SBI RePOrtg机环学 W分析关系型数据库数据库数据仓库来源:CCSATC601 图1:数据分析技术演进图、大数据平台与云原生技术的发展与演进(一)数据平台的发展与演进需求催生技术革新,在海量数据需求的推动下,数据平台架构持续演进,经过数十年的发展,历经了数据库、数据仓库、数据湖、湖仓一体等概念。这里按出现顺序简述:(其中关于数据湖和湖仓一体目前业界有多种不同的定义,这里我们采用其中一种定义说明)eni_数据湖;ISM
3、O)结构化、半结构化、非结构化数据数据湖大数据技术标准推进委员会数据库(DataBase):自1980年代初至中期起,数据管理工具主要呈现为数据库形式,以面向事务交易的OLTP场景为主,数据分析功能则作为辅助。这些数据库主要用于向管理层提供固定报表,支持宏观管理决策。它们通过标准SQL提供数据分析能力,主要代表产品包括OraCle、SqlServerMysql等。以前:提升单机性能:IBM小型机、EMC企业级存储、OraCIe企业级数据库ORACL于己三三三三车没有专门面向数据分析 场景的产品。当时还是 以面向事务交易场景为 主,数据分析仅作为附 带提供的场景。图2早期数据库阶段系统架构数据仓
4、库(DataWarehouse):随着互联网的快速普及,门户、搜索引擎、百科等应用快速增长,数据量呈爆发式增长,原有的单个关系型数据库架构无法支撑庞大的数据量。20世纪90年代数据仓库理论被提出,核心是基于OLTP系统的数据源,根据联机分析处理OLAP场景诉求,将数据经过数仓建模形成ODS、DWD、DWS、DM等不同数据层,每层都需要进行清洗、加工、整合等数据开发(ETL)工作,并最终加载到关系型数据库中。数据源We”日志IoTETL 传统 企业数据仓库共享数据 H数据提取数据集市数据消费者来源:云原生产业联盟图3:C)LAP系统建设数据仓库架构是为了解决单个关系型数据库架构无法支撑庞大数据量
5、的数据存储分析问题。传统数据仓库多为MPP(MassivelyParaneIPrOCeSSOr)架构,代表产品有Teradata、GreenPIUm等,当前MPP架构依然为新型数仓的重要选择,比如CIiCkHouse,Doris,StarRocks等。随着Hadoop技术的成熟与普及,基于Hadoop自建离线数据仓库(HiVe)是常见的大数据平台之上数据仓库方案,在目前依然发挥着重要的作用。数据湖(DataLake):随着移动互联网的飞速发展,半结构化、非结构化数据的存储、计算需求日益突出,对数据平台提出了新的要求。以开源Hadoop体系为代表的开放式HDFS存储(或S3)、开放的文件格式、开
6、放的元数据服务(HiVeMetaStore等)以及多种引擎(Hive、Spark、Flink、PreSto等)协同工作的模式,形成了数据湖的雏形。数据迁移分布式日志收集系统Flume分布式消息系统Kafka数据格式转化工具Sqoop集群管理与调度数据存储与管理分布式文件系统分布式列存数据库HDFSHBase关系式数据库MySQI .数据仓库(数据查询)Hive集群管分布式资源管理翡YARN数据计算分布式计算引擎MapReduce通用大数据快速处理引擎Spark分布式实时计算系统Storm分布式批流一体计算框架Flink集群协调分布式协调系统Zookeeper数据分析、挖掘、查询通用大数据快速处
7、理引擎Spark分布式批流一体计算框架Flink收据仓库(数据查询)Hive来源:云原生产业联盟图4:Hadoop生态系统重要组件2010年,数据湖概念被提出,数据湖是一种支持结构化、半结构化、非结构化等数据类型大规模存储和计算的系统架构。数据湖与数据仓库的主要区别在于数据仓库中数据在进入仓库之前是需要实现归类,而数据湖是把大量原始数据通过廉价存储保存下来。数据湖架构的特点可总结为:低成本、原始数据、需灵活使用、面向任务数据绑定、不提前定义数据模型。表1数据湖与数据仓库对比表差异项数据湖数据仓库数据类型所有数据类型历史的、结构化的数据Schema读取型SChema写入型SChema计算能力支持
8、多计算引擎用于处理、分析所有类型数据处理结构化数据,转化为多维数据、报表,以满足后续高级报表及数据分析需求成本存储计算成本低,使用运维成本高存储计算绑定、不够灵活、成本高数据可靠性数据质量一般,容易形成数据沼泽高质量、高可靠性、事务隔离性好扩展性高扩展性扩展性一般,扩展成本高产品形态一种解决方案,配合系列工具实现业务需求,灵活性更高一般是标准化的产品潜力实现数据的集中式管理,能够为企业挖掘新的运营需求存储和维护长期数据,数据可按需访问来源:CCSATC601从解决场景的角度来看,数据仓库和数据湖各有其适合覆盖场景,基本上属于互补关系,前者更多是解决固定的、明确的数据问题;后者则为应对随机性、探
9、索式的数据问题。下图是一个示意图。SNO-ISWnOUMoUXUnUA-OUXKnownUnknownDATA来源:Gartne图5:数据仓库和数据湖的场景湖仓一体(LakeHouse):为满足多种数据类型存储、多场景分析等业务诉求,企业的数据采用混合部署模式,其中数据湖和数据仓库通过ETL进行数据交换,数据湖和数据仓库是两套独立的体系。企业应用分析(查询、统计、数据分析等)数据平台关系型数据库(OLTP)数据仓库-MPP数仓(OLAP)元数据数据集市SQL优化I 资源管理Ij大表关联I j用亍加教数据湖-HadOoPHDFSPresto仆数据源绮勾化、半结构化、非结构化)来源:CCSATC6
10、01图6:湖+仓混合架构图“数据湖+数据仓库”混合架构满足了结构化、半结构化、非结构化数据高效处理需求,解决了传统数据仓库在海量数据下加载慢、数据查询效率低、难以融合多种异构数据源进行分析的问题,但混合架构是技术向业务妥协的一个产物,存在数据冗余,增加存储成本,两个系统间额外的ETL流程导致时效性差,数据一致性保障低,混合架构开发运维复杂等弊端。2020年Databricks提出“湖仓一体”的概念,到目前技术和概念侧依然在持续演进。湖仓一体是指融合数据湖与数据仓库的优势,形成一体化、开放式数据处理平台的技术。通过湖仓一体技术,可使得数据处理平台底层支持多数据类型统一存储,实现数据在数据湖、数据
11、仓库之间无缝调度和管理,并使得上层通过统一接口进行访问查询和分析。总的来看,湖仓一体通过引入数据仓库治理能力,既可以很好解决数据湖建设带来的数据治理难问题,也能更好挖掘数据湖中的数据价值,将高效建仓和灵活建湖两大优势融合在一起,提升了数据管理效率和灵活性。湖仓一体目前没有统一的架构,在企业需求的驱动下,各开源技术和厂商基于原有架构演进,数据湖与数据仓库在原本的范式之上扩展。逐渐形成了“湖上建仓”与“仓外挂湖”两种湖仓一体实现路径。如图7和表2所示。湖上建仓和仓外挂湖虽然出发点不同,但最终湖仓一体的目标一致。表2两种实现路径对比表实现路径优势劣势需解决的问题实现方向湖上建仓(HadooP体系)支
12、持海且将4E离线批处理不支持高并发数据集市、即席查询、事务一致性等1 .统一元数据管理2 .ACID3 .查询性能提升4 .存储兼性问题5 .存算分离6 .弹性伸缩1.提升查询引擎、存储引擎能力仓外挂湖(MPP体系)一结数Ap务性彳O析事致构据分不支持非结构化/半结构化数据存储、机器学习等1 .统元数据管理2 .存储开放性3 .扩展查询引擎4 .存算分离5 .弹性伸缩1 .计算引擎不变,只扩存储能力2 .查询引擎扩展,提升查询引擎效率来源:CCSATC601仔堆湖:以MPF噪构的数仓为核心引擎,向外扩展其存储至IIDFS或对象存储。业务应用湖上建仓:以UadoOP体系演进的数据湖为基础, 弓I
13、入数据仓库的数据治能力业务应用认 证 ff 权 跟湖仓数据治理数据仓库元数据内置存储HDFSl对象存储一统一元数据管理0数据源(日志、埋点、文本、音视频等)图7:湖仓一体架构模块图(二)云原生技术简述云原生的发展简述:云原生(CIOUdNatiVe),最初由PiVOtaI公司的MattStine在2013年提出,随后LinUX基金会在2015年成立了云原生计算基金会(CNCF)oCNCF不仅推广了云原生这一概念,还逐步构建了以云原生为核心的技术生态工具。到2018年,KUberneteS成为CNCF的首个毕业项目。目前,Kubernetes已经确立了在容器编排领域的领导地位,并推动了云原生技术
14、的广泛应用。来源:httpscf.io 图8:云原生LandSCaPe (景观)指南2 曼色W云原生的核心思想:云原生普遍被认为包含四大核心要素:DeVOPs、微服务、持续交付和容器化。DevOps:DevOps是开发(DeVeIoPment)和运维(C)PeratiOnS)的结合,它推动了开发和运维团队的紧密协作。在DevOps文化中,软件的开发、测试、部署和监控过程是连续的,不断循环,旨在加快软件交付速度并提高质量。持续交付:持续交付是一种软件工程方法,它允许软件在短时间内且持续地被交付到生产环境。它通过自动化开发、测试和部署流程来支持频繁的版本发布,旨在减少发布新功能和修复的时间。微服务
15、:微服务架构是一种设计方法,将应用程序分解为一组较小、相互独立的服务,每个服务都围绕特定业务功能构建,并可独立部署。容器:容器技术,如Docker,提供了一种轻量级、可移植的方法来封装、部署和运行应用。KUbemeteS(K8S)则发展为容器编排和管理的领导者,它提供了高级的部署、扩展和运行容器化应用的能力。CNCF重新定义云原生:随着云原生生态的不断壮大,CNCF基金会容纳的项目越来越多,到了2018年,原来的定义已经限制了云原生生态的发展,CNCF为云原生进行了重新定义:“云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、
16、服务网格、微服务、不可变基础设施和声明式APL这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的重大变更。云原生计算基金会(CNCF)致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。我们通过将最前沿的模式民主化,让这些创新为大众所用。”新的定义继续保持原有的核心内容:容器和微服务,加入了服务网格、不可变基础设施和声明式APl这三个重要设计指导理念,并且强调了公有云、私有云和混合云等新型动态环境。(三)大数据与云原生结合分析从2018年起,一些开源大数据引擎陆续开始了OnKUberneteS的探索:
17、2018年3月,Sparkv2.3.0开始探索OnKubernetes 2018年6月,KubernetesAirflowOperator在正式发布 2019年8月,StarburstPresto宣布支持K8S 2020年2月,Flinkvl.10.0发布NativeKubernetesbeta版 2020年2月,HiVe探索MR3运行在KUberneteS上而到了2021年3月,ApacheSpark3.1正式支持了kubemetes,越来越多的企业开始在生产环境使用大数据云原生融合的技术。根据Pepperdata关于u2022BigDataonKubemetesReport,显示:来源:P
18、ePPerdata2022BigDataonKubemetesReport图9:大数据云原生融合情况与上云目的50%+的受访者正在将大数据应用迁移至KUbemeteS中,以降低整体成本。报告显示,迁移原因排名前四的是:1 .超过45%的受访者为了提高应用程序的性能和稳定性而选择将任务迁移至Kubernetes2 .为任务负载具备更高的灵活性和可移植性。3 .降低成本。4 .多云解决方案避免被一个云厂商绑定。从任务分布上可以看出:占比最高的大数据作业依次是Spark.PrestoKafka、TrinoFlink,可以看到基本上涵盖了大数据领域的批处理、交互式分析和流处理场景。国内外云厂商也一直加
19、大产品技术在云原生(SerVerleSS)方向的投入和引导。亚马逊云科技在2022年re:InVent中宣布其大数据核心产品已全面Serverless化,阿里云在2023年云栖大会上将Serverless作为大会主题之一,包括大数据在内的多款云产品均发布了其Serverless相关的产品能力。单纯从技术趋势的角度来看,无论是技术还是产品,大数据云原生化都是发展的必然趋势。与云原生融合的一些其它声音,也值得我们关注:值得一提的是,在数据库领域,对于“数据库是否应该放到K8S”这个话题有一些讨论,虽然大数据有一些不同,但可以参考:反方认为:维持已经成熟和可靠的系统不需要K8S:认为将数据库放入K8
20、S中会导致“双输”K8S失去了无状态的简单性,不能像纯无状态使用方式那样灵活搬迁调度销毁重建;而数据库也牺牲了一系列重要的属性:可靠性,安全性,性能,以及复杂度成本,却只能换来有限的“弹性”与资源利用率,但虚拟机也可以做到这些。整体论点分为以下四点:1 .增加复杂度和不可靠性:K8S增加了额外的架构复杂度和潜在失效点。2 .性能挑战:在K8S上运行的数据库可能面临性能问题。3 .安全和合规风险:多租户环境和更多的组件依赖,增加数据库的安全威胁,使得审计和合规更加复杂。4 .成本和维护问题:尽管K8S在一定程度上简化了数据库管理,但可能无法抵消其自身引入的复杂度和维护成本。正方认为,数据库OiI
21、K8S,是专业能力的普及化:这里的“专业能力”指的是高可用性、弹性伸缩、容错等能力,它们通常需要复杂的技术实现和专业知识。通过将数据库部署在K8S,这些能力可以通过K8S的自动化和标准化机制更容易地实现和普及,降低了对专业数据库管理技能的依赖。整体论点主要也是下面四点:1 .资源弹性和伸缩性:K8S提供强大的资源弹性和伸缩性,适应业务需求的波动,在高峰期自动扩展资源,在低谷期收回,有效节约成本。2 .容器技术的优势:Docker等容器技术提供了轻量级和标准化的部署方式。容器对数据库性能影响很小。3 .K8S的运维能力:包括路由网关、水平扩展、监控、备份和灾难恢复等,这些能力有助于数据库的高可用
22、性和持续运行。4 .高可用性等解决方案:固化高可用方案,提供主从秒级切换和数据一致性等特性。“它山之石,可以攻玉”,虽然数据库与数据平台在场景和技术架构上会有一些不同,但大数据云原生的融合在这个问题上依然值得借鉴思考。二、传统大数据平台的需求与痛点传统围绕HadooP生态构建的大数据平台,存在着交付运维成本高、资源利用率低、系统迭代与兼容性挑战和安全相关挑战。用户期望大数据云原生技术能够在这些方面为传统的大数据平台带来优化和改进。(一)交付运维成本高传统大数据平台的建设和维护目前是一个重要且复杂的任务。这些平台通常包括多种不同的组件,它们在技术栈、功能和架构上存在显著差异。这种多样性不仅使得平
23、台的部署和配置变得极为复杂,也大幅增加了整体的运维成本。组件多样性导致较高的人力需求:大数据平台包含多种组件,这些组件在技术栈(如Java、C+)、功能(如流处理、批处理,OLAP)和架构(如C/S、MPP)方面各不相同。部署,配置和维护如此多样的技术栈需要大量的专业人力,特别是在部署和交付新的大数据平台时,人力资源的需求和成本会显著增加。运维专业性与效率:大数据组件的复杂性,具有较高的运维知识门槛。这不仅增加了运维团队的工作负担,还可能导致效率低下和更频繁的解决问题需求,从而增加成本。工具与管理挑战:许多大数据组件缺乏开箱即用的日志、监控和告警功能,导致运维团队需要为每个组件单独开发和适配这
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 原生 技术发展 研究 报告 2023
链接地址:https://www.31ppt.com/p-6818213.html