数据仓库构建方法论(一):数据仓库的价值

构思一个主题讨论数据仓库的构建方法论,包括数据仓库的价值、选型、构建思路,随着数据规模膨胀和业务复杂度的提升,大型企业需要构建企业级的数据仓库(数据湖)来快速支撑业务的数据化需求,与传统的数据库构建不通,数据仓库即是OLAP场景,偏于历史数据的存储/分析,用冗余存储换取数据价值;

一、数据仓库和数据库的区别

所有的应用系统都会涉及到数据库,针对数据库归纳和存放,也就是数据库的常见操作:增、删、改、查,那么为什么想要对企业数据进行分析,不能直接查询数据库,非要大费力气的去创建所谓的数据仓库和数据湖呢?

数据仓库主要是为了能够支持管理决策,而数据库是为了满足系统的及时性、一致性,好比你去银行存钱,你希望刚把钱存进去就能够查询到余额增加,你不希望第二天才能够确认,但是若是银行想对你的流水和余额进行分析,这个时候希望知道你在不同时期的银行余额,那么从数据库里是查不到你的历史余额信息的,因为数据库在设计的时候就需要满足一定的范式,为的就是满足及时性和去冗余,一个客户对应的余额只有一个,你在存款的时候,新的余额就会覆盖掉老的余额,所以你的历史信息在数据库中是没有记录的。

如果银行希望查询客户的历史信息,比如说你需要查询个人客户信息,他可能在柜台交易系统中有记录,也可以在网上银行交易系统也有记录,而你希望查询客户柜台交易信息以及网银交易信息,这个时候需要跨系统查询,有可能两个系统所使用的数据库都不一样,各自权限负责人员也不一样,跨系统查询显得非常困难,这个时候需要一个系统能够将所有业务系统的数据汇总起来并能够跨系统查询,这个时候数据仓库定义中的集成的,反映历史变化的正好解决了此问题,数据库和数据仓库的对比:

功能 数据库 数据仓库
数据范围 当前状态的数据 存储历史的、完整的、反映历史的
数据变化 支撑频繁的增删改查 可添加、无删除、无变更的、反映历史的数据
应用场景 面向交易系统、流程;OLTP场景 面向分析、支持运营决策;OLAP场景
设计理念 遵守第一、二、三范式,避免冗余 违范式、适当冗余
数据量 小批次、高并发、低延迟 大批量、高吞吐、有延迟

其中OLTP(On-Line Transaction Processing)指的是传统的关系型数据库,针对实时业务处理,面对的主要操作是随机读写,采用满足三范式的实体关系模型存储数据,从而在事务处理中解决数据的冗余和一致性问题;而OLAP(On-Line Analytical Processing)系统面向数据批量读写,olap不关注事务处理的一致性,主要在数据的整合,以及复杂大数据查询和处理性能,OLAP能够支持复杂的分析操作。

区分维度 OLTP OLAP
用户 操作人员、低级管理人员 决策人员、高级管理人员
功能 日常查询 决策支撑查询
DB设计 面向应用、事务驱动 面向主题、面向分析、分析驱动
数据特征 当前状态的、实时更新的、二维的数据 历史的、多维度的、综合性的、非实时更新的数据
查询特性 读写数据量小、频繁的DML操作、面向大规模并发查询、延迟低 读写数据量大、DML操作少、并发小、面向复杂的查询、延迟高
用户数 上千个 上百个
数据规模 GB级别 TB级别

综上, 数据库的设计是为了完成交易而设计的,不是为了而查询和分析的便利设计的。而数据仓库是为了大量的查询和分析所设计的。

二、数据仓库对于企业的价值

数据仓库能实现跨业务条线、跨系统的数据整合,为管理分析和业务决策提供统一的数据支持,从根本上把运营数据转化成为高价值的可以获取的信息(或知识),并且在恰当的时候通过恰当的方式把恰当的信息传递给恰当的人。

数据仓库定义:面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合;

  • 面向主题:是指用户使用数据仓库进行决策时所关心的重点方面,如:收入、客户、销售渠道等;所谓面向主题,是指数据仓库内的信息是按主题进行组织的,而不是像业务支撑系统那样是按照业务功能进行组织的。
  • 集成的:是指数据仓库中的信息不是从各个业务系统中简单抽取出来的,而是经过一系列加工、整理和汇总的过程,因此数据仓库中的信息是关于整个企业的一致的全局信息。
  • 反映历史变化:数据仓库内的信息并不只是反映企业当前的状态,而是记录了从过去某一时点到当前各个阶段的信息。通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。

如下图,数据仓库并非是面向生产的数据系统,而是集成并加工了多个数据库系统数据,并面向各个业务条线构建的数据存储体系,能够提供快速的运营/决策支撑能力;

  • 高级管理进行业务分析和绩效考核的数据整合、分析和展现的工具;
  • 主要用于历史性、综合性和深层次数据分析
  • 数据来源是ERP(例:SAP)系统或其他业务系统;
  • 能够提供灵活、直观、简洁和易于操作的多维查询分析;
  • 不是日常交易操作系统,不能直接产生交易数据;

数据仓库系统能够为企业的数据化提供:

猜你喜欢

转载自blog.csdn.net/yezonggang/article/details/107905982
今日推荐