大数据技术学习——湖仓一体
1 数据库&数据仓库&数据库
- 数据库(DataBase):面向OLTP,要求数据强一致性,低时延,大量小型增删改查操作。
- 数据仓库(Data Warehouse):整合散落的数据库孤岛中的数据,按主题分类,便于快速OLAP。通常由MPP技术构建。
- 数据湖(Data Lake):集中存储结构化、半结构化、非结构化数据(原始数据),数据实时入湖、流批一体,对外统一提供算力、数据服务。通常由Hive、对象存储构建。
- 湖仓一体(Lake House):“湖里”和“仓里”的数据/元数据能够无缝打通,并且“自由”流动。可由分布式SQL引擎(如Presto)、Hudi等构建。
2 基本概念
- 外表:用于规划导出数据文件的数据文件格式、存放位置、编码格式等信息。
- 专题集市:企业内存储特定格式数据,提供给特定类型查询分析,针对特定用户的,为专题集市。各个集市之间,数据会有重复。
- 实时和准实时:数据从数据源产生后到进入到数据湖存储,可以做到15分钟以内的,为实时和准实时。
3 数据仓库分层
- 操作数据层(Operation Data Store,ODS),即原始数据层,又叫贴源层,与业务系统基本同构(可能会增加管理字段),目的是保留历史,解耦业务数据库,这样整个数据平台只需要访问一次业务数据库即可。所以 ODS 层存在的意义是尽可能减少对业务数据库的访问压力。ODS 层有些时候会细分为两层,一个 STG 数据缓冲层,存原始数据,一个 ODS,存简单清洗的数据。
- 明细数据层(Data Warehouse Detail,DWD),对数据进行清洗、代码统一、字段统一、格式统一、简单聚合等工作。DWD 层存在的意义是做数据的标准化,为后续的处理提供干净、统一、标准的数据。
- 基础数据层(Data Warehouse Base,DWB),又叫轻度汇总层,遵照维度模型的原理,将数据拆成维度和事实,进行维度、事实的统一。对数据进行轻度汇总,形成指标结果。
- 服务数据层(Data Warehouse Service,DWS),按照业务目标,对已经处理好的数据进行横向汇聚、纵向汇总。按照宽表模型进行数据冗余和预计算,以空间换时间。
4 智能湖仓架构
亚马逊Amazon Web Services官方给出了智能湖仓(湖仓一体)的参考架构:
- 以数据湖为中心,环湖构建数据服务换。包括数仓、数据库、数据集市、机器学习等等。
- 既可以直接操作湖中数据,又可从湖中摄取数据到数仓中,还可以回注数据到湖中。
5 湖仓组件对比分析
组件名称 |
定位 |
优点 |
缺点 |
适用场景 |
Hive |
非实时数据仓库 |
1、学习成本低 |
1、查询慢,分钟级延迟 |
1、适合大数据非实时统计分析,数据批量转化 |
Presto |
OLAP计算引擎 |
1、查询速度快 |
1、不适合大表join |
1、交互式SQL查询 |
Kylin |
OLAP计算引擎 |
1、查询速度快 |
1、查询不够灵活 |
2、固定模式的报表 |
ClickHouse |
列式存储实时在线OLAP数据仓库 |
1、查询快,秒级延迟 |
1、多表关联分析不友好 |
1、在线统计分析 |
HBase |
面向列KV实时NoSQL数据库 |
1、支持高并发读写操作 |
1、不支持条件查询 |
1、适合实时查询 |
ElasticSearch |
全文搜索引擎 |
1、Json文档全文搜索快 |
1、大批量数据插入效率低 |
1、存储Json文档 |
Doris |
分布式MPP数据仓库 |
1、支持线性扩展 |
1、MPP架构的木桶效应,对硬件要求高 |
1、适宜存储价值密度高的数据 |
6 参考
- 点赞
- 收藏
- 关注作者
评论(0)