【大数据】什么是数据湖?一文揭示数据湖的本质

news2024/9/24 3:21:50
很多人跟我一样,对于数据湖充满好奇,也许还读了不少数据湖文章,但无论别人怎么说,你还是会觉得难以把握数据湖的本质。

有些人会望文生义说,数据湖嘛,就是什么东西都可以往里面扔,特别是对非结构数据的处理比较方便。

是这样吗?

有案例才有鉴别,有的人找了数据湖的作者AWS来说明数据湖是什么东西,比如下图:

不懂数据的人也许会觉得数据湖很厉害,而懂数据的人也许会觉得仅是一堆数据仓库技术的堆砌包装而已,你看上面那张框架图,哪个专业词汇数据人士会不懂?凭什么数据湖被炒作成了一个新概念?

有比较才有鉴别,因此很多文章对数据湖与数据仓库做了比较,下面是网上流传的一些说法:

这种比较似乎能找到点区别,难道结构化与非结构化就成了数据仓库和数据湖的一个主要区别?BI和机器学习成为了主要区别?

事实上,这种比较有较大逻辑漏洞:即是从结果出发来看差异,然后又用这个差异来说明区别,颠倒了因果,因此受到了不少专业人士的鄙视。比如AWS的数据湖能够处理非结构化数据,而数据仓库无法处理非结构化数据,就认为这是数据湖与数据仓库的本质区别之一。

本文来跟大家聊聊我所理解的数据湖的本质,对于一种新事物不了解本质,你就很难驾驭它,下面这张图道尽了一切。

下面我用一篇文章来具体说明数据湖与数据仓库的区别,更多的是给出why,知其所以然是理解事物的一个原则。

数据仓库和数据湖的处理流程可以用下图来示意,其中用红圈标出了5个对标的流程节点。

可以看到,数据湖并不比数据仓库在处理流程上多出了什么内容,更多的在于结构性的变化,下面就从数据存储、模型设计、加工工具、开发人员消费人员五个方面来进行比较。

(1)数据存储

数据仓库采集、处理过程中存储下来的数据一般是以结构化的形式存在的,即使原始数据是非结构化的,但这些非结构化数据也只是在源头暂存一下,它通过结构化数据的形式进入数据仓库,成了数据仓库的基本存储格式,这个跟数据仓库的模型(维度或关系建模)都是建立在关系型数据基础上的特点有关。

事实上,是传统的数据建模负担让数据仓库只处理结构化数据,其实谁都没规定过数据仓库只处理和存储结构化数据。

数据湖包罗万象,轻装上阵,结构化与非结构化数据都成为了数据湖本身的一部分,这体现了数据湖中“湖”这个概念。因为没有数据仓库建模的限制,当然什么东西都可以往里面扔,但这为其变成数据沼泽埋下了伏笔。

看了这段也许无法让人信服,不要急,接着往下看。

(2)模型设计

数据仓库中所有的Schema(比如表结构)都是预先设计并生成好的,数据仓库建设最重要的工作就是建模,其通过封装好的、稳定的模型对外提供有限的、标准化的数据服务,模型能否设计的高内聚、松耦合成了评估数据仓库好坏的一个标准,就好比数据中台非常强调数据服务的复用性一样。

你会发现,数据仓库很像数据领域的计划经济,所有的产品(模型)都是预先生成好的,模型可以变更,但相当缓慢。

数据湖的模型不是预先生成的,而是随着每个应用的需要即时设计生成的,其更像是市场经济的产物,牺牲了复用性却带来了灵活性,这也是为什么数据湖的应用更多强调探索分析的原因。

(3)加工工具

数据仓库的采集、处理工具一般是比较封闭的,很多采取代码的方式暴力实现,大多只向集中的专业开发人员开放,主要的目的是实现数据的统一采集和建模,它不为消费者(应用方)服务,也没这个必要。

数据湖的采集和处理工具是完全开放的,因为第(2)点提到过:数据湖的模型是由应用即席设计生成的,意味着应用必须具备针对数据湖数据的直接ETL能力和加工能力才能完成定制化模型的建设,否则就没有落地的可能,更无灵活性可言。

