什么是数据湖?
1.什么是数据湖?
定义:一个以原始格式(通常是对象快或文件)存储数据的系统或存储库,通常是所有企业数据的单一存储
数据湖可以包括来自关系数据库的结构化数据(行和列)、半结构化数据(CSV、日志、XML、JSON)、非结构化数据(email、文档、pdf)和二进制数据(图像、音频、视频)
数据湖越来越多的用于描述任何的大型数据池,数据都是以原始数据方式存储,知道需要查询应用数据的时候才会开始分析数据需求和应用架构
数据湖(Data Lake)和数据库、数据仓库一样,都是数据存储的设计模式
数据湖是一个集中式数据存储库,用来存储大量的原始数据,使用平面架构来存储数据
湖中存储的是原始数据,相当于数据仓库ODS层的数据
2.数据湖和数据仓库的区别
数据仓库概念:
数据仓库(Data Warehouse),是一个用于存储、分析、报告的数据系统
数据仓库的目的:构建面向分析的集成化数据环境,分析结果为企业提供决策支持
数据仓库的特点:本身不生产数据,也不最终消费数据,仅仅是存储数据,以特定的方式管理数据
区别:

3.有个数据仓库了为什么还要数据湖
1.数据类型多了:结构化、半结构化、非结构化
2.对某些数据做数据分析的时候不需要做分层一步步来
数仓对结构化、半结构化数据支持比较好
目前有很多图片、音视频等非结构化数据(指纹识别、图像识别),数仓不好管理此类数据,所以需要数据湖
4.湖仓一体(Data Lakehouse)
新出现的一种数据架构,同事吸收了数据仓库和数据湖的优势,数据分析师和数据开发可以再同一个数据存储中对数据进行操作,同时它也能为公司进行数据治理带来更多的便利性
直接在用于数据湖的低成本存储上实现与数据仓库中类似的数据结构和数据管理功能

5.数据湖框架
(1).Delta Lake:开源,部分功能需要购买
写入方面,delta与spark强绑定;查询方面,开源delta目前支持spark与presto,但是spark是不可或缺的,因为delta log的处理需要用到spark

(2).IceBerg:Apache,以类似于SQL的形式高性能的处理大型的开放式表
用于跟踪超大规模表的新格式,是专门为对象存储(如S3)设计的

(3).Hudi:Hadoop Upserts anD Incrementals,管理大型分析数据集在HDFS上的存储


【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示