会员登录|免费注册|忘记密码|管理入口 返回主站||保存桌面
到底什么是“数据湖”?
2025-03-28IP属地 湖北2
3月11日那篇文章,小枣君介绍了什么是“数据仓库数据集市。今天这篇,我再来说说什么是“数据湖”。


  什么是数据湖

数据湖,英文名叫做Data Lake。它和数据库、数据仓库一样,是一种存储和处理数据的平台。

或者,更准确来说,数据湖是一个技术体系。它不是某一个具体的产品,而是一种架构,包括了很多的技术和组件(下文会详细说)。

图片

我们还是先从数据湖的发展历程开始说起吧。

2010年10月,在纽约的Hadoop World大会上,Pentaho公司创始人及CTO詹姆斯·迪克森(James Dixon)率先提出了数据湖的概念。当时,他之所以提出数据湖,主要是为了推广自家的Pentaho产品以及Hadoop。

小枣君之前介绍过Hadoop)。它是大数据的一个核心技术,诞生于2006年,具有极强的数据存储和处理能力。

詹姆斯·迪克森的Pentaho产品,是一个BI(Business Intelligence,商业智能)分析组件,基于Hadoop技术。

介绍数据仓库的时候,小枣君提到过,数据仓库会把众多数据源的数据汇集起来,进行ETL(抽取Extract、转换Transform和加载Load)三板斧操作,然后存储,用于BI、SQL查询、数据挖掘、数据分析等目的。

图片


换言之,Pentaho,是将当时新兴的Hadoop技术应用于数据仓库的一个尝试,主要是为了解决数据仓库的能力不足问题。

数据仓库正式诞生于1990年左右,到2010年,已经无法跟上时代。

数据仓库(包括数据集市),会对来自数据源的数据进行预处理和筛选。所以,在进行数据分析和数据价值挖掘时,会面临几个问题:

1、数据被预处理过,只保留了指定的属性。分析时,只能回答之前预设的问题。

2、数据被筛选过,很多底层的细节被筛除了。分析时,无法获得这些信息。

3、随着当时互联网的高速发展,非结构化数据(电子邮件,文档, PDF)以及半结构化数据(CSV,日志, XML, JSON)迅猛增长。数据仓库主要以处理结构化的数据(关系型数据库,例如数据表格、行与列)为主,无法很好地满足需求。

换言之,数据仓库,是把所有数据源的数据,按一开始制定的规则,进行了处理,变成了产品,缺乏灵活性。

而数据湖,是利用Hadoop等大数据技术的处理能力和成本优势,将所有数据源的数据,不做预处理,全部都存起来。
图片

这就解决了前面提到的几个问题:

1、数据湖中的数据接近原生,内容齐全,属性完整。应用层在使用数据时,可以基于需求,进行灵活设计。

2、数据信息未被筛选,底层细节都在,可以尽可能还原业务(也是为了更好地分析)。

3、结构化、非结构化、半结构化,所有数据都能保存和处理,满足互联网时代发展的需要。

数据湖还解决了一个重要问题,那就是数据孤岛。很显然,企业内部各个业务系统的数据都放在一起了,当然也就没有孤岛了,可以开发横跨多个系统的数据应用。

我们可以举个买菜炒菜的例子。

数据仓库,因为存储成本高,所以,买了菜之后,会进行预处理,变成指定的炒菜素材,例如土豆块、菜叶、肉丝等。炒菜时,厨师直接取用。如果厨师想要做一些特殊的菜,一些原生态的菜,就没办法了。如果厨师想要烧鱼,也没办法。

数据湖,就是你拥有了一个超大且便宜的空间,可以保存你购买的所有食材。食材的品种非常丰富,且不需要做任何预处理。各个厨师可以根据自己的需要,在炒菜时自行处理。厨师拥有了更多的灵活度,菜品也更加丰富。

图片

数据湖的出现,满足了企业用户存储全域原始数据的需求。

2011年,CITO Research网站的CTO和作家丹·伍德斯(Dan Woods)也力推数据湖的概念。他指出:“如果我们把数据比作大自然的水,那么各个江川河流的水未经加工,源源不断地汇聚到数据湖中。”

很多人也许会问,为什么叫“数据湖”?而不是“数据池”、“数据河”、“数据海”?

因为“数据池”太小,体现不出数据的大量。“数据河”是流动的,数据无法保存。“数据海”则是因为没有边界。数据湖是属于企业的,需要边界,需要注意隐私和安全。


数据湖的主要特征

我们再简单地梳理一下数据湖的优点。

第一,数据的多样性

数据湖可以存储多种类型的数据,包括结构化数据、半结构化数据和非结构化数据。这符合了物联网(IoT)、社交媒体和移动互联网的时代需求。

最近这几年,AI特别火爆。数据是AI的三要素(算力、算法、数据)之一。数据湖有利于企业发展AI业务,例如机器学习、生成式人工智能等。

第二,处理的实时性。

传统的数据仓库,采用的是——写时模式(Schema-On-Write)。数据加载到数据仓库时,首先需要定义好它。

数据湖,采用的是——读时模式(Schema-On-Read)。只需加载原始数据,然后,当准备使用数据时,再定义它。

这是两种截然不同的数据处理方法。数据湖简化了前期操作,数据准备的周期更短,可以灵活满足更多不同上层业务的高效率分析诉求。

图片

第三,容量更大。

数据湖具有海量的数据存储能力。数据湖基于分布式存储系统构建,能够灵活扩展,可以轻松应对PB级甚至EB级的数据量。

第四,成本更低。

数据湖往往基于开源软件和廉价硬件构建,而且部署在云环境中,成本大幅下降,减少了企业的投资。

第五,应用的多样化。