工具能否开放、体验是否足够好是数据湖能够成功的一个前提,显然传统数据仓库的一些采集和开发工具是不行的,它们往往不可能向普通大众开放。

(4)开发人员

数据仓库集中开发人员处理数据涵盖了数据采集、存储、加工等各个阶段,其不仅要管理数据流,也要打造工具流。

由于数据流最终要为应用服务,因此其特别关注数据模型的质量,而工具流只要具备基本的功能、满足性能要求就可以了,反正是数据仓库团队人员自己用,导致的后果是害苦了运营人员。

数据湖完全不一样,集中开发人员在数据流阶段只负责把原始数据扔到数据湖,更多的精力花在对工具流的改造上,因为这些工具是直接面向最终使用者的,假如不好用,数据湖就不能用了。

(5)应用人员

数据仓库对于应用人员暴露的所有东西就是建好的数据模型,应用方的所有角色只能在数据仓库限定好的数据模型范围内倒腾,这在一定程度上限制了应用方的创新能力。比如原始数据有个字段很有价值,但数据仓库集中开发人员却把它过滤了。

这种问题在数据仓库中很常见,很多取数人员只会取宽表,对于源端数据完全不清楚,所谓成也数据仓库,败也数据仓库。

数据湖的应用方则可以利用数据湖提供的工具流接触到最生鲜的原始数据,涵盖了从数据采集、抽取、存储、加工的各个阶段,其可以基于对业务的理解,压榨出原始数据的最大价值。

可以看到,数据仓库和数据湖,代表着两种数据处理模式和服务模式,是数据技术领域的一次轮回。

早在ORACLE的DBLINK时代,我们就有了第一代的数据湖,因为那个时候ORACLE一统天下,ORALCE的DBLINK让直接探索原始数据有了可能。

随着数据量的增长和数据类型的不断丰富,我们不得不搞出一种新的“数据库”来集成各种数据。

但那个时候搞出的为什么是数据仓库而不是数据湖呢?

主要还是应用驱动力的问题。

因为那个时候大家关注的是报表,而报表最核心的要求就是准确性和一致性,标准化、规范化的维度和关系建模正好适应了这一点,集中化的数据仓库支撑模式就是一种变相的计划经济。

随着大数据时代到来和数字化的发展,很多企业发现,原始数据的非结构化比例越来越高,前端应用响应的要求越来越高,海量数据挖掘的要求越来越对,报表取数已经满足不了数据驱动业务的要求了。

一方面企业需要深挖各种数据,从展示数据为主(报表)逐步向挖掘数据(探索预测)转变,另一方面企业也需要从按部就班的支撑模式向快速灵活的方向转变,要求数据仓库能够开放更多的灵活性给应用方,这个时候数据仓库就有点撑不住了。

数据湖就是在这种背景下诞生的。

其实早在数据湖出来之前,很多企业就在做类似数据湖的工作了,比如我们5年前重构hadoop大数据平台的时候,就已经要求源端能将各种格式的数据直接扔过来,然后用不同的引擎处理,非结构化的就自己做一个定制化的ETL工具,只是没有统一进行整合而已。

ETL之所以不开放,主要是驱动力不够,其实我们没有那么多类型的数据要定制化抽取,也许后续会需要吧。

而可视化开发平台使用比较广泛,只是因为市场觉得IT做的太慢了,需要一个可视化平台来直接操作。

很多企业不搞可视化开发平台也是容易理解的,报表就能活得很好,干嘛业务人员要自己开发和挖掘。现在数据湖叫的欢的,大多是互联网公司,比如亚马逊,这是很正常的。

数据湖和数据仓库,不能说谁更好谁更差,大家都有可取之处,阿里最近一篇文章提到的数湖一体是很好的概念,可以实现双方的优势互补,我这里画一张图,方便你的理解:

何谓湖仓一体?

(1)湖和仓的数据/元数据无缝打通,互相补充,数据仓库的模型反哺到数据湖(成为原始数据一部分),湖的结构化应用知识沉淀到数据仓库

(2)湖和仓有统一的开发体验,存储在不同系统的数据,可以通过一个统一的开发/管理平台操作

