简介

数据湖这个概念和数据仓库这两个概念一直搞不清楚,之前感觉区别就是数据湖是数据仓库的父集。数据湖是个伪命题,平时生活中也用不到,然后今天听了我的一个师哥的讲解,然后简单总结下。

常见的问题

1 数据湖和数据仓库的区别?

相似点:都可以处理海量数据,都是为了得到有价值的数据。
不同点:架构上,数仓基本要求符合DDL定义的结构,数据湖则 湖纳百川。 数据上,数仓为结构化数据设计,数据湖,湖纳百川。 模块上,数仓一般使用一个软件来开发,比如说 hive数仓,hadoop数仓,数据湖则湖纳百川。性能与money上,数仓在存储上没有湖好,因为湖的数据格式都是各式各样的,用复合数据格式的存储效率显然更好,性能上数仓相对好一点吧,毕竟不用格式转换啥的。

2 数据湖是不是伪命题?

不要对数据湖带有偏见,因为数据是各种各样的格式都有,随着信息的增长,数据湖未来在某些程度上是未来的必然选择,尤其是在机器学习上,比如视觉方面,就有可能要海量的图片来结合音频来训练。

3 数据湖的目标?

感觉和数仓的目标差不多吧? 节省money,提供更多业务所需有价值的数据。

4 为什么要使用数据湖?

1 数仓不能使用存储非结构化数据。
2 数据湖在分析数据时,使用的东西不单一化更多一点。

数据湖介绍

湖的意思是 能够汇集各种的数据。数据湖的目标:如何取到业务需要的有价值的数据(差不多和数仓目标一样吧?) 然后数据湖可以认为是一种技术系统 ,大批量的分析结构化和非结构化数据资产。

通用架构

第一层 :数据层(结构化,半结构化,非结构化数据)
BY 批处理 | 流处理
第二层 :(原始数据,精品数据)
第三层:BI 啥的。

组件

存储层 :存储杂七杂八各种类型数据。(数仓一般只能存储DDL定义的架构数据)
格式化层: 把存储层的数据给格式化
计算层 : 计算层比较丰富(mr,flink,presto,spark)
元数据层 : 对于元数据的管理(比如说视频,这些视频不点开看,就不知道内容是啥,所以这个元数据层一定得好好弄,最好直接写出来,视频的基本信息)

数据湖的改良

改良一 知道数据的身份证?
1 元数据要注明干什么的,尤其是视频啥的,视频的基础信息,和内容是啥的最好写清楚。
2 整合图谱
各种各样程序存数据过来,要知道这个数据的亲朋好友,前世今生
3 语境
描述清楚 在哪个context中,别造句造错,出现 ‘我必鼎力相助你‘(鼎力相助只能用于第三人称)这种病句。
改良二 数据划分
(1) 数据要分下类(模拟信号数据(日志数据),应用程序数据,结构化数据,非结构数据)
(2) 另一种角度,尽量别让数据重复
改良三
文档沉淀,尽可能把数据描述清楚,让业务或者师弟一看就知道去找哪个数据。

数据湖的缺点

1 性能低,原始加工。
2 一段时间后,数据沼泽(数据错误或失效)的情况出现
3 应用范围,小公司连数仓都没,更别提数据湖了