从数据仓库到数据湖(上):数据湖导论

news/2024/9/13 0:36:15/ 标签: 数据仓库, 数据湖, 大数据, 架构

文章目录

一、什么是数据湖

起源

数据湖的概念最早由Pentaho的创始人兼CTO詹姆斯·迪克森(James Dixon)于2010年10月在纽约Hadoop World大会上提出。然而,在国内,数据湖的概念直到2019年Iceberg、Hudi和Delta Lake三大数据湖开源后才真正流行起来。

让我们先看看维基百科对数据湖的介绍:

数据湖(英语:Data Lake)是指以其原始格式(如BLOB或文件等)存储的数据存储库或系统[1]。数据湖通常会将所有数据统一存储,包括源系统数据、传感器数据、社交数据等的原始副本,以及用于报表、可视化、数据分析和机器学习等流程中转换后的数据。数据湖还可能包括关系数据库的结构化数据(行与列)、半结构化的数据(CSV、日志、XML、JSON)及非结构化数据(电子邮件、文件、PDF)和二进制数据(图像、音频、视频)等。数据湖可能是“on premises”(指在组织的数据中心里),也可能放在云端(使用Amazon、微软或Google的云端服务)。

一言以蔽之:数据湖是一个理论上只要是可以转化成二进制的数据均可存储的数据存储管理系统

数据湖的特征

数据湖具有以下特点:

  1. 容量大
    数据湖汇聚各个业务数据源,容纳散落在各处的数据,理论上存储空间巨大。

  2. 格式多
    数据湖架构面向多数据源的信息存储,可以快速高效地采集、存储、处理大量来源不同、格式各异的原始数据,包括文本、图片、视频、音频、网页等各类无序的非结构化数据。数据湖能将不同种类的数据汇聚存储在一起,并对汇聚后的数据进行管理,建立数据之间的关联关系,具有很强的兼容性。

  3. 处理速度快
    数据湖技术能将各类原始数据快速转化为可直接提取、分析、使用的标准格式,统一优化数据结构并对数据进行分类存储。根据业务需求,数据湖可以对存储的数据进行快速的查询、挖掘、关联和处理,并实时传输给终端用户。

  4. 分布式体系
    由于Hadoop也能基于分布式文件系统来存储和处理多类型数据,因此许多人认为Hadoop的工作机制就是数据湖的处理机制。当然,Hadoop基于其分布式、可横向扩展的文件系统架构,可以管理和处理海量数据,但它无法提供数据湖所需的复杂元数据管理功能。最直观的表现是,数据湖的体系结构表明数据湖是由多个组件构成的生态系统,而Hadoop仅提供了其中的部分组件功能。

注意:严格来说数据湖没有跟具体哪个技术绑定

二、为什么要用数据湖

要回答这个问题,我们需要先回顾一下数据库和数据仓库的概念。

数据库的基本概念大家应该都不陌生。如今但凡是个业务系统,都或多或少需要用到数据库。即便我们不直接跟数据库打交道,它们也在背后默默地为我们服务,比如刷个卡、取个钱,后台都是数据库在运行。

数据库示意图

数据库用于联机事务处理,通常处理的是小数据量的高频读写操作。

当企业的数据越来越多,开始希望基于业务数据进行决策分析时,便有了 数据仓库 的出现。数据库等原始数据经过 ETL(Extract, Transform, Load)加工后,被装进数据仓库数据仓库主要用于联机分析业务,通常处理大数据量的读取。

<a class=数据仓库示意图" width="500" />

<a class=数据仓库工作原理" width="550" />

以上是数据库和数据仓库的简单介绍。尽管它们的应用场景不同,但它们都处理 结构化数据。在相当长的一段时间内,数据库和数据仓库联合起来,共同满足企业的实时“交易”型业务和联机“分析性”业务需求。

然而,随着时代的发展,数据的类型变得越来越多样化,人们对数据的需求也越来越复杂。

数据多样化

