需求催生技术革新,在存储海量数据需求的推动下,数据平台架构持续演进,经过数十年的发展,主要经历了数据库、数据仓库、数据湖三个阶段。
来源:CCSA TC601
图1 数据平台发展历程图
数据库:20世纪60年代,数据库诞生,此时企业的数据量不大且数据类型比较单一。这一阶段企业对数据的使用需求主要是面向管理层从宏观层面对公司的经营状况做描述性分析,处理的数据为有限的结构化数据,支撑数据存储和计算的软件系统架构比较简单。20世纪70年代,最早出现的关系型数据库已经得到了一定程度的应用。关系型数据库主要应用于联机事务处理OLTP场景,如银行交易等。代表产品有Oracle、SQL Server、Mysql等。
数据仓库:随着互联网的快速普及,门户、搜索引擎、百科等应用用户快速增长,数据量呈爆发式增长,原有的单个关系型数据库架构无法支撑庞大的数据量。20世纪90年代数据仓库理论被提出。数据仓库是为解决单个关系型数据库架构无法支撑庞大数据量的数据存储问题而诞生。数据仓库是为了对数据整合而形成的架构,核心是基于OLTP系统的数据源,根据联机分析处理OLAP场景诉求,将数据经过数仓建模形成 ODS、DWD、DWS、DM等不同数据层,每层都需要进行清洗、加工、整合等数据开发工作,并最终加载到关系型数据库中。数据仓库多为MPP(Massively Parallel Processor)架构,代表产品有Teradata、Greenplum、Clickhouse等。
2003-2006年,Google的“三驾马车”:分布式文件系统GFS、分布式计算框架MapReduce和数据库Big Table,为技术界提供了一种以分布式方式组织海量数据存储与计算的新思路。受此启发开源大数据项目Hadoop诞生了。2008年基于Hadoop自建离线数据仓库(Hive)成为数据仓库的首选方案。2010年前后,云厂商纷纷推出云数据仓库产品,如:AWS Redshift、Google BigQuery、Snowflake、MaxCompute 等。
数据湖:随着移动互联网的飞速发展,半结构化、非结构化数据的存储、计算需求日益突出,对数据平台提出了新的要求。2010年,数据湖概念被提出,数据湖是一种支持结构化、半结构化、非结构化等数据类型大规模存储和计算的系统架构。随着Hadoop技术的成熟与普及,企业开始基于Hadoop、Spark及其生态体系中的配套工具搭建平台处理结构化、半结构化数据,同时利用批处理引擎实现数据批处理。而以开源 Hadoop 体系为代表的开放式 HDFS 存储、开放的文件格式、开放的元数据服务以及多种引擎(Hive、Presto、Spark等)协同工作的模式,形成了数据湖的雏形。Hudi、Delta Lake和Iceberg三大开源数据湖技术的成熟,加速了数据湖产品化落地。数据湖将数据管理的流程简化为数据入湖和数据分析两个阶段。数据入湖即支持各种类型数据的统一存储。数据分析则以Schema on read形式,极大提升分析效率。代表产品有亚马逊-S3、LakeFormation,阿里云-数据湖构建DLF、数据开发治理Dataworks、对象存储OSS、开源大数据平台EMR,华为云- FusionInsight MRS云原生数据湖、DataArts Studio数据治理中心,腾讯云-数据湖计算服务DLC、数据湖构建DLF、对象存储COS等。
数据仓库主要用于解决单个关系型数据库架构无法支撑庞大数据量的数据存储问题,很好地解决了TB到PB级别的数据处理问题,但是由于数据仓库仍以结构化数据为主,无法解决业务增长带来的半结构化、非结构化数据的存储、处理问题,且其整个建设过程需要遵循一系列规范,比如标准化的数据集成模式和存储格式、统一的数据仓库分层分域模型以及指标体系建设等,带来了数据仓库建设存储成本高、维护开发难度大、扩展能力受限制等问题。
数据湖的出现很好解决了数据仓库建设存在的一系列问题,将数据管理的流程简化为数据入湖和数据分析两个阶段。数据湖支持各种类型数据的统一存储。数据分析则以Schema on read形式,极大提升分析效率。然而数据湖对多样类型数据的支持以及灵活高效的分析方式,带来了数据治理难的问题,比如因为缺乏治理导致数据质量下降、数据不可用等,很容易退化形成数据沼泽。
总的来看,数据仓库具备规范性,可针对结构化数据进行集中式的存储和计算,但成本相对昂贵且无法处理半结构化、非结构化数据,扩展性一般、扩展成本高;数据湖具有更大的存储量,支持对于多种类型数据的高效取用,但不支持事务处理、数据质量难以保障,且缺乏一致性、隔离性。数据仓库和数据湖是两套相对独立的体系,各有优劣势,无法相互替代。
来源:CCSA TC601
表1 数据湖与数据仓库对比表
为满足多种数据类型存储、多场景分析等业务诉求,企业的数据平台采用混合部署模式,数据湖、数据仓库、关系型数据库等多种架构并存,其中数据湖和数据仓库通过ETL(抽取、转换、加载)进行数据交换。数据湖和数据仓库是两套独立的体系,其中数据湖基于Hadoop技术生态(HDFS、Spark、Flink等技术)来实现,主要用于支撑多源异构的数据存储,执行批处理、流处理等工作负载。数据仓库主要基于MPP或者关系型数据库来实现,主要支撑结构化数据在OLAP场景下的BI分析和查询需求。
来源:CCSA TC601
图2 湖+仓混合架构图
“数据湖+数据仓库”混合架构满足了结构化、半结构化、非结构化数据高效处理需求,解决了传统数据仓库在海量数据下加载慢、数据查询效率低、难以融合多种异构数据源进行分析的问题,但也存在四大弊端:
一是数据冗余,增加存储成本。数据湖(Hadoop技术体系)和数据仓库(MPP技术体系)都属于分布式系统,两种技术栈都做了数据的冗余备份,同时,采用混合架构会导致部分数据既存储在Hadoop平台,又存储在MPP平台的情况,进一步增加了数据冗余的比例,增加存储成本。
二是两个系统间额外的ETL(抽取、转换、加载)流程导致时效性差。在数据平台实际使用过程中,数据通常先入湖,进行批处理后入仓,最后为上层应用提供查询服务,整个数据链路过长,湖入仓的过程还需进行一次ETL(抽取、转换、加载),影响查询时效性。
三是数据一致性保障低,增加数据校验成本。两个系统之间通过数据迁移实现混合架构下的数据流动,在迁移过程中容易出现数据不一致问题,增加了数据一致性校验成本。
四是混合架构复杂,开发运维难度大、成本高。两种孤立技术栈混合部署使得数据架构复杂,平台开发运维难度大、成本高。
“数据湖+数据仓库”混合架构是技术向业务妥协的一个产物,并不是真正意义的湖仓一体平台。2020年Databricks提出“湖仓一体”概念,随着云计算的深入应用,以容器、DevOps、微服务等为代表的云原生技术与大数据技术进一步深度融合,采用存算分离架构,同时利用云原生的资源弹性扩缩容、按需分配特点实现了资源进一步集约化,进而降低成本,同时促进了湖仓一体技术的兴起。
1. 湖仓一体概念
湖仓一体是指融合数据湖与数据仓库的优势,形成一体化、开放式数据处理平台的技术。通过湖仓一体技术,可使得数据处理平台底层支持多数据类型统一存储,实现数据在数据湖、数据仓库之间无缝调度和管理,并使得上层通过统一接口进行访问查询和分析。湖仓一体架构模块图详见图3。总的来看,湖仓一体通过引入数据仓库治理能力,既可以很好解决数据湖建设带来的数据治理难问题,也能更好挖掘数据湖中的数据价值,将高效建仓和灵活建湖两大优势融合在一起,提升了数据管理效率和灵活性。
来源:CCSA TC601
图3 湖仓一体架构模块图
2. 湖仓一体基本能力
为进一步规范湖仓一体数据平台技术体系,中国信通院云计算与大数据研究所依托中国通信标准化协会大数据技术标准推进委员会(CCSA TC601),联合多个电信、金融应用单位,以及阿里云、腾讯云、巨杉数据库、新华三、南大通用、甲骨文、百度云、思特奇、平安科技、云粒、科杰科技、数梦工场、滴普科技、北明数科、比智等领域内企业共同编制完成了《湖仓一体数据平台技术要求》,旨在帮助大数据产品供应商及用户方评估湖仓一体数据平台的技术能力和研发方向。本标准覆盖了湖仓一体数据平台所具备的一系列能力,总体分为湖仓数据集成、湖仓存储、湖仓计算、湖仓数据治理、湖仓其他能力五个能力域。
来源:CCSA TC601
图4《湖仓一体数据平台技术要求》标准总体框架
2.1湖仓数据集成能力
便利的数据入湖、入仓是湖仓一体纳管数据能力的开始。湖仓数据集成能力包括(1)统一外部关系型数据库、NoSQL数据库、分布式文件系统等数据源的管理。(2)数仓可对数据湖数据对象转换为数仓的数据管理对象进行数据和权限管理(升仓),同时支持数仓内价值密度低的数据进行入湖操作的湖仓数据转换能力。(3)具备实时与批量数据入湖、入仓能力,以及入湖任务配置与管理的入湖仓能力。
2.2湖仓存储能力
湖仓存储需兼容数据格式,保障数据自由入湖仓的安全和质量。湖仓存储能力包括(1)具备数据存储和计算资源独立部署,以及动态扩缩容存储、计算资源的存算分离能力。(2)湖仓数据冷、热分级存储的存储分级能力。(3)支持Hudi、Iceberg、Deltalake等数据湖格式,且实现事务支持处理能力,支持模式(Schema)在线调整。(4)数据缓存加速能力,支持配置多种缓存策略的存储加速能力。(5)湖仓数据加密存储的存储加密能力。
2.3湖仓计算能力
湖仓一体架构涉及异构数据平台对数据的处理,与传统 ELT/ETL(抽取、加载、转换/抽取、转换、加载)形式不同的是数据无需移动。湖仓计算能力包括(1)存储生态能力,涵盖数仓引擎可以对数据湖数据进行读写,数据湖引擎同样可对数仓数据进行读写。(2)统一的认证、授权体系。(3)统一开发平台进行湖仓数据开发利用、作业调度、任务运维监控。(4)计算资源弹性扩缩容,且能够对弹性资源的使用情况进行监控。(5)对湖仓数据可进行科学计算、向量计算、机器学习等多场景融合分析。(6)对湖仓存储资源、计算资源进行统一管理、分配、使用以及监控。(7)支持批处理、实时计算、OLAP分析等多种计算模式。
2.4湖仓数据治理能力
统一数据治理能够替客户屏蔽底层异构数据平台的复杂性,给客户带来更好的体验。湖仓数据治理能力包括(1)元数据自动发现、自动识别、自动采集、元数据存储等统一元数据管理能力。(2)对湖仓内数据有统一的数据权限管理能力。(3)对数据的访问频次、时间、数据量等维度可进行评估的数据评估能力。(4)对湖仓内的数据流转、生命周期有清晰描述的统一湖仓血缘能力。(5)支持数据质量的规则设置、校验以及质量管理。(6)可在湖仓异构访问过程中对敏感数据加密。(7)可提供统一数据建模能力,包含逻辑模型、物理模型,并提供数据模型的生命周期管理。
2.5湖仓其他能力
本标准梳理了湖仓一体必备且专有的技术要求能力,除去存储、计算、集成、治理外的其他能力,主要包括异地容灾能力。
自2021年“湖仓一体”首次写入Gartner 数据管理领域成熟度模型报告以来,湖仓一体技术备受关注。从Gartner发布的《Gartner数据管理成熟度曲线》(2022年)可以看出,数据湖技术日趋成熟,湖仓一体技术成熟期相比2021年缩短,期望值升高。同时各大云厂商纷纷推出湖仓一体产品,如AWS智能湖仓、Databricks- Lakehouse Platform、阿里云- MaxCompute湖仓一体、华为云- FusionInsight MRS、腾讯云-云原生智能数据湖。
来源:Gartner
图5《Gartner数据管理成熟度曲线》2022年
本文节选自大数据技术标准推进委员会于“2023大数据产业发展大会”上发布的《湖仓一体技术与产业研究报告(2023年)》。
报告介绍及全文下载链接如下:
中国信息通信研究院(简称“中国信通院”)自2021年底开始开展湖仓一体领域相关工作,依托中国通信标准化协会大数据技术标准推进委员会(TC601),联合电信、移动、联通、阿里、腾讯等湖仓一体产业界的企业,先后制定了面向湖仓一体数据平台技术能力的《云原生数据湖技术要求》、《云原生湖仓一体数据平台技术要求》,和面向湖仓一体数据平台应用能力的《湖仓一体数据平台建设成熟度模型》标准。目前湖仓一体相关标准均已加入“可信大数据”评估测试体系。
目前,2023年下半年中国信通院“可信大数据”系列评估测试报名正式开始,欢迎联系咨询!
测试时间:2023年7月1日-2023年11月30日
技术咨询:
刘老师 18513676848
田老师 18795986568
中国通信标准化协会大数据技术标准推进委员会(CCSA TC601,简称:数标委/BDC),旨在凝聚产业链各个环节,识别和解决大数据发展面临的重大问题,开展大数据技术、数据资产管理、数据共享与流通、数据安全等共性基础标准研究,以标准推进工作为纽带,推动大数据与实体经济深度融合。欢迎加入我们的行列!
入会咨询:白老师 13520285502
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...