本系列将持续更新数仓建模相关知识,将学习到的理论知识和工作实践结合起来,总结沉淀下来,积跬步成千里。
作者:吴珍
基本概念
数据仓库概念由世界公认的数据仓库之父比尔·恩门(Bill Inmon)在1991年出版的“Building the Data Warehouse”(《建立数据仓库》)中提出:
A data warehouse is a subject-oriented, integrated, nonvolatile, and time-variant collection of data in support of management’s decisions.
中文翻译为:
数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。
数据建模是将数据进行有序、有结构地分类组织和存储的方法。其思路是从企业分析决策等需求出发,建设一个数据易用、产出稳定、质量可信、指标丰富、能够提供标准化数据服务的大数据体系。该体系同时具有高扩展、强复用、低成本的特性,能够避免数据重复建设和指标冗余建设,保障数据的规范性、指标的一致性,能够有效地管理和控制日益增长的存储和计算消耗。
目前工业界流行的建模方法主要是维度建模,维度模型是由数仓领域大师Ralph Kimball所倡导的,大师著作的《The Data Warehouse Toolkit-The Complete Guide to Dimensional Modeling》是数仓工程领域最流行的维度建模经典。
数仓建设体系
有句话说得好,一个好的架构已经成功了80%。同样一个好的建模体系能释放计算消耗、存储消耗、人力资源、时间成本等。同时好的架构还有助于提供标准化的、高效的、优质的、稳定的数据服务。所以,在我们具体建模之前,不要着急动手,要先规划好我们的数据体系架构,划定边界,搭建统一规范的体系架构。
1)确定建模技术平台
建设数仓首先是需要一个好用的数据平台,网易内部用的是网易数帆旗下的网易易数,一个提供数据开发、数据治理、数据分析及可视化、数据服务、数据应用的一站式全链路数据生产力平台,有易研发、易治理、易服务、易应用的特点。
所谓好用的工具事半功倍。网易提倡“人人用数据、天天用数据”,依托于体系化的数据中台产品,搭建标准化的数仓体系。
2)定好模型层次
数据从产出原生数据到最后生成指标的过程,就像建房子要明确地基、一楼、二楼的作用一样,数据模型同样