数据湖与数据仓库

2021-01-11  | 发布者:admin  

数据湖【1】的概念是2011年提出的。由于无法对已流失的数据进行回溯,一些大数据厂商在Hadoop为基础的技术栈上,把一个组织中产生的原始数据存储在一个单一的系统中。一般大家会用开源的Hadoop来构建数据湖,不过数据湖的概念比Hadoop更为广泛。

看到数据湖,大家肯定会想到数据仓库或者数据集市,那么两者的区别在哪里呢?我们先来看看下面的这个图。

图 1 数据湖示意

数据湖存储数据源提供的原始数据,没有对数据的形式进行任何假设。每个数据源可以使用其选择的任何形式,最终数据的消费者会根据他们自己的目的来使用数据,这是数据湖区别于数据仓库的一个非常重要的原因。同时,这也是数据仓库没有走得更远的原因,因为数据仓库首先需要考虑数据方案(schema)。

图 2 数据仓库示意

数据仓库倾向于为所有分析需求设计一个总体的方案表示,但是实际上即使是一个非常小的组织,想要通过一个统一的数据模型来涵盖一切,也是不太实用的。另外,数据仓库在使用中会出现数据质量问题:不同的分析需求对数据的构成有不同的质量要求和容忍度。数据仓库的这个特征导致了漫长的开发周期、高昂的开发成本和维护成本、细节数据丢失等问题的出现。

数据湖在直观上更像一个数据质量差异很大的数据倾倒场,如果只是聚合后的数据,意味着会丢掉很多数据。数据湖应该包含所有数据,因为你不知道人们可以在什么时候找到有价值的东西,可能是在今天,也可能是在未来几年的时间里。

数据湖的这种原始数据的复杂性意味着我们可以通过一些方式来将数据转变成一个易于管理的结构,这样还可以减少数据的体量,更易于处理。数据湖还是不应该经常性地被直接访问,因为数据是很原始的,需要很多技巧才能使之变得有意义。一般可以按照下图来处理,我们可以把它称为数据湖岸集市。

 
QQ在线咨询
服务热线
13544009511
返回顶部

粤公网安备 44030502004796号