(3)数据湖与数据仓库的数据,系统可以根据自动的规则决定哪些数据放在数仓,哪些保留在数据湖,进而形成一体化

至于理解的对不对,你怎么看?

在数据管理和分析的不断演进中,选择合适的工具和平台显得尤为重要。数据湖和数据仓库作为不同的数据处理模式,在满足企业多样化数据需求方面各有所长。然而,随着数据量的急剧增长和数据类型的多样化,传统的数据仓库模型逐渐显露出其局限性,尤其是在处理非结构化数据和支持实时分析方面的能力有所不足。

FineDataLink作为先进的ETL工具,不仅提供了强大的数据采集、清洗和整合功能,还支持跨平台数据集成和自动化处理,使得企业能够更高效地管理和利用数据湖中的各类数据。通过FineDataLink,用户不仅能够简化数据湖的构建和管理流程,还能够更灵活地应对不断变化的业务需求,实现数据的快速探索和智能分析,为业务决策提供更有力的支持。

无论是追求数据的深度挖掘还是实现数据驱动的业务创新,FineDataLink都为企业提供了一个可靠的数据管理解决方案。了解更多关于FineDataLink如何助力企业数据湖建设的信息,请访问FineDataLink数据集成平台,探索数据管理的新视角,开启数据驱动业务的新篇章。

了解更多数据仓库与数据集成关干货内容请关注>>>FineDataLink官网

免费试用、获取更多信息,点击了解更多>>>体验FDL功能

往期推荐:

SQL Server和Oracle数据库的实时同步_sqlserveroracle数据库实时同步-CSDN博客

数据融合平台的概述、特点及技术方案-CSDN博客

什么是API?如何进行API对接?-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1910521.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

奇瑞新能源车型EQ2在驾校领域的CAN总线数据应用

在当今这个快速发展的汽车时代,科技的进步不仅推动了汽车性能的提升,也为驾驶培训领域带来了革命性的变化。其中,奇瑞EQ2作为一款电动汽车,其在驾校领域的应用尤其值得关注,特别是其采用的CAN总线技术。CAN总线&#x…

【面向就业的Linux的基础】从入门到熟练,探索Linux的秘密(十三)-常用的命令

上述是一些系统命令的基本练习,可以当做日常笔记学习收藏一下!!! 目录 前言 一、文件权限 二、文件检索 三、查看文件内容 四、用户相关 五、工具 六、安装软件 七、作业​​​​​​​ 总结 前言 上述是一些系统命令的…

MATLAB实现-基于CNN-LSTM卷积神经网络结合长短期记忆神经网络数据分类预测(多输入多分类)

MATLAB实现-基于CNN-LSTM卷积神经网络结合长短期记忆神经网络数据分类预测(多输入多分类) 基于CNN-LSTM卷积神经网络结合长短期记忆神经网络数据分类预测(多输入多分类) 1.数据均为Excel数据,直接替换数据就可以运行…

互助学习平台小程序的设计

管理员账户功能包括:系统首页,个人中心,学生管理,课程信息管理,课程分类管理,课程评价管理,学习计划管理,留言板管理 微信端账号功能包括:系统首页,课程信息…

2-25 基于matlab的语音信号降噪处理算法

基于matlab的语音信号降噪处理算法,采用谱减法,可以对强噪声背景下的语音信号进行去噪。输入原始信号及加噪信号,对加噪信号进行降噪,并提高信噪比。程序已调通,可直接运行。 2-25 语音信号降噪处理算法 谱减法 - 小红…

商业地产规划vr实景还原系统更直观生动

在今日的建筑行业论坛中,众多业界专家深入探讨了建筑设计与展示的未来趋势。我们作为VR建筑展示领域的领军企业,始终秉持着对城市规划与发展的深度思考。多年来,我们积极参与并助力了无数城市片区的规划与建设。 回首2015年,我们与…

假期笔记1:anaconda的安装与pycharm中的引用

1.下载安装 Download Anaconda Distribution | Anaconda 2.填个邮箱 11111.. 3.下载。有点需要时间 4.安装,双击,根据实际进行,记清安装路径 5。环境设置 conda -V 6.创建环境 conda create --name env_name conda create --na…

