技术交流

数据湖到底是什么?和数据仓库数据中台又有什么区别?
北大青鸟总部

摘要:数据湖到底是什么?和数据仓库数据中台又有什么区别?

自互联网进入大数据时代后,涌现了非常多的数据解决方案。最早火起来的是数据库,后来又是数据仓库、数据湖,再再后来是数据中台,现在数据湖又火起来了。站在数据时代的当前风口,各大云厂商如亚马逊Amazon、阿里、微软都在纷纷基于数据湖输出解决方案;

各大互联网企业也在基于开源数据湖、计算引擎等搭建自己的企业级数据湖。那么数据湖到底是什么?和数据仓库数据中台又有什么区别?现有的数据湖解决方案又有哪些呢?我们一起来看看~

image.png

数据湖是一个可以存储各种各样原始数据的大型数据仓库。它可以存储任意类型的数据,包含非结构化数据(如传感器数据)、结构化数据(如关系型数据库Mysql产生的行列数据)、半结构化数据(如XML数据、JSON数据)、二进制数据(如音频视频);它可以做数据生命周期管理,除了存储原始数据外,还可以存储数据处理(比如流处理、批处理)之后的数据;它可以支持多样的分析场景,比如数据仓库分析、实时分析、商业智能分析、机器学习。

数据湖、数据仓库、数据中台又有什么区别呢?从名字上就可以看出一二。所谓数据湖,就是存放数据的湖,湖水是流动的,能接受其它江河湖海流过来的水,又再流出去,也就是说在数据湖中可以存储一切的数据,不做任何处理;所谓数据仓库,就是存放数据的仓库,那必然是有要求和目的,也就是说在数据仓库中对数据格式有要求,符合标准的数据才能入库,而且建立数据仓库是有目的的,比如面向成本、面向销售额进行分析;所谓数据中台,一看就是阿里提出的概念相符合的,中台作为前台和后台的一部分,是赋能业务的,为业务提供数据能力。

那么一个具体的数据湖系统是什么样呢?抽象来看包括四部分,数据存储层、数据加速层、数据处理层、数据计算层。数据湖是以对象块或文件为单元进行存储,在数据存储层,云上用户一般采用S3、OSS对象存储,本地用户则使用HDFS进行存储;在数据加速层,主要是把经常用的数据拿出来做集中式的存储,保障用户快速获取,也减轻网络带宽成本;在数据处理层,主要是把数据文件封装成有业务意义的内容,比如支持ACID(事务原子性、一致性、持久性、隔离性)、支持Schema、支持Snapshot,开源的解决方案有iceberg、Hudi;在数据计算层,主要是进行数据任务的执行,比如Spark、Flink、HIve的批处理流处理等。

相关阅读
数据库、数据仓库、数据湖、数据集市、数据中台这些概念,我终于整明白了
热门推荐