数据仓库-维度建模
文章平均质量分 86
身为一名数仓工作人员。行走在数仓建设的前线。本专栏是在研读了维度建模权威指南后,记录自己在实际开发中的感悟与经验。有不对的地方欢迎留言指证
piepis
DT时代的一块砖
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数仓面试常见问题:5.实时数仓与流处理
实时数仓(Real-time Data Warehouse)和传统离线数仓(Batch Data Warehouse)在数据处理方式、架构、应用场景等方面存在明显区别。当前的 OLAP 数据库替换和用户行为分析项目,可能需要结合实时计算(Flink)+ 离线数据分析(Presto / Hive),来满足不同业务需求。融合层:通过 Presto、ClickHouse 混合查询实时+离线数据。离线层:提供大规模数据统计(如年度报表)。实时层:提供秒级数据查询(如监控报警)。(2) 实时数仓架构。原创 2025-03-10 16:32:06 · 771 阅读 · 0 评论 -
数仓面试常见问题:4.ETL流程与调度
ETL 是数据仓库的入口,负责将来自不同来源的数据提取、清洗和整合,解决数据分散和格式不统一的问题,形成统一的分析数据源。原创 2025-03-10 15:32:33 · 1042 阅读 · 0 评论 -
数仓面试常见问题:3.数据倾斜与处理
假设在 JOIN 操作中,存在一个小表(如用户信息表),需要与大表(如订单表)进行 JOIN。通过以上几种方式处理数据倾斜问题后,任务的执行时间显著减少,内存使用更加均衡,整个数据处理过程变得更加高效。这样,原本集中在一个用户上的数据就被分散到多个 reduce 任务中,缓解了数据倾斜问题。)中,数据在不同分区或节点上分布不均衡,导致部分任务执行时间过长,从而影响整体作业的性能。操作时,如果某些键的值过于集中,部分计算任务会比其他任务处理更多的数据,导致资源利用不均衡。比如将用户 ID 变成。原创 2025-03-10 14:11:17 · 636 阅读 · 0 评论 -
数仓面试常见问题:2.SQL与性能优化
尽量使用内连接(INNER JOIN),因为它只返回两个表中都存在的记录。避免使用 OUTER JOIN,因为它会增加计算量。:在可能的情况下,使用子查询或者提前过滤数据,减少 JOIN 需要处理的数据量。:在参与 JOIN 的字段上创建索引,可以极大提升 JOIN 的性能。特别是对大表的联接字段,索引能加速查找过程。:如果你的 JOIN 语句涉及到某些字段,确保这些字段上有索引。例如,在连接字段上使用B-tree索引。:除了 JOIN 字段外,查询条件字段(例如WHERE。原创 2025-03-10 13:14:26 · 1140 阅读 · 0 评论 -
数仓面试常见问题:1.数仓基础与设计
缓慢变化维(Slowly Changing Dimension, SCD)缓慢变化维指的是 维度表中的数据会随着时间推移而发生变化,但变化的速度相对较慢,例如客户的地址、产品的价格、员工的职位等。处理缓慢变化维的方法(SCD 类型)针对缓慢变化维的不同业务需求,常见的处理方法有以下几种SCD 类型处理方法适用场景优缺点SCD1(覆盖更新)直接用新值覆盖旧值,不保留历史记录不需要追踪历史数据,如用户的最新手机号简单高效,但丢失历史数据SCD2(新增记录)原创 2025-03-10 12:04:10 · 1070 阅读 · 0 评论 -
数据建设-数仓分层
前言数据仓库是所有产品的数据中心,公司体系下的所有产品产生的所有数据最终都流向数据仓库,可以说数据仓库不产生数据,也不消费数据,只是数据的搬运工。注意: 本问讨论的数据公共层设计理念遵循维度建模思想数据仓库的作用存储数据校准数据整合数据输出数据基于以上几点,需要将数据分层次管理,每一层分工合作,对数据进行不同程度的处理,如同工厂里的流水线一般,从而确保数据的生命性、生态性。模型层次数据模型分为三层:操作数据层(ODS)公工维度模型层(CDM)应用数据层(ADS)模型层原创 2020-08-21 14:28:42 · 2477 阅读 · 1 评论 -
数仓建设-数据治理
很大的一个课题。要好好思考,多看点书与博文,总结下工作经验,再来写。目前在网上找到了两个这方面的博文,研读后很有感触,贴出来分享下。美团配送数据治理实践数据治理怎么做?...原创 2020-08-13 15:37:46 · 457 阅读 · 0 评论 -
事实表的基本概念
什么是事实表事实表的结构事实数据表是包含描述业务内特定事件的数据。是发生在现实世界中的操作型事件所产生的可度量数据,通常包含大量的行。日常查询请求的主要目标就是基于事实表展开计算和聚合操作。从最低粒度级别来看,事实表行对应一个度量事件,也可以说,一个度量事件必然对应一个最低粒度的事实行为。因此,事实表的设计完全依赖物理活动,不受可能产生的最终报表的影响。事实表一般会包含数字度量,也总会包含外键,用来与相关的维表做关联。常用的事实表经常会包含日期/时间戳,退化维度键(退化维度键的解释不再展开,想了解原创 2020-06-16 13:27:37 · 6345 阅读 · 0 评论 -
建模核心概念
大数据建设中选择数据模型的好处性能: 良好的数据模型能帮助我们快速查询所需要的数据,减少数据的I/O吞吐成本: 良好的数据模型能极大地减少不必要的数据冗余,也能实现计算结果复用,极大地降低大数据系统中的存储和计算成本。效率: 良好的数据模型能极大地改善用户使用数据的体验,提高使用数据的效率。质量: 良好的数据模型能改善数据统计口径的不一致性,减少数据计算错误的可能性。OLTP与OLAP系统的区别OLTP系统(OnLine Transaction Processing): 通常面向的主要数据操原创 2020-06-15 12:26:54 · 763 阅读 · 1 评论
分享