数据湖是什么

描述

1. 为什么出现数据湖?

 

支撑业务的IT软件系统最简单的数据链路是:操作业务APP的界面或者调用其API接口,将交易数据记录到关系型数据库中。

说其简单,是因为这样的系统能够支撑业务交易。业务APP上的每笔交易数据都会记录在数据库中。

 

这对业务交易员来说,已经足够了。但对业务管理者来说,期望看到的是“自己关心的、宏观的、能够反应历史变化的数据”,并且最好是可视化的界面,一目了然。

 

于是,“数据仓库”出现了,它就是一个面向主题的、集成的、反映历史变化的数据集合。

 

那么,数据是如何从业务数据库到达数据仓库的呢?

首先,要理解的是业务数据库和数据仓库的Schema(表结构)大部分情况下是不同的,前者用来记录实时交易信息,后者用来记录历史汇总信息。

其次,表结构的不同,就需要进行数据处理的三板斧--“抽取、转换和加载”,即Extract-Transform-Load,简称ETL。具体来说就是抽取管理者关心的(面向主题)、转换数据、加载到数据仓库中。

最后,根据业务规则,提取数据仓库中的数据进行可视化提取与展示(报表)。

 

数据仓库的使用思路是:业务管理者知道“自己关心哪些数据”,在创建数据仓库时,便可以将这些数据提取并记录下来。这样,数据仓库记录的是经过加工过的数据,而非原始数据

注意到数据仓库的数据是结构化的。对于半结构化(CSVXMLJSON)和非结构化(e-mail文档)的数据来说,也蕴含着有价值的信息,同样需要分析,或者现在不知道怎么分析,也可以先存储起来。

 

那么就需要有一种方法:不但可以存储原始数据,也可以存储结构化、半结构化、非结构 化的数据,并且还能支撑数据的分析。

 

时势的呼唤下,“数据湖(Data Lake)”便产生了。

 

2. 数据湖是什么?

 

数据湖是一个以原始格式存储数据的存储库或系统。

 

“数据”可以是各种格式的,结构化、半结构化的、非结构化的。并且数据是未经加工的,像大自然的水,流入到“湖”中。也就是数据的存储,无需像数据仓库那样事先设计Schema,也无需事先有明确的分析需求(有了想法,再延迟分析,称为读时模式Schema-On-Read)

 

 

3. 数据湖如何实现?

 

数据湖是一种方法论,探讨如何以原始形态存储各种格式的数据,并能支持后续的分析。

 

数据湖的开源实现有:Hadoop、Delta、Apache Iceberg 和 Apache Hudi。

 


 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分