python基础语法笔记(有C语言基础之后)

input()用于输入,其有返回值(即用户输入的值),默认返回字符串。括号里可放提示语句 一行代码若想分为多行来写,需要在每一行的末尾加上“\” 单个“/”表示数学中的除法,不会取整。“//”才会向下取整。 …

关于string的‘\0‘与string,vector构造特点加部分特别知识点的讨论

目录 前言: 问题一:关于string的\0问题讨论 问题二:C标准库中的string内存是分配在堆上面吗? 问题三:string与vector的capacity大小设计的特点 问题四:string的流提取问题 问题五:迭代器失…

电脑文件过大删除的文件怎么恢复?别急,恢复方法在此

在数字化时代,电脑文件承载着我们的工作、学习和生活的重要信息。然而,由于文件体积的庞大或是操作失误,我们有时会不小心删除一些至关重要的文件。特别是当文件过大时,它们可能不会在回收站中留下痕迹,给恢复工作带来…

AI古风插画视频:成都亚恒丰创教育科技有限公司

AI古风插画视频:科技与传统美学的诗意交融 在数字技术的浪潮中,人工智能(AI)以其惊人的学习能力与创造力,正逐步渗透并重塑着艺术的边界。成都亚恒丰创教育科技有限公司其中,AI古风插画视频作为一股清流&a…

基于JAVA+SpringBoot+Vue+uniApp小程序的心理健康测试平台

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍: 该系统由三个核心角色…

怎么降低pdf内存,怎么降低pdf内存占用空间容量大小

在数字化时代,PDF文件已经成为我们日常办公和学术交流中不可或缺的一部分。然而,随着文件内容的丰富和质量的提高,PDF文件的大小也在不断增大,这给文件的传输和存储带来了不少困扰。本文将为你介绍几种简单有效的方法,…

【React】React18 Hooks 之 useContext

目录 useContext1、Provider和 useContext2、Provider 和Consumer3、Provider 嵌套4、React.createContext提供的Provider和class的contextType属性5、读、写Context(1)父组件修改Context(2)子组件修改Context 好书推荐 useContex…

72小时快速入门大语言模型

🎓 随着人工智能技术的飞速发展,国产芯片在大语言模型领域的应用成为创新的前沿阵地。硬蛋学堂携手行业精英,隆重推出全新课程——"基于国产芯片的大语言模型技术开发及应用",开启智能科技的新篇章! &#…

电阻负载柜的主要特性和参数是什么?

电阻负载柜作为重要的电力测试仪器,其主要特性和参数对于理解其功能和应用至关重要。以下是对电阻负载柜主要特性和参数的详细阐述: 主要特性 高精度测量:电阻负载柜通常配备高精度的电压、电流和功率因数测量系统,能够准确反映被…

如何创建录取查询系统

随着新学期的脚步渐近,老师们的日程表上又添上了密密麻麻的任务。开学前的准备工作总是让人应接不暇,从整理教材到布置教室,再到准备课程计划,每一项工作都需要细心与耐心。而在这些繁琐的事务中,如何高效地将录取结果…

哪些独立站外链策略最有效?

在当前的SEO领域中,独立站外链策略的效果差异很大,但GPB外链无疑是其中最为有效的一种。GPB外链,指的是通过高质量、包收录且dofollow的顶级域名独立站来获得外链,这种外链策略能够显著提升目标网站的整体排名数据。 关键词排名的…

Java面试八股之MySQL的redo log和undo log

MySQL的redo log和undo log 在MySQL的InnoDB存储引擎中,redo log和undo log是两种重要的日志,它们各自服务于不同的目的,对数据库的事务处理和恢复机制至关重要。 Redo Log(重做日志) 功能 redo log的主要作用是确…

[matlab]周期性信号分析

目录 信号预处理 周期性特征提取方法 频谱分析 傅里叶变换 快速傅里叶变换(FFT) 周期图法 Welch法 自相关分析 时频分析 基于模型的方法 时间序列分解 应用实例 提取信号的周期性特征是一个在信号处理领域广泛应用的技术,特别是在…