数据湖 VS 数据仓库之争?阿里提出大数据架构新概念:湖仓一体

作者 |关涛、李睿博、孙莉莉、张良模、贾扬清(from 阿里云智能计算平台)

黄波、金玉梅、于茜、刘子正(from 新浪微博机器学习研发部)

编者按

随着近几年数据湖概念的兴起,业界对于数据仓库和数据湖的对比甚至争论就一直不断。有人说数据湖是下一代大数据平台,各大云厂商也在纷纷的提出自己的数据湖解决方案,一些云数仓产品也增加了和数据湖联动的特性。但是数据仓库和数据湖的区别到底是什么,是技术路线之争?是数据管理方式之争?二者是水火不容还是其实可以和谐共存,甚至互为补充?本文作者来自阿里巴巴计算平台部门,深度参与阿里巴巴大数据/数据中台领域建设,将从历史的角度对数据湖和数据仓库的来龙去脉进行深入剖析,来阐述两者融合演进的新方向——湖仓一体,并就基于阿里云MaxCompute/EMR DataLake的湖仓一体方案做一介绍。

大数据领域发展20年的变与不变

1.1 概述

大数据领域从本世纪初发展到现在,已经历20年。从宏观层面观察其中的发展规律,可以高度概括成如下五个方面:

1、数据保持高速增长- 从5V核心要素看,大数据领域保持高速增长。阿里巴巴经济体,作为一个重度使用并着力发展大数据领域的公司,过去5年数据规模保持高速增长(年化60%-80%),增速在可见的未来继续保持。对于新兴企业,大数据领域增长超过年200%。

2、 大数据作为新的生产要素,得到广泛认可- 大数据领域价值定位的迁移,从“探索”到“普惠”,成为各个企业/政府的核心部门,并承担关键任务。还是以阿里巴巴为例,30%的员工直接提交大数据作业。随大数据普惠进入生产环境,可靠性、安全性、管控能力、易用性等企业级产品力增强。

3、数据管理能力成为新的关注点- 数仓(中台)能力流行起来,如何用好数据成为企业的核心竞争力。

4、引擎技术进入收敛期 - 随着Spark(通用计算)、Flink(流计算)、Hbase(KV)、Presto(交互分析)、ElasticSearch(搜索)、Kafka(数据总线)自从2010-2015年逐步占领开源生态,最近5年新引擎开源越来越少,但各引擎技术开始向纵深发展(更好的性能、生产级别的稳定性等)。

5、平台技术演进出两个趋势,数据湖 VS 数据仓库- 两者均关注数据存储和管理(平台技术),但方向不同。

image.png
图1. 阿里巴巴双十一单日处理数据量增长

1.2 从大数据技术发展看湖和仓

首先,数据仓库的概念出现的要比数据湖早的多,可以追溯到数据库为王的上世纪 90 年代。因此,我们有必要从历史的脉络来梳理这些名词出现的大概时间、来由以及更重要的背后原因。大体上,计算机科学领域的数据处理技术的发展,主要分为四个阶段:

1、阶段一:数据库时代。数据库最早诞生于 20 世纪的 60 年代,今天人们所熟知的关系型数据库则出现在 20 世纪 70 年代,并在后续的 30 年左右时间里大放异彩,诞生了很多优秀的关系型数据库,如 Oracle、SQL Server、MySQL、PostgresSQL 等,成为当时主流计算机系统不可或缺的组成部分。到 20 世纪 90 年代,数据仓库的概念诞生。此时的数据仓库概念更多表达的是如何管理企业中多个数据库实例的方法论,但受限于单机数据库的处理能力以及多机数据库(分库分表)长期以来的高昂价格,此时的数据仓库距离普通企业和用户都还很遥远。人们甚至还在争论数据仓库(统一集中管理)和数据集市(按部门、领域的集中管理)哪个更具可行性。

2、阶段二:大数据技术的「探索期」。时间进入到 2000 年附近,随着互联网的爆发,动辄几十亿、上百亿的页面以及海量的用户点击行为,开启了全球的数据量急剧增加的新时代。传统的数据库方案再也无力以可接受的成本提供计算力,巨大的数据处理需求开始寻找突破口,大数据时代开始萌芽。2003、2004、2006 年 Google 先后 3 篇经典论文(GFS、MapReduce、BigTable)奠基了这个大数据时代的基本技术框架,即分布式存储、分布式调度以及分布式计算模型。随后,几乎是在同一时期,诞生了包括 Google,微软 Cosmos 以及开源 Hadoop 为代表的优秀分布式技术体系,当然,这其中也包括阿里巴巴的飞天系统。此时人们兴奋于追求数据的处理规模,即『大』数据,没有闲暇争论是数据仓库还是数据湖。

3、阶段三:大数据技术的「发展期」。来到 21 世纪的第二个 10 年,随着越来越多的资源投入到大数据计算领域,大数据技术进入一个蓬勃发展的阶段,整体开始从能用转向好用。代替昂贵的手写 MapReduce 作业的,则是如雨后春笋般出现的各种以 SQL 为表达的计算引擎。这些计算引擎针对不同的场景进行针对性优化,但都采用门槛极低的 SQL 语言,极大降低了大数据技术的使用成本,数据库时代人们梦想的大一统的数据仓库终于成为现实,各种数据库时代的方法论开始抬头。这个时期技术路线开始出现细分。云厂商主推的如 AWS Redshift、Google BigQuery、Snowflake,包括 MaxCompute 这样的集成系统称为大数据时代的数据仓库。而以开源 Hadoop 体系为代表的的开放式 HDFS 存储、开放的文件格式、开放的元数据服务以及多种引擎(Hive、Presto、Spark、Flink 等)协同工作的模式,则形成了数据湖的雏形。

4、阶段四:大数据技术「普及期」。当前,大数据技术早已不是什么火箭科技,而已经渗透到各行各业,大数据的普及期已经到来。市场对大数据产品的要求,除了规模、性能、简单易用,提出了成本、安全、稳定性等更加全面的企业级生产的要求。

· 开源 Hadoop 线,引擎、元数据、存储等基础部件的迭代更替进入相对稳态,大众对开源大数据技术的认知达到空前的水平。一方面,开放架构的便利带来了不错的市场份额,另一方面开放架构的松散则使开源方案在企业级能力构建上遇到瓶颈,尤其是数据安全、身份权限强管控、数据治理等方面,协同效率较差(如 Ranger 作为权限管控组件、Atlas 作为数据治理组件,跟今天的主流引擎竟然还无法做到全覆盖)。同时引擎自身的发展也对已有的开放架构提出了更多挑战,Delta Lake、Hudi 这样自闭环设计的出现使得一套存储、一套元数据、多种引擎协作的基础出现了某种程度的裂痕。

· 真正将数据湖概念推而广之的是AWS。AWS 构筑了一套以 S3 为中心化存储、Glue 为元数据服务,E-MapReduce、Athena 为引擎的开放协作式的产品解决方案。它的开放性和和开源体系类似,并在2019年推出Lake Formation 解决产品间的安全授信问题。虽然这套架构在企业级能力上和相对成熟的云数据仓库产品相去甚远,但对于开源技术体系的用户来说,架构相近理解容易,还是很有吸引力。AWS 之后,各个云厂商也纷纷跟进数据湖的概念,并在自己的云服务上提供类似的产品解决方案。

· 云厂商主推的数据仓库类产品则发展良好,数仓核心能力方面持续增强。性能、成本方面极大提升(MaxCompute 完成了核心引擎的全面升级和性能跳跃式发展,连续三

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值