企业希望把生产经营中的所有相关数据,历史的、实时的,在线的、离线的,内部的、外部的,结构化的、非结构化的,都能完整保存下来,方便“沙中淘金”。

<a class=大数据处理" width="650" />

企业越来越重视 “大数据” 的价值,希望能够存储并有效利用这些数据。

这些数据种类繁多,五花八门,数据库和数据仓库都无法胜任这项任务,怎么办呢?

索性挖个大坑吧!

<a class=数据湖示意图" width="650" />

这就是数据湖的原型。

简单来说,数据湖就像一个“大水坑”,是一种将各类异构数据进行集中存储的架构数据湖能够存储结构化、半结构化和非结构化数据,使企业可以在一个统一的平台上存储、管理和分析各种类型的数据。这不仅能够降低数据存储的成本,还能提高数据分析的灵活性和效率,帮助企业更好地挖掘数据价值,做出更明智的业务决策。

三、数据湖数据仓库的区别

数据仓库数据湖的对比

640-82

从数据含金量来比,数据仓库里的数据价值密度更高一些,数据的抽取和Schema的设计,都有非常强的针对性,便于业务分析师迅速获取洞察结果,用与决策支持。

数据湖更有一种“兜底”的感觉,甭管当下有用没有/或者暂时没想好怎么用,先保存着、沉淀着,将来想用的时候,尽管翻牌子就是了,反正都原汁原味的留存了下来。

img

而从产品形态看,数据仓库可以是独立的标准化产品,数据湖则是一种解决方案,通常是围绕对象存储为“湖底座”的大数据管理方案组合。

640-84

四、数据湖本质

数据湖的本质:是由 数据存储架构数据处理工具 组成的 解决方案。而不是某个单一独立产品。

数据存储架构

数据存储架构需要具备足够的扩展性和可靠性,确保企业能够存储所有原始数据,并且长期保存。这些存储系统包括:

  • Hadoop 的 HDFS
  • 对象存储系统,如 Amazon Web Services(亚马逊云科技)

数据处理工具:三类

第一类工具

解决的问题是:如何将数据“搬到”湖里,即 ETL(Extract, Transform, Load)。

ETL

第二类工具

解决的问题是:数据管理。如果元数据缺失,数据湖中的数据质量将无法保证,各种数据无序堆积,最终会导致数据湖变成 数据沼泽

数据管理

第三类工具

解决的问题是:从湖中的海量数据中“淘金”。数据存储在数据湖中并不是终点,还需要对数据进行分析、挖掘和利用。例如,对湖中的数据进行查询,同时将数据提供给机器学习和数据科学类的业务,以便实现“点石成金”。

数据分析

小结

数据湖不仅仅是一个“囤积”数据的“大水坑”。除了存储技术构建的湖底座以外,还包含一系列的数据入湖、数据出湖、数据管理和数据应用工具集,共同组成了数据湖解决方案。

五、总结

数据湖的概念最早由詹姆斯·迪克森在2010年提出,随着2019年Iceberg、Hudi和Delta Lake等开源项目在国内流行起来。数据湖是一种多功能系统,能够存储各种类型的数据,包括结构化、半结构化和非结构化数据,具备高容量存储和快速处理多种数据格式的能力。

与传统的数据库和数据仓库不同,数据湖不仅可以保存原始数据,还能支持快速的查询、数据分析和机器学习应用,帮助企业更有效地挖掘数据的潜力。数据湖由数据存储架构和多种数据处理工具组成,而不是单一的独立产品。

数据湖解决方案还包括ETL工具、元数据管理和数据分析工具,这些工具的使用确保了数据湖的高效管理和利用,防止其变成无序的“数据沼泽”。

在下一篇文章中,我们将深入探讨市面上热门的数据湖开源框架,以及这些开源框架是否能够满足数据湖的基本概念和功能要求。

六、参考资料


http://www.ppmy.cn/news/1475347.html

相关文章

第一章节:HTML 基础

