如何搭建数据仓库?来看看帆软数据仓库建设解决方案!

文 | 商业智能BI相关文章 阅读次数:851 次浏览
2023-11-15 11:47:50

一、什么是数据仓库

著名的数据仓库专家William H. Inmon在其著作《Building The Data Warehouse》一书中给予如下描述:“数据仓库(Data Warehouse)是一个面向主题的(subject oriented)、集成的(integrate)、相对稳定的(non-volatile)、反映历史变化(time variant)的数据集合,用于支持管理决策。”

这个概念我们拆解成两个层次进行理解:

  • 首先,数据仓库用于支持决策面向分析型数据处理,它不同于企业现有的操作型数据库;
  • 其次,数据仓库是对多个异构的数据源有效集成,集成后按照主题进行重组,并包含历史数据,而且存放在数据仓库中的数据一般不再修改

二、为什么要建设数据仓库

如今,企业在发展与经营过程中面临各种数据和系统问题,制约着数据价值的进一步开发:

  • 数据脏乱差:表中存在作废数据,不合法数据,空值等;
  • 数据孤岛:业务系统未全部打通,无法关联进行报表展示;
  • 数据口径不一致:同一个字段,各系统口径不一致,无法高效集成;
  • 系统性能差:业务系统报表效率低下,查询与导出缓慢;
  • 缺少历史数据留底:未记录状态流变历史,无法进行历史情况分析;
  • 开发任务繁重:业务分析需求渐增,IT苦于开发任务繁重。

而企业级的数据仓库用于连接和协调来自不同数据源的大量数据,为商业智能、报告和分析提供数据支持,并助力企业满足法规要求,支持企业将数据转化为洞察,制定由数据驱动的明智决策。

三、如何建设企业级数据仓库?

建设企业级数据仓库的步骤分为需求调研、数仓设计、数仓实施和测试上线四个主要环节。

建设企业级数据仓库的步骤

1. 需求调研

调研前期,需要明确本次项目在此阶段成功的要素,其次是划分责任矩阵,收集相关资料并制定合适的调研策略。与用户需求相关的信息应该足够的详细。最终要交付给最终用户项目计划及需求说明,需要的情况下需要制定灾备计划,以便数据仓库可以从事故中恢复。

调研执行分为四步骤:

  • 第一步对本次项目的目标,整体平台的范围和当前IT的技术架构进行调研与整理;
  • 第二步针对本期项目涉及业务部门进行单独访谈,明确指标,确认口径,梳理前端样式与功能并确定相应的数据标准;
  • 第三步可根据上一轮调研结果所设计的蓝图进行确认和修改并在数据侧对底层数据进行探源;
  • 最后将调研结果与方案蓝图进行最终的多方确认并审核签字。

这一阶段的交付物为系统蓝图框架与当前数据基础和质量情况表等,具体的执行过程见下图:

系统蓝图框架与当前数据基础和质量监控具体的执行过程
指标确认框架

2. 数仓设计

数仓构建的核心工作是分层及建模,分层架构设计是为应用数据资源采集、存储、处理和交换提供建设性依据,而数据模型将决定数据仓库系统的增长性和性能。

简单来说数据仓库分为四个层次:

  • ODS层:存放原始数据,直接加载原始日志、数据,数据保存原貌不做处理;
  • DWD层:结构与粒度原始表保持一致,对ODS层数据进行清洗;
  • DWS层:以DWD为基础,进行轻度汇总;
  • ADS层:为各种统计报表提供数据。

这里要注意数据仓库的架构当中,各个系统的元数据通过ETL同步到操作性数据仓库ODS中,对ODS数据进行面向主题域建模形成DW(数据仓库),DM是针对某一个业务领域建立模型,具体用户(决策层)查看DM生成的报表。

1)数据分层

每一个数据层都有它的作用域,在使用表的时候能更方便地定位和理解,因此需要针对数据进行分层建设,且数据分层也利于数据血缘追踪、屏蔽原始数据的异常,通过开发一些中间层,还可以起到减少重复开发的作用。

数仓通用技术框架

2)数仓建模

数仓模型的设计,按照概念模型(主题域模型)——逻辑模型——物理模型的流程进行,逻辑模型和物理模型通常采用维度建模的办法,以星型和雪花型模型来组织数据,维度建模的两个基本元素是事实表和维度表。而维度建模也分为确定业务主题、定义粒度、确定维度和确认事实表四个步骤。该阶段的交付物为针对数据源的概念模型、逻辑模型和物理模型。

数仓建模一般流程
DWD层维度建模步骤

3. 数仓实施开发——ETL

ETL过程常常需要最长的项目时长,可能会占用数仓开发的50%及以上,因为获取源数据、理解业务规则、逻辑和物理数据模型需要花费大量时间。ETL 通过从源系统数据库实时同步数据至数据仓库贴源层,基础层、通用层、应用层基于贴源层的增量数据以实时指标加工的规则进行定时(T+1 天)加工处理。

ETL过程

3. 测试上线及规范建设

1)测试上线

测试上线的主要目的是为了测试当前数仓开发完毕后数据是否准确,数据相应的速度是否及时,包括 ETL 任务的各环节是否出现异常等,测试完毕通过业务确认后即可上线。

2)数据规范

数仓建设的规范是为了后续开发人员可以遵从规范,培养良好的习惯,也可以提升数仓开发的可维护性,便于用户的沟通及交流。数据规范的内容包括数仓设计规范、命名规范、ETL 规范、报表规范等,数据规范建设为后续的数据治理及数据资产的管理建立了良好的基础。

数仓规范文档

四、最终数据仓库架构全景图

数据仓库架构全景图

帆软为数仓建设提供生产力工具,若想了解更多数据仓库建设解决方案,请点击:《帆软数据仓库和商业智能解决方案》,另可获取各行业全业务场景数仓搭建案例及资料。

相关内容

立即咨询 立即咨询

在线客服

电话咨询

技术问题

投诉入口

返回顶部