《七天数据仓库之旅》第一天 初识数仓
本文为数据茶水间群友原创,经授权在本公众号发表。
关于作者:我是水大人,资深潜水员,一个基于开发、面向分析、走向全栈的饱经摧残的数据新手,爱折腾不爱玩,爱总结爱思考的老兵,错了改改了又错的惯犯。
0x00 前言
本节是七天数仓之旅的第一篇,本系列的目的在于快速的构建一套最小化可运行的基础数据体系,过程中也会涉及一些数仓的理论知识,但更偏重的是数仓的实现和背后的思考逻辑、所以在开发实施过程中会提供相对多的代码示例和具体的实现细节。
另外需要对数仓的界限做下限制,本系列所讨论的数仓是从数据接入后到数据结果表生成。最后需要指明的是本系列只涉及离线数仓,不涉及实时数仓,有关实时数仓和离线数仓的区别等,请进一步阅读其它资料。
最后,本系列参考了很多前辈在数据仓库建设方面的经验文章,本系列将其纳入到体系中,部分相关的参考会在文中列出,但更多的会集结起来,在问题汇总章节或者以篇外的形式给出,请知悉。
本系列的大纲规划如下(实际执行可能会有调整):
初识数仓:
什么是数仓、数仓的用途等
数仓规划:
数仓矩阵、分层分线、分主题设计等
数仓设计:
数仓模型、事实表(拉链表、累积表)、维表的设计等
数仓开发:
数仓表初始化和更新方式、任务调度、数据处理的一些思想
数据计算:
大盘指标(新增、活跃、留存、回流)的计算框架、LTV的计算框架等
数仓规范:
元数据规范(表命名、存储周期等)、生成规范、调度规范、代码规范
数仓问题:
数仓相关的技术问题、经验问题和发展问题汇总
通过本系列的学习,首先会对数仓是什么和数仓建设包含哪些内容有基本的认知,并将数仓建设的内容分解成各个模块来讲解。希望你在完成本系列的学习之后,具备快速构建基于用户的互联网产品的数据仓库建设思路和实践方法,需求强调的是,数仓建设虽然有套路和一些模式可遵循,但数据团队的组成不同、业务场景各异、需求也千变万化,数仓建设的成败取决于多种因素,需要根据自身的实际情况因地制宜。
通过本节的阅读,你将获得以下方面的认知:
什么是数仓
为什么要建设数仓
怎样建设数仓
0x01 什么是数仓
先概览下数仓几个重要的相关概念:
数据仓库的定义:
数据管理、存储、计算、建模的方法论,是一种过程处理方法。
数据仓库的特点:
面向主题的、集成的、稳定的、反映历史变化
数据仓库的组成