数据湖概念

发布于:2023-01-04 ⋅ 阅读:(240) ⋅ 点赞:(0)

一、从数据库到数据仓库再到混合数据库

1.1 数据库vs数据仓库vs混合数据库vs数据湖

场景 典型代表 主要优缺点
数据库 OLTP 三大数据库(Oracle、MySQL、SQLServer) OLTP支持的非常好,OLAP支持弱
数据仓库 OLAP Teradata、Greenplum、Hive+HDFS、ClickHouse、Kylin OLAP支持的非常好,OLTP不支持或者支持弱
混合数据库 HTAP=OLTP+OLAP Kudu(先OLAP在OLTP)、TiDB(先OLTP在OLAP) OLTP+OLAP都支持但都为支持到极
致,折中方案嘛,毕竟是有所取舍
数据湖 HTAP+(增强版) Hudi、Iceberg、DeltaLake 除了HTAP的一些场景,还能支持各种格式        

        1)、数据库 DataBase,⼀般简称 DB,主要是做 OLTP(online transaction processing),即在线的交易的增删 查改,强调事物和⾼并发。⼀般数据库采⽤⾏存储。

        2)、数据仓库 Data Warehouse,简称 DW,主要是来做OLAP(online analytics processing),也就是在线数据 分析,⽤于数据分析场景。⼀般数据仓库采⽤列存储

1.2 HTAP

       混合数据库以Kudu、TiDB为代表,是为了去掉OLTP到OLAP之间的链路。虽然OLTP+OLAP都⽀持,但都未⽀持到极致,折中⽅案嘛,毕竟是有所取舍。

 

 TiFlash 简介

二、从混合数据库到数据湖 

        数据湖并不是新概念,最早 2015 年就被提出来了, 数据湖顾名思义就是⼀个巨⼤的原始数据的集中存储站 ,也经历了很多年的发展,直到最近⼏年才被重视起来。
        维基百科的定义: 数据湖是⼀个以原始格式(通常是对象块或⽂件)存储数据的系统或存储库 。数据湖通常是所 有企业数据的单⼀存储。⽤于报告、可视化、⾼级分析和机器学习等任务。数据湖可以包括来⾃关系数据库的结构 化数据( ⾏和列 ) 、半结构化数据 (CSV 、⽇志、 XML JSON) 、⾮结构化数据 ( 电⼦邮件、⽂档、 pdf) 和⼆进制数据 ( 图 像、⾳频、视频) 。定义中的重点内容我⽤红⾊字体标注出来,简单说明⼀下这⼏点。
         原始格式 :数据不做预处理,保存数据的原始状态
         单⼀存储 :存储库中会汇总多种数据源,是⼀个单⼀库
        用于机器学习 :除了 BI 、报表分析,数据湖更适⽤于机器学习(从 BI AI

2.1 早期数据湖

        无论是数据库、数据仓库还是混合数据库都只停留在结构化数据的存储,对于半结构化、⾮结构化的数据例如⾳频、视频等都不⽀持或者变相⽀持。早期数据湖的⽬的就是为了存储海量的、不同格式、汇总或者明细的数据,数 据量可以达到 PB 到 EB 级别。
        早期数据湖的出现解决了存储海量的、不同格式、汇总或者明细的数据的难题,数据量可以达到 PB EB 级别。 在数据湖上,不仅可以做数据分析(BI 场景),还可以⽤于 AI 场(需要的原始数据存储量是⾮常⼤的,⽽且模式是 不可预知的)。
        早期Hadoop 可以当做数据湖来使⽤(没听错,真的),但是早期数据湖主要是⽤于数据的存储,解决的是容量的 ⽔平扩展性、数据的持久性和⾼可⽤性,没有太多考虑数据的更新和删除。例如 HDFS 上通常是将⽂件分块 (block )存储,⼀个 block 通常⼀两百兆; S3 同样也是类似,⼤的 block 可以节省管理开销,并且这些⽂件格式 不⼀,通常没有⾼效的索引。如果要修改⽂件中的某⼀⾏记录,对于数据湖来说是⾮常难操作的,因为它不知道要 修改的记录在哪个⽂件的哪个位置,它提供的⽅式仅仅是做批量替换,代价⽐较⼤。
        另外⼀个极端的存储则是像 HBase 这样的,提供⾼效的主键索引,基于主键就可以做到⾮常快的插⼊、修改和删 除;但是 HBase 在⼤范围读的效率⽐较低,因为它不是真正的列式存储。对于⽤户来说⾯临这么两个极端:⼀边 是⾮常快的读存储(HDFS/S3 ),⼀边是⾮常快速的写存储;如果取中间的均衡⽐较困难。有的时候却需要有⼀种 位于两者之间的⽅案:读的效率要⾼,但写开销不要那么⼤。

 2.2 现代数据湖

        现在各⼤公有云都有⾃⼰的数据湖产品,例如 Amazon S3 Azure Blob store ,阿⾥云 OSS ,以及各家云⼚商都有 ⾃⼰的存储服务。有了数据湖之后,企业⼤数据处理就有了⼀个基础平台,⾮常多的数据从数据源收集后都会先落到数据湖上,基于数据湖再处理和加载到不同的分析库去。

2.3 阿⾥云OSS数据湖简介

1)、简介

 2)、产品优势

 3)、丰富的应用场景

4)、丰富的客户案例

5)、产品与时俱进

  2.4 三⼤开源数据湖框架

         数据湖是⼀整套解决⽅案,并不仅仅是⼀个存储,业界流⾏的开源数据湖框架有三个:

        Hudi 、Iceberg 、DeltaLake

详细介绍

三、湖仓⼀体化

         有了数据湖之后,企业⼤数据处理就有了⼀个基础的存储平台,各种类型的数据从源头收集后都会先落到数据湖上,基于数据湖再处理或者加载到不同的特定存储中去。 如果数据采集到数据湖(ODS),以数据湖为中⼼来完成数仓建设就是所谓的湖仓⼀体化。

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到