文章目录[隐藏]
数据仓库是面向主题、集成、持久、随时间变化的数据集,核心目标是打破企业数据孤岛,构建数据的真相,为经营决策、数据分析、业务运营提供可信的数据支撑。以下是我理解的落地方案
一、前期准备:需求调研与顶层规划
这一步是避免“技术自嗨”的关键,数仓建设必须以业务价值为核心,而非单纯的技术堆叠。
核心目标
对齐业务需求,明确建设边界、核心目标与实施路线,确保数仓落地后能真正解决业务痛点。
核心动作
- 业务目标拆解:明确数仓的核心应用场景,比如经营报表、用户运营分析、财务合规、风控决策、实时监控等,区分核心刚需、次要需求与远期规划。
- 全方需求访谈:对接业务、运营、财务、IT、管理等利益相关方,梳理核心分析维度、指标口径、数据时效要求、查询频次,形成标准化需求文档。
- 主题域初步划分:按业务线梳理核心主题,比如电商行业分为用户、商品、交易、营销、物流、财务六大主题域,为后续建模划定边界。
- 项目与团队筹备:组建数仓团队,核心角色包括架构师、数据工程师、ETL开发工程师、数据分析师、业务分析师、DBA、大数据运维、运维工程师;制定项目里程碑,采用小步快跑的敏捷模式,避免一次性大而全的建设。
二、架构选型
先确定顶层架构模式,再匹配企业规模、数据量、业务场景选择技术栈,避免盲目跟风技术选型。
主流架构模式选型
| 架构模式 | 核心理念 | 建模方式 | 适用场景 |
| Kimball维度建模架构 | 自下而上,先构建面向业务的数据集市,再整合为企业级数仓 | 维度建模(星型 / 雪花模型),可兼容湖仓一体架构 | 中小企业、互联网行业,优先敏捷落地、快速交付业务价值,目前行业最主流 |
| Inmon企业级架构 | 自上而下,先构建全局统一的企业级数据仓库 EDW,再派生部门级数据集市 | 第三范式约束 3NF 建模 | 大型集团、金融银行等强合规行业,对数据一致性、全局标准化要求极高 |
部署模式选型
- 云原生部署(推荐):公有云数仓(阿里云 MaxCompute、腾讯云 CDW、AWS Redshift、Snowflake),开箱即用,弹性扩缩容,免底层运维,适合绝大多数企业。
- 本地部署:基于Hadoop生态自建,适合数据敏感、有强合规要求的企业,运维成本高。
- 混合云部署:核心敏感数据本地部署,非核心业务上云,兼顾安全与灵活性
三、数据源调研与接入规范
核心目标
全面盘点企业数据资产,解决数据孤岛问题,制定标准化的数据接入规则,为后续建模提供干净的数据源。
核心动作
- 数据源全量盘点:梳理所有业务系统的数据源,记录系统名称、库表结构、数据量、更新频率、主键、数据字典、接口权限,形成完整的数据源清单。
- 数据质量初评:评估源数据的完整性、一致性、准确性,识别脏数据、空值、重复数据、格式不规范等问题,提前制定清洗规则。
- 数据接入策略制定
-
- 同步方式:小量表/初始化场景用全量同步;大表/高频更新场景优先增量同步,推荐基于CDC日志的增量方案,对业务库性能影响最小。
- 同步周期:根据业务时效要求,分为T+1离线同步、小时级准实时同步、分钟/秒级实时同步。
- 合规与脱敏处理:对身份证、手机号、银行卡等敏感字段制定分级脱敏规则,符合法律合规要求,避免数据泄露风险。
四、数仓分层设计与数据建模
通用分层架构设计
行业主流采用 5 层标准架构,实现高内聚、低耦合,每层职责边界清晰,禁止跨层调用,避免数据链路混乱。
| 数仓层级 | 核心功能 | 主要任务 | 支持工具 | 沟通协作方 |
| 数据贴源层ODS | 多源异构数据接入 | 从数据源取数据到ODS层,保留增量与全量同步日志,隔离业务库源与数仓,几乎不加工 | 取源:业务数据库(关系型与非关系型)、对象存储、日志文件、API接口、IoT数据、表格文件、第三方数据,消息队列,取数工具 | DBA、运维工程师、大数据运维、档案管理员 |
| 数据明细层DWD | 数据抽取与同步,清洗、脱敏、标准化、维度关联, | 基于单个业务过程,过滤脏数据、统一编码格式、标准化字段命名、补全空值(注1)、维度关联(注2)。适度做维度退化,减少后续关联查询。 | 存定洗算:同步工具、调度具(Airflow、DolphinScheduler)、传统商用ETL工具(Informatica、DataStage)、离线存储(HDFS)、湖仓存储、计算引擎(Hive、Spark、Flink)、云原生数仓 | 架构师、数据分析师、AI训练师、数据开发、产品经理、项目经理 |
| 公共维度层DIM | 企业通用维度,统一维度标准 | 建立一致的维度表,如时间、用户、分类、地域、部门、渠道等,用SCD2拉链表(生效与失效时间)处理缓慢变化维度,维度层级完整才能支持上卷下钻 | (同上) | (同上) |
| 数据汇总层DWS | 向主题轻度聚合,构建各部门汇总宽表,计算指标 | 得出部门使用的指标,减少重复计算,按分析主题与统计粒度构建,如用户日行为汇总表、商品月销售汇总表。取出异常记录(注3) | 细算:传统商用ETL工具(Informatica、DataStage计算引擎(Hive、Spark、Flink)、ClickHouse | 业务分析师、各部门用户、合规部门 |
| 数据应用层ADS | 向具体业务高度聚合,服务于报表、大展等 | 严格对齐业务口径,固化指标计算逻辑,实现 “一个指标,一个出口”,按业务需求定制,不做过度通用化设计 | 交付:BI可视化(Tableau、Power BI、FineBI)、SQL、报表大屏、API数据服务、数据挖掘平台 | 各部门领导、业务分析师 |
注1:如果不同部门对空值的填充要求不同,例如有的要前值、有的要平均值, 则可移到DWS层处理
注2:维度建模有星型模型(一层维度)与雪花模型(每层维度拆出来)
注3:异常记录要取出来,交给合规、安全部门来审查
核心建模方法论:Kimball维度建模
维度建模是目前行业最主流的建模方式,核心逻辑是事实表 + 维度表,贴合业务分析逻辑,查询性能优异,易用性强。
- 事实表设计:记录业务事件的可度量数值,分为三类
-
- 事务型事实表:记录单次业务事件,比如订单创建、支付成功、商品出库,粒度最细,支持全链路分析。
- 周期快照事实表:按固定周期统计状态,比如日库存快照、月用户资产快照,适合存量类指标。
- 累积快照事实表:记录业务全流程的多个关键节点,比如订单从创建、支付、出库到签收的全周期,适合流程类业务分析。
- 维度表设计:描述业务事件的上下文,提供分析视角,核心是保证全局一致性,处理好维度的历史变化。
- 模型选择
-
- 星型模型:1张事实表直接关联多张维度表,结构简单,查询性能好,业务易理解,是首选方案。
- 雪花模型:维度表做层级拆分,规范化程度高,数据冗余少,适合维度层级复杂的场景,易用性略低于星型模型。
建立数仓后,还有数据开发与测试、数据治理、部署与运维几个大环节,之后再讲。




评论