系列 | 漫谈数仓第一篇NO.1 『​基础架构』

2019-09-23 14:27:39 浏览数 (1)

转自:数据仓库与Python大数据

作者:紫霞仙子

01. 架构演进

离线数据仓库到实时数据仓库,从lambda架构到kappa架构、再到混合架构。本文不再多再介绍,之前文章已有深入介绍,如有兴趣可看这篇文章:数据仓库介绍与阿里实时数仓案例 (点击链接)。

02. 逻辑分层

数仓分层,一般按ods->dw->dm整体架构。不同的企业,不同的业务场景,有衍生出不同的分层架构模式。例如经典四层架构:ods->dwd->dws-ads,bdl->fdl->gdl->adl等。

技术选型,传统数仓一般以Oracle、greenplum、teradata 等,互联网数仓一般以Hadoop生态圈为主,离线以Hive为核心,准实时以spark为核心,实时以flink为核心构建。

03. 数据调研

业务调研,业务侧对齐,遵循关系型数据库建模方式,从概念模型(cdm)->逻辑模型(ldm)->物理模型(pdm)建模套路,是一个从抽象到具体的一个不断细化完善的分析,设计和开发的过程。

需求调研,现有BI报表需求,统计需求,用户画像,推荐系统等数据应用。

数据库调研,了解数据库表数据结构、数据形态,全局把握业务流程数据流向,做到真正业务流程和数据结构结合。

04. 主题域划分

业务高度抽象,可先确定企业业务bu模块,然后可根据概念模型(cdm)进行一级主题划分,确定一致性维度和事实流程,构建总线矩阵。

图片来源 Kimball《The Data Warehouse Toolkits,- 3rd Edition》

按照kimball大师经典建模四步骤:选择业务过程->声明粒度->确定维度->确定事实 进行维度建模。

05. 数仓规范

构建企业级数据仓库,必不可少的就是制定数仓规范。包括 命名规范,流程规范,设计规范,开发规范 等。无规矩不成方圆,建设数仓也是这样。

开发规范 示例:

06. 数据治理

大数据时代必不可少的一个重要环节,可从数据质量、元数据管理、数据安全、数据生命周期等方面开展实施。数据治理是一个企业安身立命的根本。

数据质量,必须保证完整性、准确性、一致性、时效性。每一个任务都应该配置数据质量监控,严禁任务裸奔。可建设统一数据质量告警中心从以下四个方面进行监控、预警和优化任务。

元数据管理,关于数据的数据。可分为技术元数据和业务元数据。对于数仓开发和维护,模型血缘关系尤为重要。

数据安全,可包含以下五方面的内容,即数据的保密性、真实性、完整性、未授权拷贝和所寄生系统的安全性。

07. 数仓理念

从80年代到现在,数据仓库流派之争已趋于稳缓,比较经典的就是数仓大师Kimball的维度建模、数仓之父Inmon的范式(E-R)建模,另外还有Data Vault建模、Anchor模型等。

Kimball Data Warehouse Architecture:

Inmon Data Warehouse Architecture:

结语:数仓是一种思想,数仓是一种规范,数仓是一种解决方案。

0 人点赞