湖仓一体技术与产业研究报告 (2023年) CCSATC601大数据技术标准推进委员会 2023年6月 版权声明 本报告版权属于CCSATC601大数据技术标准推进委 员会,并受法律保护。转载、摘编或利用其它方式使用本报告文字或者观点的,应注明“来源:CCSATC601大数据技术标准推进委员会”。违反上述声明者,本院将追究其相关法律责任。 编制说明 本报告的撰写得到了大数据领域多家企业与专家的支持和帮助,主要参与单位与人员如下。 参编单位:大数据技术标准推进委员会、中国移动通信集团山东 有限公司、威海市商业银行、阿里云计算有限公司、腾讯云计算(北京)有限责任公司、华为云计算有限公司、北京镜舟科技有限公司、北京飞轮数据科技有限公司、科大讯飞股份有限公司、中兴通讯股份有限公司、天津南大通用数据技术股份有限公司、杭州数梦工场科技有限公司、杭州比智科技有限公司、北京数势云创科技有限公司、浙江数新网络有限公司、北京百度网讯科技有限公司、北京滴普科技有限公司、北京科杰科技有限公司、北京偶数科技有限公司。 参编人员:魏凯、姜春宇、闫树、马鹏玮、田稼丰、刘彦美、朱 祥磊、高鹏、魏冲、刘一鸣、孔亮、林楠、王宁、崔潇扬、杨勇强、汪定新、王涵毅、白雪、赵峰、汤雅琴、伍攀、陈关良、赵青柏、谢辉、高经郡、张立群。 前言 数据平台是能够为企业提供数据分析能力、支撑上层数据应用、助力企业数字化转型的底层基础设施,它包含数据存储、数据计算分析等能力的一套基础设施,通过汇聚各方数据,提供“采-存-算-管-用”全生命周期的软件支撑。经过数十年的发展,数据平台架构持续演进,主要经历了数据库、数据仓库、数据湖三个阶段。 如今,数据仓库和数据湖是数据平台最广泛的两种架构:数据仓库具备规范性,可针对结构化数据进行集中式的存储和计算,但无法处理半结构化与非结构化数据,且其扩展能力有一定局限性;数据湖具有更好的扩展能力,能够灵活支持对于多种类型数据的高效取用,但不支持事务处理,缺乏一致性、隔离性,数据质量难以保障。数据仓库和数据湖是两套相对独立的体系,各有优劣势,无法相互替代。 为满足多种数据类型存储、多场景分析等业务诉求,企业采用数据湖+数据仓库混合架构。“数据湖+数据仓库”混合架构满足了结构化、半结构化、非结构化数据高效处理需求,解决了传统数据仓库在海量数据下加载慢、数据查询效率低、难以融合多种异构数据源进行分析的问题,但也存在混合架构复杂,开发运维难度大、成本高,数据处理链路长时效低等问题。 湖仓一体是指融合数据湖与数据仓库的优势,形成一体化、开放式数据处理平台的技术。通过湖仓一体技术,可使得数据处理平台底层支持多数据类型统一存储,实现数据在数据湖、数据仓库之间无缝调度和管理,并使得上层通过统一接口进行访问查询和分析。 自2021年“湖仓一体”首次写入Gartner数据管理领域成熟度模型报告以来,随着企业数字化转型的不断深入,“湖仓一体”作为新型的技术受到了前所未有的关注,越来越多的企业视“湖仓一体”为数字化转型的重要基础设施。湖仓一体平台的建设解决了流批一体面临的原子事务、一致性更新以及元数据性能瓶颈等问题,使得湖仓一体平台的构建既能满足短期业务发展的需要,又能支撑长期的数据应用诉求。 为给社会各界深入了解湖仓一体技术与产业提供有价值的参考。本报告聚焦于湖仓一体技术,详细梳理了数据平台发展历程、湖仓一体实践路径,研究分析了湖仓一体产业现状,并对湖仓一体未来发展进行了展望与研判。由于时间仓促,水平所限,错误和不足之处在所难免,欢迎各位读者批评指正,意见建议请发送至liuyanmei@caict.ac.cn。 目录 一、湖仓一体是数据平台发展的重要趋势1 (一)数据平台的发展历程1 (二)数据湖、数据仓库特性分析3 (三)湖+仓混合业务架构存在四大痛点4 (四)湖仓一体技术应运而生6 二、湖仓一体实践路径10 (一)湖上建仓11 (二)仓外挂湖13 三、湖仓一体产业及应用现状14 (一)湖仓一体主要厂商和代表产品15 (二)湖仓一体在互联网、电信、金融等信息化程度高的领域应用程度高17 四、结论与展望19 附录:典型案例21 图目录 图1数据平台发展历程图1 图2湖+仓混合架构图5 图3湖仓一体架构模块图7 图4《湖仓一体数据平台技术要求》标准总体框架8 图5《Gartner数据管理成熟度曲线》2022年10 图6我国数据平台软件市场规模15 图7实践路径统计图16 图82022年湖仓一体市场行业统计图17 表目录 表1数据湖与数据仓库对比表4 表2两种实现路径对比表11 表3湖仓一体主要厂商和代表产品15 表4各行业需求现状表17 一、湖仓一体是数据平台发展的重要趋势 (一)数据平台的发展历程 需求催生技术革新,在存储海量数据需求的推动下,数据平台架构持续演进,经过数十年的发展,主要经历了数据库、数据仓库、数据湖三个阶段。 图1数据平台发展历程图 来源:CCSATC601 数据库:20世纪60年代,数据库诞生,此时企业的数据量不大且数据类型比较单一。这一阶段企业对数据的使用需求主要是面向管理层从宏观层面对公司的经营状况做描述性分析,处理的数据为有限的结构化数据,支撑数据存储和计算的软件系统架构比较简单。20世纪70年代,最早出现的关系型数据库已经得到了一定程度的应用。关系型数据库主要应用于联机事务处理OLTP场景,如银行交易等。代表产品有Oracle、SQLServer、Mysql等。 数据仓库:随着互联网的快速普及,门户、搜索引擎、百科等应用用户快速增长,数据量呈爆发式增长,原有的单个关系型数据库架构无法支撑庞大的数据量。20世纪90年代数据仓库理论被提出。数据 仓库是为解决单个关系型数据库架构无法支撑庞大数据量的数据存储问题而诞生。数据仓库是为了对数据整合而形成的架构,核心是基于OLTP系统的数据源,根据联机分析处理OLAP场景诉求,将数据经过数仓建模形成ODS、DWD、DWS、DM等不同数据层,每层都需要进行清洗、加工、整合等数据开发(ETL)工作,并最终加载到关系型数据库中。数据仓库多为MPP(MassivelyParallelProcessor)架构,代表产品有Teradata、Greenplum、Clickhouse等。 2003-2006年,Google的“三驾马车”:分布式文件系统GFS、分布式计算框架MapReduce和数据库BigTable,为技术界提供了一种以分布式方式组织海量数据存储与计算的新思路。受此启发开源大数据项目Hadoop诞生了。2008年基于Hadoop自建离线数据仓库(Hive)成为数据仓库的首选方案。2010年前后,云厂商纷纷推出云数据仓库产品,如:AWSRedshift、GoogleBigQuery、Snowflake、MaxCompute等。 数据湖:随着移动互联网的飞速发展,半结构化、非结构化数据的存储、计算需求日益突出,对数据平台提出了新的要求。2010年,数据湖概念被提出,数据湖是一种支持结构化、半结构化、非结构化等数据类型大规模存储和计算的系统架构。随着Hadoop技术的成熟与普及,企业开始基于Hadoop、Spark及其生态体系中的配套工具搭建平台处理结构化、半结构化数据,同时利用批处理引擎实现数据批处理。而以开源Hadoop体系为代表的开放式HDFS存储、开放的文件格式、开放的元数据服务以及多种引擎(Hive、Presto、Spark等)协同工作的模式,形成了数据湖的雏形。Hudi、DeltaLake和Iceberg 三大开源数据湖技术的成熟,加速了数据湖产品化落地。数据湖将数据管理的流程简化为数据入湖和数据分析两个阶段。数据入湖即支持各种类型数据的统一存储。数据分析则以读取型Schema(schemaonread)形式,极大提升分析效率。代表产品有亚马逊-S3、LakeFormation,阿里云-数据湖构建DLF、数据开发治理Dataworks、对象存储OSS、开源大数据平台EMR,华为云-FusionInsightMRS云原生数据湖、DataArtsStudio数据治理中心,腾讯云-数据湖计算服务DLC、数据湖构建DLF、对象存储COS等。 (二)数据湖、数据仓库特性分析 数据仓库主要用于解决单个关系型数据库架构无法支撑庞大数据量的数据存储问题,很好地解决了TB到PB级别的数据处理问题,但是由于数据仓库仍以结构化数据为主,无法解决业务增长带来的半结构化、非结构化数据的存储、处理问题,且其整个建设过程需要遵循一系列规范,比如标准化的数据集成模式和存储格式、统一的数据仓库分层分域模型以及指标体系建设等,带来了数据仓库建设存储成本高、维护开发难度大、扩展能力受限制等问题。 数据湖的出现很好解决了数据仓库建设存在的一系列问题,将数据管理的流程简化为数据入湖和数据分析两个阶段。数据湖支持各种类型数据的统一存储。数据分析则以读取型(schemaonread)形式,极大提升分析效率。然而数据湖对多样类型数据的支持以及灵活高效的分析方式,带来了数据治理难的问题,比如因为缺乏治理导致数据质量下降、数据不可用等,很容易退化形成数据沼泽。 总的来看,数据仓库具备规范性,可针对结构化数据进行集中式的存储和计算,但成本相对昂贵且无法处理半结构化、非结构化数据,扩展性一般、扩展成本高;数据湖具有更大的存储量,支持对于多种类型数据的高效取用,但不支持事务处理、数据质量难以保障,且缺乏一致性、隔离性。数据仓库和数据湖是两套相对独立的体系,各有优劣势,无法相互替代。 表1数据湖与数据仓库对比表 差异项 数据湖 数据仓库 数据类型 所有数据类型 历史的、结构化的数据 Schema 读取型Schema 写入型Schema 计算能力 支持多计算引擎用于处理、分析所有类型数据 处理结构化数据,转化为多维数 据、报表,以满足后续高级报表及数据分析需求 成本 存储计算成本低,使用运维成本高 存储计算绑定、不够灵活、成本高 数据可靠性 数据质量一般,容易形成数据沼泽 高质量、高可靠性、事务隔离性好 扩展性 高扩展性 扩展性一般,扩展成本高 产品形态 一种解决方案,配合系列工具实现业务需求,灵活性更高 一般是标准化的产品 潜力 实现数据的集中式管理,能够为企业挖掘新的运营需求 存储和维护长期数据,数据可按需 访问 来源:CCSATC601 (三)湖+仓混合业务架构存在四大痛点 为满足多种数据类型存储、多场景分析等业务诉求,企业的数据 平台采用混合部署模式,数据湖、数据仓库、关系型数据库等多种架构并存,其中数据湖和数据仓库通过ETL进行数据交换。数据湖和数据仓库是两套独立的体系,其中数据湖基于Hadoop技术生态 (HDFS、Spark、Flink等技术)来实现,主要用于支撑多源异构的数据存储,执行批处理、流处理等工作负载。数据仓库主要基于MPP或者关系型数据库来实现,主要支撑结构化数据在OLAP场景下的BI分析和查询需求。 图2湖+仓混合架构图 来源:CCSATC601 “数据湖+数据仓库”混合架构满足了结构化、半结构化、非结构化数据高效处理需求,解决了传统数据仓库在海量数据下加载慢、数据查询效率低、难以融合多种异构数据源进行分析的问题,但也存在四大弊端: 一是数据冗余,增加存储成本。数据湖(Hadoop技术体系)和数据仓库(MPP技术体系)都属于分布式系统,两种技术栈都做了数据的冗余备份,同时,采用混合架构会导致部分数据既存储在Hadoop平 台,又存储在MPP平台的情况,进一步增加了数据冗余的比例,增加存储成本。 二是两个系统间额外的ETL(抽取、转化、加载)流程导致时效性差。在数据平台实际使用过程中,数据通常先入湖,进行批处理后入仓,最后为上层应用提供查询服务,整个数据链路过长,湖入仓的过程还需进行一次ETL,影响查询时效性。 三是数据一致性保障低,增加数据校验成本。两个系统之间通过数据迁移实现混合架构下的数据流动,在迁移过程中容易出现数