参考:https://github.com/qianguyihao/Web/tree/master/01-HTML 1)HTML 基础介绍 1.1)Web 万维网 Web(World Wide Web)即全球广域网,也称为万维网。 我们常说的 Web端 就是网页端。 网页 是构成网站的基本元素。网页主要由文字、图像和超链接等元素构成。当然,除了这…

uniapp小程序连接蓝牙设备

uniapp小程序连接蓝牙设备 一、初始化蓝牙模块二、开始搜索三、连接蓝牙四、监听特征值变化五、调用示例utils.js文件 一、初始化蓝牙模块 这一步是必须的&#xff0c;在开发项目过程中&#xff0c;初始化蓝牙模块之后&#xff0c;紧接着就要开启一些监听的api&#xff0c;供后…

Python高级(四)_内存管理

Python高级-内存管理 第四章 内存管理 1、对象池 小整数池 系统默认创建好的,等着你使用 概述:整数在程序中的使用非常广泛,Python为了优化速度,使用了小整数对象池,避免为整数频繁申请和销毁内存空间。Python 对小整数的定义是 [-5, 256] ,这些整数对象是提前建立好的…

AI推介-大语言模型LLMs论文速览(arXiv方向):2024.07.01-2024.07.05

文章目录&#xff5e; 1.LLM Internal States Reveal Hallucination Risk Faced With a Query2.Fine-Tuning with Divergent Chains of Thought Boosts Reasoning Through Self-Correction in Language Models3.Investigating Decoder-only Large Language Models for Speech-t…

TCP网络传输控制协议

目录 什么是TCP TCP的特点 TCP通信步骤 三次握手&#xff08;建立连接&#xff09; 数据传输 四次挥手&#xff08;连接释放&#xff09; 为什么要进行三次握手&#xff1f;两次握手行不行&#xff1f;一次握手行不行&#xff1f; 为什么是四次挥手&#xff1f;三次、两…

小红书后端

牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推&#xff0c;求职就业一站解决_牛客网 (nowcoder.com) 小红书推荐系统 题目&#xff1a; 思路&#xff1a; 尝试&#xff08;标题4&#xff09; import java.util.*;// 注意类名必须为 Main, 不要有任何 package xxx 信息…

社交论坛圈子系统APP开发社交圈子小程序系统源码开源,带语音派对聊天室/圈子社交论坛及时聊天

功能// 首页左右滑动切换分类 使用资讯类app常见的滑动切换分类&#xff0c;让用户使用更方便。 2信息卡片流展示 每条信息都是一个卡片&#xff0c;头像展示会员标签&#xff0c;单图自动宽度&#xff0c;多图九宫格展示&#xff0c;底部展示信息发布地址&#xff0c;阅读量、…

react VS vue

什么是react 用于构建用户界面的js库 什么是vue 用于构建用户界面的渐进式js库 react是基于mvvm设计还是mvc设计 1、react是基于mvc设计的&#xff0c;但也不是完整的mvc模式 2、react把自己定义为view 3、组件逻辑定义为Controller层 4、虽然react不是完整的mvc模式&a…

iPhone删除所有照片的高效三部曲

苹果手机用久了&#xff0c;系统缓存包括自己使用手机留下的内存肯定会越来越多。其中&#xff0c;相册中的照片数量可能会急剧增加&#xff0c;占据大量的存储空间。当用户们想要对相册进行彻底清理&#xff0c;实现iPhone删除所有照片时&#xff0c;不妨跟随以下详细的三部曲…

音频合并最简单的方法。将音频合并成一个的几种简单方法

音频合并最简单的方法。音乐是一种无声的语言&#xff0c;能够诉说情感、唤起记忆&#xff0c;为我们的生活增添了丰富的色彩。有时候&#xff0c;我们渴望将几段动人的音乐融为一体&#xff0c;创造出一个更为宏大、更为连贯的作品&#xff0c;以满足独特的需求或展示我们的创…

