- 概述:
数据仓库是一个为数据分析而设计的企业级数据管理系统。数据仓库可集中、整合多个信息源的大量数据,借助数据仓库的分析能力,企业可从数据中获得宝贵的信息进而改进决策。
在整个数据价值生产链路中,数据仓库的主要作用就是中心化分发,将原始数据与数据价值挖掘活动隔离。所有的原始数据都会进入数据仓库,再由数据仓库统一分发给下游的数据使用者。这样的结构实现了原始数据与数据分析工作的解耦,让业务活动可以专注于生产,也让数据价值挖掘可以专注于分析。
数据仓库是基于大数据平台的存储引擎、存储格式(Hive、Delta Lake等),基于维度建模方法建设的结构化数据集合,目的是为所有类型的数据支持提供数据环境;
目前系统存在应用之间多数据源连接,数据交叉存储、数据延时现象,以致于数据提取,即席查询,分析时出现数据错误现象。
- 数仓建设目的
数仓的数据往往用来为后面的即席查询、分析系统、数据集市、报表系统、数据挖掘系统做准备。
目的解决以下问题:
- 不同业务系统之间形成数据孤岛,不能进行数据互通,缺少数据统一管理、数据分散,不能有效统一利用
- 多个业务系统,那么对应的多个报表、文件系统的维护问题;如机构测
- 业务系统的数据存在脏数据的问题
- 业务系统的数据格式等问题,需要各个业务系统处理
- 财汇数据维护不足
- 数据存储延用oracle,难以利用非结构化数据进行分析,建模
- 直接操作业务数据做分析,对数据而言也是一种危险
数仓建设目的与使用场景:
面向主题 1. 不同主题域进行数据管理、应用、分析2. 适用于不同业务场景决策
即席查询1. 增长分析
数仓建设 1. 实时数仓-准实时标签2. 统一数仓建设,简化大数据软件栈
数据运营 1. 标签服务2. 客群筛选3. 交互运营
业务报表 1. 管理驾驶舱(实时看板)2. 多维分析报表
模型算法 1. 模型训练2. 策略旁路
业务监控 1. 业务数据监控
- OLAP 和OLTP
OLTP
联机事务处理OLTP,主要执行基本日常的事务处理,比如数据库记录的增删改查。
OLTP的特点:
- 实时性要求高,例如银行业务中的转账实时到账。
- 数据量小,一般生产库的数据量不是太大,而且回做相应的数据处理和转移。
- 交易一般是确定的,比如银行存取款的金额肯定是确定的,所以OLTP是对确定性的数据进行存取
- 高并发,要求ACID原则
- ACID:原子性(Atomicity),一致性(Consistency),隔离性(Isolation),持久性(Durability)
OLAP
联机分析处理OLAP是数据仓库的主要应用,支持复杂的分析操作,侧重于决策支持,并且提供直观易懂的查询结果。典型的就是复杂的动态报表系统。
OLAP的特点:
- 实时性要求不是很高,最常见的就是天级更新数据,然后对应的数据报表
- 数据量大,因为OLAP支持的动态查询,所以用户也许要通过将许多数据统计后才能知道信息。
- OLAP系统的重点是通过数据提供决策支持,所以查询都是动态的,自定义的。所以在OLAP中,维度的概念特别重要。一般会将所有关心的维度数据,存入对应的数据平台。
总结
OLTP即联机事务处理,主要使用在业务系统中。
OLAP即联机分析处理,是数据仓库的核心部分。
- 数据仓库分层
按照数据流入流出来看的话,大致可分为三层,分别是异构源数据层,数据仓库层,数据应用层。
源数据层
一般是从业务系统抽取的数据、或者通过接口获取、或者通过线下导入,这里是无需做任何修改。
数据仓库层
这一层可以成为细节层,DW层的数据应该是一致的、准确的、干净的数据,即对源数据进行了清洗后的数据
数据应用
报表平台直接读取的数据源;根据报表、专题分析需求而计算生成的数据。
(疑问解答:为什么要分层呢,这不是增加管理困难?
首先分层可以实现用空间换时间,通过大量的预处理来提升应用系统的用户体验,因此数据仓库回存在大量冗余的数据;不分层的话,如果源业务系统的业务规则发生变化,会影响整个清理过程,增加工作量。
其次通过数据分层管理可以简化数据清晰的过程,因为把原来一步的工作分到多个步骤去完成,相当于把一个复杂的工作拆分成多个简单的工作&#
版权归原作者 向日葵 所有, 如有侵权,请联系我们删除。