0x00 前言学的越深越能体会到自己的无知,理解的越深刻越不敢张口说自己是搞这一行的。
把之前写的数据仓库系列博客,汇总和整理成了一本更系统的小书《Data Warehouse in Action》。 0x01 大数据和数据仓库16 年开始接触数据仓库,至今有一年半的时间,中间换了次工作,也算是在两家公司实践了数据仓库。在此随便写一点关于大数据和数据仓库的东西。 其实,很多时候大数据和数据仓库这些都是一些概念使然,个人不太认为某一个概念比另一个概念厉害多少,大家是你中有我我中有你的关系。 就拿大数据来讲,13年的时候我们会讲,大数据包括了数据清洗、数据存储、数据仓库、数据挖掘、数据分析、数据可视化等一系列的概念。再看数据仓库的概念,随便找本十多年前的经典书籍就会发现,数据仓库包含了 ETL、元数据、数据血缘管理、调度系统、数据可视化等概念。 那么谁更大?谁更厉害?这个其实不是我们的重点,这些东西最终还是要落在具体的工作和技术上。 比如说我是搞大数据开发中的数据收集、数据清洗工作,换一个名字我就可以说自己是搞 ETL 开发的;然后我再了解一些数据仓库建模的内容,将自己的数据清洗的工作套上数据仓库中的模型设计和数据分层,我就可以说自己是搞数据仓库的。 再比如说我之前是搞数据仓库的元数据系统、血统分析、调度系统的,然后同样的理论模型,使用场景从 Oracle、Mysql这些关系型数据库转移到 HDFS、Hive、Spark 中,我就变成了大数据开发中的系统开发了。 其实很多工作内容和工作性质都很相近,自己灵活一点就好。 0x02 数据仓库数据仓库的内容很多,这里主要对数据仓库的体系做一个小的说明,算是这系列博客的总览。 我们粗略地从数据仓库中抽取几个主题来聊:ETL、数据模型、元数据管理。 其中 ETL 的内容和现在大数据的体系绑定最深。MapReduce、Spark 这些计算引擎都可以算是 ETL 的重要组成部分。 数据模型的话,我们把维度建模、数据分层、各种表结构设计放在其中。这一块算是数据仓库中最重要的一块。 元数据,我们可以理解为数据的管理。 针对上面三个主题,本系列文章有下面内容: - 数据仓库中的模型设计
- 详解唯独建模
- 拉链表是什么
- 缓慢变化维度
- 如何优雅地设计数据分层
- 别人家的元数据系统是怎么设计的
- 数据质量监控
- 聊一聊ETL的设计
- 重要的代理键
- 时间维表的实践
0xFF 总结从工作内容上来讲,我们会把数据分为数据开发、数据分析、数据仓库、数据挖掘的话。 很多人觉得高大上的是数据挖掘,觉得工程最强的是数据开发。 换一个角度,我们从数据的角度来讲的,我们会把数据分为:数据计算、数据价值和数据管理。我们很多是以数据价值为导向地来做数据计算,但是往往会忽略数据管理,而数据仓库的理念恰恰是数据管理。因此可以在适当的业务阶段来重视数据管理。
|