代码覆盖率的守护者:Gradle中配置覆盖率工具全指南

代码覆盖率的守护者&#xff1a;Gradle中配置覆盖率工具全指南 在软件开发的精细打磨中&#xff0c;代码覆盖率工具是确保质量的得力助手。Gradle&#xff0c;作为一款强大的构建工具&#xff0c;提供了与多种代码覆盖率工具的集成能力。本文将详细指导如何在Gradle中配置代码…

Python学习2---装饰器

装饰器是Python中的一种高级功能&#xff0c;允许您修改或增强函数或类的行为&#xff0c;而无需直接修改其源代码。 基本概念&#xff1a; 装饰器本质上是一个函数&#xff0c;它接受一个函数作为参数&#xff0c;并返回一个新的函数。 基本语法&#xff1a; decorator_fun…

中介者模式(大话设计模式)C/C++版本

中介者模式 C // 中介者模式(Mediator),用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示得相互引用&#xff0c;从而使得其耦合松散&#xff0c;而且可以独立地改变他们之间得交互#include <iostream> #include <string>using namespace std;#d…

需求实现:字数限制500字

摘要&#xff1a; 在浩瀚的技术实现海洋中&#xff0c;每一个需求都如同一块磁石&#xff0c;吸引着多样化的解决策略与技术手段的汇聚。然而&#xff0c;无论选择多么丰富&#xff0c;核心始终在于对业务逻辑的深刻理解&#xff0c;以及为当前特定场景量身定制的最佳实践。本…

使用YOLO5进行模型训练机器学习【教程篇】

准备工作 YOLOv5 是目前非常流行的目标检测模型,广泛应用于各种计算机视觉任务,可以检测到图片中的具体目标。 我们借助开源的模型训练框架,省去了自己写算法的步骤,有技术的伙伴可以深入了解并自己写算法训练。 电脑要求: GPU ,内存 >12G python > =3.8 windows o…

抗量子密码算法:保障未来信息安全的新盾牌

随着量子计算的迅猛发展&#xff0c;传统加密算法正面临着前所未有的挑战。量子计算机利用量子比特的特殊性质&#xff0c;能在极短时间内破解目前广泛使用的公钥加密体系&#xff0c;如RSA、ECC等。这使得我国及全球的信息安全体系遭受严重威胁。为了应对这一挑战&#xff0c;…

STM32智能门禁系统教程

目录 引言环境准备智能门禁系统基础代码实现&#xff1a;实现智能门禁系统 4.1 数据采集模块 4.2 数据处理与控制模块 4.3 通信与网络系统实现 4.4 用户界面与数据可视化应用场景&#xff1a;门禁管理与优化问题解决方案与优化收尾与总结 1. 引言 智能门禁系统通过STM32嵌入…

5G与未来通信技术

随着科技的迅猛发展&#xff0c;通信技术也在不断演进。5G技术作为第五代移动通信技术&#xff0c;已成为现代通信技术的一个重要里程碑。本文将详细介绍5G及其对未来通信技术的影响&#xff0c;重点探讨超高速互联网和边缘网络的应用。 一、超高速互联网 1. 低延迟 5G技术最显…

富格林:正确击破暗箱稳健出金

富格林悉知&#xff0c;现在喜欢投资的人都在不断增加&#xff0c;在享受贵金属投资较高出金回报的同时&#xff0c;也该做好遭遇暗箱亏损情况的预防措施。对于新手投资者群体来说&#xff0c;如何客观地认识造成亏损的原因和暗箱&#xff0c;也是贵金属投资道路上必须克服的一…

GPT-4o在Excel的应用

引言 随着人工智能技术的不断进步&#xff0c;GPT-4o已成为许多领域中的重要工具。特别是在数据处理和分析方面&#xff0c;GPT-4o的强大功能可以大大提升工作效率&#xff0c;解放用户从繁琐的公式和手动操作中。本文将详细介绍如何利用GPT-4o在Excel中完成常见但复杂的任务&…