云厂商纷纷在做的数据湖到底是什么?

时间:2021-01-12 11:57来源:未知 作者:中博IT教育

自互联网进入大数据时代后,涌现了非常多的数据解决方案。最早火起来的是数据库,后来又是数据仓库、数据湖,再再后来是数据中台,现在数据湖又火起来了。站在数据时代的当前
自互联网进入大数据时代后,涌现了非常多的数据解决方案。最早火起来的是数据库,后来又是数据仓库、数据湖,再再后来是数据中台,现在数据湖又火起来了。站在数据时代的当前风口,各大云厂商如亚马逊Amazon、阿里、微软都在纷纷基于数据湖输出解决方案;
 
各大互联网企业也在基于开源数据湖、计算引擎等搭建自己的企业级数据湖。那么数据湖到底是什么?和数据仓库数据中台又有什么区别?现有的数据湖解决方案又有哪些呢?我们一起来看看~
 
数据湖是一个可以存储各种各样原始数据的大型数据仓库。它可以存储任意类型的数据,包含非结构化数据(如传感器数据)、结构化数据(如关系型数据库Mysql产生的行列数据)、半结构化数据(如XML数据、JSON数据)、二进制数据(如音频视频);它可以做数据生命周期管理,除了存储原始数据外,还可以存储数据处理(比如流处理、批处理)之后的数据;它可以支持多样的分析场景,比如数据仓库分析、实时分析、商业智能分析、机器学习。
 
数据湖、数据仓库、数据中台又有什么区别呢?从名字上就可以看出一二。所谓数据湖,就是存放数据的湖,湖水是流动的,能接受其它江河湖海流过来的水,又再流出去,也就是说在数据湖中可以存储一切的数据,不做任何处理;所谓数据仓库,就是存放数据的仓库,那必然是有要求和目的,也就是说在数据仓库中对数据格式有要求,符合标准的数据才能入库,而且建立数据仓库是有目的的,比如面向成本、面向销售额进行分析;所谓数据中台,一看就是阿里提出的概念相符合的,中台作为前台和后台的一部分,是赋能业务的,为业务提供数据能力。
 
那么一个具体的数据湖系统是什么样呢?抽象的来看包括四部分,数据存储层、数据加速层、数据处理层、数据计算层。数据湖是以对象块或文件为单元进行存储,在数据存储层,云上用户一般采用S3、OSS对象存储,本地用户则使用HDFS进行存储;在数据加速层,主要是把经常用的数据拿出来做集中式的存储,保障用户快速获取,也减轻网络带宽成本;在数据处理层,主要是把数据文件封装成有业务意义的内容,比如支持ACID(事务原子性、一致性、持久性、隔离性)、支持Schema、支持Snapshot,开源的解决方案有iceberg、Hudi;在数据计算层,主要是进行数据任务的执行,比如Spark、Flink、HIve的批处理流处理等。
 
在数据湖的应用上,那可就广了,我们可以基于Kubernetes云原生技术打造云原生数据湖,也可以基于Flink等实时计算引擎打造实时数据流水线,更可以基于云计算打造数据湖全套解决方案。如何打造一个基于云原生的数据湖呢?很简单,部署Kubernetes在底层做资源资源管控,在Kubernetes的基础上部署Hadoop集群,使用其提供的HDFS做存储,在HDFS上集成开源解决方案Iceberg,最后在Iceberg中集成数据计算引擎FLink,如此基于云原生的数据湖就搭建出来了。
 
基于Flink的实时数据流水线则更是简单了,业务系统产生的数据先上传Kafka消息队列,再通过实时计算引擎Flink执行数据清洗,最后导入数据湖。如果数据还要再次处理,则再运用Flink计算引擎处理,再导入数据湖。不止是实时数据流水线,更是实时的流批处理统一。
 
基于云计算的数据湖解决方案也非常简单。基于云厂商搭建的云对象存储能力,把数据的接入、数据资源目录、数据引擎、数据集成开发、数据安全管控等的全流程跑通即可,中小型企业只需要为使用的资源付费。不得不说云计算真是很好的互联网模式啊,解决方案免费,资源付费,用多少付多少。
 
物联网、云计算、人工智能、5G技术的发展更是带动了数据湖的高速发展,物联网和5G使得数据产生的来源和数据越来越多,云计算使得存储变得廉价,人工智能需要更多的数据做分析,因此也越来越多的企业需要数据湖解决方案,云厂商也看好了这一风口,投入数据湖的开发建设,对于数据湖人才的需求也极速增长。站在了风口浪尖,猪也能飞起来,赶快抓住数据湖这个风口,做一只会飞的猪吧~
(责任编辑:中博IT教育)

苏公网安备 32030302000649号