近几年,随着数据湖概念的兴起,业界对于数据仓库和数据湖的对比甚至争论始终不断。数据仓库和数据湖的区别到底是什么?本文作者来自阿里巴巴计算平台部门,在深度参与阿里巴巴大数据 / 数据中台领域建设之后,将对数据湖和数据仓库的来龙去脉进行深入剖析,阐述两者融合演进的新方向——湖仓一体。
大数据 20 年发展的变与不变
概述
大数据从本世纪初发展到现在,已经历 20 年。从宏观层面观察其中的发展规律,可以高度概括成如下五个方面:

图 1. 阿里巴巴双十一单日处理数据量增长
-
数据保持高速增长
-
大数据作为新的生产要素,得到广泛认可
-
数据管理能力成为新的关注点
-
引擎技术进入收敛期
-
平台技术演进出两个趋势,数据湖 VS 数据仓库。两者均关注数据存储和管理(平台技术),但方向不同。
从大数据技术发展看湖和仓
纵观大数据的发展历史,可以看出数据仓库和数据湖有着截然不同的发展脉络。大体上,计算机科学领域的数据处理技术的发展,主要分为四个阶段:
阶段一:数据库时代。数据库最早诞生于 20 世纪的 60 年代,今天人们所熟知的关系型数据库则出现在 20 世纪 70 年代,并在后续的 30 年左右时间里大放异彩,诞生了很多优秀的关系型数据库,如 Oracle、SQL Server、MySQL、PostgresSQL 等,成为当时主流计算机系统不可或缺的组成部分。到 20 世纪 90 年代,数据仓库的概念诞生。此时的数据仓库概念更多表达的是如何管理企业中多个数据库实例的方法论,但受限于单机数据库的处理能力以及多机数据库(分库分表)长期以来的高昂价格,此时的数据仓库距离普通企业和用户都还很遥远。人们甚至还在争论数据仓库(统一集中管理)和数据集市(按部门、领域的集中管理)哪个更具可行性。
阶段二:大数据技术的「探索期」。2000 年左右,随着互联网的爆发,动辄几十亿、上百亿的页面以及海量的用户点击行为,开启了全球的数据量急剧增加的新时代。传统的数据库方案再也无力以可接受的成本提供计算力,巨大的数据处理需求开始寻找突破口,大数据时代开始萌芽。Google 先后发表 3 篇经典论文(GFS、MapReduce、BigTable),奠基了这个大数据时代的基本技术框架,即分布式存储、分布式调度以及分布式计算模型。随后,几乎是在同一时期,诞生了包括 Google,微软 Cosmos 以及开源 Hadoop 为代表的优秀分布式技术体系,当然,这其中也包括阿里巴巴的飞天系统。此时人们兴奋于追求数据的处理规模,即『大』数据,没有闲暇争论是数据仓库还是数据湖。
阶段三:大数据技术的「发展期」。21 世纪第二个 10 年,随着越来越多的资源投入到大数据计算领域,大数据技术进入一个蓬勃发展的阶段,整体开始从能用转向好用。代替手写 MapReduce 作业,是如雨后春笋般出现的各种以 SQL 为表达的计算引擎,极大降低了大数据技术的使用成本,数据库时代人们梦想的大一统的数据仓库终于成为现实,各种数据库时代的方法论开始抬头。这个时期技术路线开始出现细分。云厂商主推的如 AWS Redshift、Google BigQuery,包括 MaxCompute 这样的集成系统称为大数据时代的数据仓库。而以开源 Hadoop 体系为代表的的开放式 HDFS 存储、开放的文件格式、开放的元数据服务以及多种引擎(Hive、Presto、Spark、Flink 等)协同工作的模式,则形成了数据湖的雏形。
阶段四:大数据技术「普及期」。当前,大数据技术早已不是什么火箭科技,而已经渗透到各行各业,大数据的普及期已经到来。市场对大数据产品的要求,除了规模、性能、简单易用,提出了成本、安全、稳定性等更加全面的企业级生产的要求。
开源 Hadoop 线,引擎、元数据、存储等基础部件的迭代更替进入相对稳态,大众对开源大数据技术的认知达到空前的水平。一方面,开放架构的便利带来了不错的市场份额,另一方面开放架构的松散则使开源方案在企业级能力构建上遇到瓶颈,尤其是数据安全、身份权限强管控、数据治理等方面,协同效率较差。同时引擎自身的发展也对已有的开放架构提出了更多挑战,Delta Lake、Hudi 这样自闭环设计的出现使得一套存储、一套元数据、多种引擎协作的基础出现了某种程度的裂痕。
真正将数据湖概念推而广之的是 AWS。AWS 构筑了一套以 S3 为中心化存储、Glue 为元数据服务,E-MapReduce、Athena 为引擎的开放协作式的产品解决方案。它的开放性和开源体系类似,并在 2019 年推出 Lake Formation 解决产品间的安全授信问题。这套架构对于开源技术体系的用户来说,架构相近理解容易,仍然相当有吸引力。AWS 之后,各个云厂商也纷纷跟进数据湖的概念,并在自己的云服务上提供类似的产品解决方案。
云厂商主推的数据仓库类产品则发展良好,数仓核心能力方面持续增强。性能、成本方面极大提升(如 MaxCompute 连续三年刷新 TPCx-BigBench 世界记录),数据管理能力空前增强(发展出数据中台建模理论和智能数仓),企业级安全能力大为繁荣(如细粒度数据安全控制、服务可用性 SLA 等),在联邦计算方面也普遍做了增强,一定程度上开始将非数仓自身存储的数据纳入管理,和数据湖的边界日益模糊。
综上所述,数据仓库和数据湖是

本文深入剖析数据湖与数据仓库的起源和发展,提出阿里云MaxCompute的湖仓一体方案,旨在结合两者的优点,为企业提供更高效、灵活的大数据处理平台。

8841

被折叠的 条评论
为什么被折叠?



