数据仓库知识点整理
作者:互联网
数据仓库知识点整理
- 1. 维表和宽表的考查(主要考察维表的使用及维度退化手法)
- 2. 数仓表命名规范
- 3. 拉链表的使用场景
- 4. 一亿条数据查的很慢,怎么查快一点
- 5. 有什么维表
- 6. 数据源都有哪些
- 7. 你们最大的表是什么表,数据量多少
- 8. 数仓架构体系
- 9.数据平台是怎样的,用到了阿里的那一套吗?
- 10. 你了解的调度系统有那些?,你们公司用的是哪种调度系统
- 11. 你们公司数仓底层是怎么抽数据的?
- 12. 为什么datax抽数数要比sqoop快?
1. 维表和宽表的考查(主要考察维表的使用及维度退化手法)
维表数据一般根据ods层数据加工生成,在设计宽表的时候,可以适当的用一些维度退化手法,将维度退化到事实表中,减少事实表和维表的关联。
1.1 宽表
字面意义讲就是字段比较多大的数据库表。通常指业务主题相关的指标、维度、属性关联在一起的一张数据库表。宽表由于把不同的内容都放在同一张表存储,宽表已经不符合三范式的模型设计规范。
- 缺点:数据大量冗余
- 优点:查询性能的提高与便捷
1.2 维度退化
维度建模过程中,有一种维度叫Degenerate Dimension(退化维度),退化维度一般都是事务的编号,如订单编号、发票编号等。这类编号需要保存到事实表中,但是不需要对应的维度表,所以称为退化维度。
2. 数仓表命名规范
应包含层次、主题、业务线、表含义、存储策略、跑批周期
作用:避免模型重复建设、可读性强
3. 拉链表的使用场景
2.1 全量表
存储每天的所有的最新状态的数据。全量抽取,每个分区保留历史全量快照。
dt-1分区数据 = dt-1变化的数据 + dt-1未变化的数据
2.2 增量表
- 存储上次导出之后产生的新数据。
增量数据 = dt-1变化数据
要求业务库表中必须有主键及创建时间、修改时间
dt-1分区数据 = 全量数据 = 变化 + 新增 + 未变化 - 特殊增量表:每天的分区就是当天的数据,其数据特点就是数据产生后不会再发生变化,如日志表。
2.3 拉链表
维护历史状态,以及最新状态数据。
适用场景:
- 数据量比较大
- 表中部分字段会被更新
- 需要查询某个时间点或者时间段的历史快照信息(如:查看某个订单在历史某个时间点的状态;某个用户在过去某段时间下单次数)
- 更新的比例和频度不是很大(如果表中信息变化不是很大,每天都保留一份全量,那么每次全量中会保存很多不变的信息,对存储是极大的浪费)
优点;
- 满足反应数据的历史状态
- 最大程度节省存储
2.4 如何选择
- 数据量很小(不超过20W)、预估后续增长非常慢,建议全量表抽取;
- 数据量目前不是很大、业务发展快数据量一段时间后就会上来,建议增量抽取
- 数据量目前就非常大,建议增量抽取
- 需要保存历史,建议使用拉链(实际工作中,使用拉链的场景并不会太多,比如订单表-保存订单历史状态、维表-缓慢变化维的处理)
4. 一亿条数据查的很慢,怎么查快一点
避免全表扫描、注重SQL语句写法(如用exists替代in等)、索引,如果查询的表有可能会在查询时段更新,而实际业务需求允许脏读,可加with(nolock)预防查询被更新事物阻塞。
https://www.cnblogs.com/hangwei/p/4399238.html
5. 有什么维表
维度,指分析的各个角度。如我们希望按照时间、地区、产品进行分析,那么这里的时间、地区、产品就是相应的维度。
- 时间维度
- 用户维度
- 商户维度
- 店铺维度
6. 数据源都有哪些
- 业务库数据:mysql、oracle、mongodb
- 日志数据:nginx日志、埋点日志
- 爬虫数据
7. 你们最大的表是什么表,数据量多少
nginx日志表,清洗入库后数据一天大概xxxxW
8. 数仓架构体系
9.数据平台是怎样的,用到了阿里的那一套吗?
没用到阿里那一套,数据平台为自研产品
10. 你了解的调度系统有那些?,你们公司用的是哪种调度系统
- airflow
- azkaban
- ooize
- xxljob
https://www.zhihu.com/question/37436027
cnblogs.com/junneyang/p/12889187.html
https://www.jianshu.com/p/e13d6a11420c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation
11. 你们公司数仓底层是怎么抽数据的?
- 业务数据选用sqoop/kettle/datax
- 日志数据用的是logstash
- firebase接口获取
12. 为什么datax抽数数要比sqoop快?
https://mp.weixin.qq.com/s?__biz=MzI2MDQzOTk3MQ==&mid=2247484752&idx=1&sn=567442111447f2a7cac5379b694205f7&chksm=ea68ef9cdd1f668ad81e435e8c42a622f0ccfda773ff03485fad3cabeb1bd9aeea2e8cb40428&scene=21#wechat_redirect
https://my.oschina.net/u/4631230/blog/4617472
标签:知识点,数据量,数据仓库,维度,退化,维表,整理,数据,宽表 来源: https://blog.csdn.net/HW_870754395/article/details/113601552