大数据技术学习——湖仓一体

举报
slx_share 发表于 2024/04/07 18:06:36 2024/04/07
【摘要】 湖仓一体(Lake House):“湖里”和“仓里”的数据/元数据能够无缝打通,并且“自由”流动。

1       数据库&数据仓库&数据库

  • 数据库(DataBase):面向OLTP,要求数据强一致性,低时延,大量小型增删改查操作。
  • 数据仓库(Data Warehouse):整合散落的数据库孤岛中的数据,按主题分类,便于快速OLAP。通常由MPP技术构建。
  • 数据湖(Data Lake):集中存储结构化、半结构化、非结构化数据(原始数据),数据实时入湖、流批一体,对外统一提供算力、数据服务。通常由Hive、对象存储构建。
  • 湖仓一体(Lake House):“湖里”和“仓里”的数据/元数据能够无缝打通,并且“自由”流动。可由分布式SQL引擎(如Presto)、Hudi等构建。

2       基本概念

  • 外表:用于规划导出数据文件的数据文件格式、存放位置、编码格式等信息。
  • 专题集市:企业内存储特定格式数据,提供给特定类型查询分析,针对特定用户的,为专题集市。各个集市之间,数据会有重复。
  • 实时和准实时:数据从数据源产生后到进入到数据湖存储,可以做到15分钟以内的,为实时和准实时。

3       数据仓库分层

  • 操作数据层(Operation Data StoreODS),即原始数据层,又叫贴源层,与业务系统基本同构(可能会增加管理字段),目的是保留历史,解耦业务数据库,这样整个数据平台只需要访问一次业务数据库即可。所以 ODS 层存在的意义是尽可能减少对业务数据库的访问压力。ODS 层有些时候会细分为两层,一个 STG 数据缓冲层,存原始数据,一个 ODS,存简单清洗的数据。
  • 明细数据层(Data Warehouse DetailDWD),对数据进行清洗、代码统一、字段统一、格式统一、简单聚合等工作。DWD 层存在的意义是做数据的标准化,为后续的处理提供干净、统一、标准的数据。
  • 基础数据层(Data Warehouse BaseDWB),又叫轻度汇总层,遵照维度模型的原理,将数据拆成维度和事实,进行维度、事实的统一。对数据进行轻度汇总,形成指标结果。
  • 服务数据层(Data Warehouse ServiceDWS),按照业务目标,对已经处理好的数据进行横向汇聚、纵向汇总。按照宽表模型进行数据冗余和预计算,以空间换时间。

4       智能湖仓架构

亚马逊Amazon Web Services官方给出了智能湖仓(湖仓一体)的参考架构:


  • 以数据湖为中心,环湖构建数据服务换。包括数仓、数据库、数据集市、机器学习等等。
  • 既可以直接操作湖中数据,又可从湖中摄取数据到数仓中,还可以回注数据到湖中。

5       湖仓组件对比分析

组件名称

定位

优点

缺点

适用场景

Hive

非实时数据仓库

1、学习成本低
2
、数据存储于HDFS,扩展性好
3
、支持多表关联分析
4
、支持事务
5
、数据存储成本低

1、查询慢,分钟级延迟

1、适合大数据非实时统计分析,数据批量转化
2
、适合存储结构化数据

Presto

OLAP计算引擎

1、查询速度快
2
、支持接入多种数据源
3
、支持多表关联查询

1、不适合大表join
2
、不支持事务

1、交互式SQL查询

Kylin

OLAP计算引擎

1、查询速度快
2
、高并发

1、查询不够灵活
2
、无法探索式分析

2、固定模式的报表

ClickHouse

列式存储实时在线OLAP数据仓库

1、查询快,秒级延迟
2
、列式存储,支持数据压缩
3
、大宽表友好

1、多表关联分析不友好
2
、不支持事务
3
、不支持高并发
4
、不支持updatedelete
5
、不支持二级索引
6
、扩展性较差

1、在线统计分析
2
、适合存储结构化数据

HBase

面向列KV实时NoSQL数据库

1、支持高并发读写操作
2
、写入性能好,RowKey查询毫秒级
3
、支持大表
4
、对存储稀疏数据友好
5
、在线水平扩展性好
6
、可以动态增加列
7
、可靠性高

1、不支持条件查询
2
、不支持事务
3
、不适合大范围扫描查询
4
、不支持列索引
5
、不支持update

1、适合实时查询
2
、适合存储非结构化、半结构化数据
3
、适合写密集场景,例如游戏日志写入

ElasticSearch

全文搜索引擎

1、Json文档全文搜索快
2
、扩展性好

1、大批量数据插入效率低
2
、高耗内存
3
、不擅长关联分析
4
、不支持事务

1、存储Json文档
2
、数据量PB

Doris

分布式MPP数据仓库

1、支持线性扩展
2
、支持事务
3
、多表关联分析性能好
4
SQL语句丰富,功能更强,查询速度最快

1、MPP架构的木桶效应,对硬件要求高

1、适宜存储价值密度高的数据
2
、实时数仓

6       参考

 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。