数据仓库概念

数据仓库可以算是数据产品必须要了解的技术知识了, 在一年前的数据产品求职分析中,其中技能要求这一项中,数据仓库可是占了一席之地的。

但是,对于准备求职数据产品的童鞋来说,可能身边没有做数仓开发的朋友可以请教。自学吧,而那几本经典书籍里面又过于理论,看起真是生不如死,而且数据产品并不是数据开发,可能了解一些入门的常识,有个大概的概念就可以了。

我也一直零零散散的积累这方面的知识,这两天梳理了下,形成下文,希望对大家有所帮助,非专业数仓开发人员,如有不准确的地方,还望大家指正。

文章结构

  • 一、数据仓库是什么
  • 二、数据仓库有什么特点
  • 三、为什么搭建数据仓库
  • 四、数据仓库结构
  • 五、ETL
  • 六、数据集市
  • 七、ODS
  • 八、元数据

一、数据仓库是什么

可以理解为:面向分析的存储系统。

也就是说数仓是存数据的,企业的各种数据往里面塞,主要目的是为了有效分析数据,后续会基于它产出供分析挖掘的数据,或者数据应用需要的数据,如企业的分析性报告和各类报表,为企业的决策提供支持。

上面的意思先理解着,接下来从头讲起,先看关系型数据库,它可以被划分为两大基本类型:操作型数据库和分析型数据库。

1. 操作型数据库

主要面向应用,用于业务支撑,支持对实际业务的处理,也可以叫业务型数据库。

可以理解为通常意义上的数据库(后端开发同学口中的经常提到的就是这种)。

2. 分析型数据库

主要面向数据分析,侧重决策支持,作为公司的单独数据存储,负责利用历史数据对公司各主题域进行统计分析。

由于分析型数据库中的操作都是查询,因此也就不需要严格满足关系型数据库一些设计规范,这样的情况下再将它归为数据库不太合适,也容易不引起混淆,所以称之为数据仓库。

这里可以说一下,数据处理大致可以分成两大类:OLTP(联机事务处理)和OLAP(联机分析处理)。

  1. OLTP(联机事务处理)就是操作型数据库的主要应用,更侧重于基本的、日常的事务处理,包括数据的增删改查。
  2. OLAP(联机分析处理)就是分析型数据库的主要应用,以多维度的方式分析数据, 这个后续会整理。

二、数据仓库有什么特点

相对于数据库,数据仓库有以下特点

(1)面向主题

数据仓库通过一个个主题域将多个业务系统的数据加载到一起,为了各个主题(如:用户、订单、商品等)进行分析而建,操作型数据库是为了支撑各种业务而建立。

(2)集成性

数据仓库会将不同源数据库中的数据汇总到一起。

(3)历史性

较之操作型数据库,数据仓库的数据是为企业数据分析而建立,所以数据被加载后一般情况下将被长期保留,前者通常保存几个月,后者可能几年甚至几十年。

(4)时变性

是指数据仓库包含来自其时间范围不同时间段的数据快照,有了这些数据快照以后,用户便可将其汇总,生成各历史阶段的数据分析报告。

(5)稳定性

数据仓库中的数据一般仅执行查询操作,很少会有删除和更新。但是需定期加载和刷新数据。

三、为什么搭建数据仓库

简单来说,就是为了有效分析数据 。

你说直接从业务数据库中取数据来做分析?

也不是不可以,就是业务系统多,业务复杂时,会发现结构复杂,数据脏乱,难以理解,缺少历史,大规模查询缓慢这些问题。

业务到一定规模,大家需要面临的问题越来越复杂和深入,数据需求不再只是昨日的营收,上月的uv这些,而是“28到45岁女性在社区的活跃度与公司策划的专题内容活动的关系”这类精细化的分析,而从数据库是很难取出这类数据的。

毕竟业务型数据库是为了支撑业务设计的,不是为了查询和分析数据。

四、数据仓库结构

用AXURE画了个结构图,如下:简单来说,就是把各数据源的数据ETL到数仓中,数仓再对数据进行集成和统计,然后再输出给各数据应用,图中涉及的模块,接下来会分别介绍。

五、ETL

ETL分别代表:抽取extraction、转换transformation、加载load。

(1)抽取(Extract)

从数据来源提取指定数据,数据是需要指定的,不是所有的数据都要抽取过来, 某些源数据对于分析而言没有价值,或者其可能产生的价值,远低于储存这些数据所需要的数据仓库的实现和性能上的成本,就不会抽取了。

(2)转换(Transform)

将数据转换为指定格式并进行数据清洗保证数据质量。

数据转换,如包括编码转换(m/f->男/女),字段转换(balance->bal),度量单位的转换(cm->m),数据粒度的转换。业务系统数据存储非常明细的数据,而数据仓库中数据是用分析的,不需要非常明细,会将业务系统数据按照数据仓库粒度进行聚合。

数据清洗,如会对不完整数据,错误数据和重复数据等脏数据进行清洗。

(3)加载(Load)

将转换过后的数据加载到目标数据仓库,加载可分为两种:

  1. 全量加载:一次对全部数据进行加载。
  2. 增量加载:一般首次需要全量加载,但是在第二次周期或者第三次周期的时候仍然全量加载的话,耗费了极大的物理和时间资源。有可能部分数据源并未发生变化,而有的数据源可能只是增加了少量的数据。 对数据源中的数据只考虑新修改的记录和新插入的记录就是增量加载。

ETL很可能是数据仓库开发中最耗时最耗资源的一个环节,因为该环节要整理各大业务系统中杂乱无章的数据,并协调元数据上的差别,工作量很大,但也是构建数据仓库的重要环节,对数据仓库的后续环节影响比较大。

六、数据集市

数据集市(DM)可以理解为是一种“小型数据仓库”,一般面向部门、单个主题或特定应用,且之间互不影响。

可以分为以下两种:

  1. 独立数据集市:有自己的源数据库和ETL架构;
  2. 非独立数据集市:没有自己的源数据,它的数据来自数据仓库。当用户或者应用程序不需要/不必要/不允许访问整个数仓数据时,就可以直接访问数据集市,为用户提供一个数据仓库的“子集”。

简单理解就是一个结构完全和数仓一样,有ETL,然后自己存储和计算;另一种就是直接用数仓处理过的数据,再次进行组合集成。可能后面结合数据分层更好理解。

七、ODS

ODS:全称是Operational Data Store,操作数据存储。

存储各大业务型数据库ETL后的数据,是最接近数据源中数据的一层,主要目的是为了数据集中。

总体上大多是按照源业务系统的分类方式而分类的,因此会具有鲜明的业务数据库的特征,甚至还具有一定的关系数据库中的数据范式的组织形式。

但是不等同于原始数据,数据格式按照数仓要求统一,并经过简单的清洗。

八、元数据

元数据(Meta Date),即数据的数据,元数据可分为技术元数据和业务元数据。

技术元数据为开发和管理数据仓库的IT 人员使用,描述了与数据仓库开发、管理和维护相关的数据,包括数据源信息、数据转换描述、数据仓库模型、数据清洗与更新规则、数据映射和访问权限等。

而业务元数据为管理层和业务分析人员服务,从业务角度描述数据,包括商务术语、数据仓库中有什么数据、数据的位置和数据的可用性等,帮助业务人员更好地理解数据仓库中哪些数据是可用的以及如何使用。

写到这里,发现内容已经很多了,像数仓建模、数据分层、olap、BI这些留到下篇再讲吧。

提一下数据分析报告,去年爬了3份数据,本来准备写三篇数据报告,结果写了一篇之后,就再也没有下文了,前段时间又重新爬了份,准备至少再写一篇,虽然现在还没开始动笔。

关注公众号suxudata 回复:数仓 可以获得一本数仓入门教程哈 虽然讲得也有点晦涩 但是比较薄 还算不错

原文地址:https://www.cnblogs.com/lovelygang/p/11165404.html

时间: 2024-10-10 02:57:01

数据仓库概念的相关文章

数据仓库——概念数据模型

在数据仓库领域有一个概念叫conceptual data model,中文一般翻译为"概念数据模型".概念数据模型设计与逻辑数据模型设计.物理数据模型设计是数据库及数据仓库模型设计的三个主要步骤. 概念数据模型是最终用户对数据存储的看法,反映了最终用户综合性的信息需求,它以数据类的方式描述企业级的数据需求,数据类代表了在业务环境中自然聚集成的几个主要类别数据. 概念数据模型的内容包括重要的实体及实体之间的关系.在概念数据模型中不包括实体的属性,也不用定义实体的主键.这是概念数据模型和逻

【数据仓库】——数据仓库概念篇

一.简介 1.什么是数据仓库 数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented ).集成的(Integrated).相对稳定的(Non-Volatile).反映历史变化(Time Variant)的数据集合,用于支持管理决策和信息的全局共享. //请熟练记忆粗体字! 二.特点 1.数据仓库的特点 1.数据仓库的数据是面向主题的 与传统数据库面向应用进行数据组织的特点相对应,数据仓库中的数据是面向主题进行组织的.什么是主题呢?首先,主题是一个抽象的概念,是

数据仓库专题(6)-数据仓库、主题域、主题概念与定义

一.数据仓库 关于数据仓库概念的标准定义业内认可度比较高的,是由数据仓库之父比尔·恩门(Bill Inmon)在1991年出版的"Building the Data Warehouse"(<建立数据仓库>)一书中所提出: 中文定义:数据仓库是一个面向主题的.集成的.相对稳定的.反映历史变化的数据集合,用于支持管理决策. 英文定义:A data warehouse is a subject-oriented, integrated, nonvolatile, and time

数据仓库之父——Bill Inmon(转载)

从此处转载 http://blog.sina.com.cn/s/blog_615f9dba0100f67p.html 比尔·恩门(Bill Inmon),被称为数据仓库之父,最早的数据仓库概念提出者,在数据库技术管理与数据库设计方面,拥有逾35年的经验.他是"企业信息工厂"的合作创始人与"政府信息工厂"的创始人. 比尔·恩门的思想与见识在所有重量级的计算机协会.许多产业会议.技术研讨会上,都博得了无比的敬重.他写过650多篇文章,大多发布在世界最知名的IT刊物里,D

数据库&amp;数据仓库

数据仓库的定义: 世界公认的数据仓库概念创始人W.H.Inmon在<数据仓库>(Building the Data Warehouse)一书中对数据仓库的定义是:数据仓库就是面向主题的.集成的.非易失的(稳定性).随时间变化(不同时间)的数据集合,用以支持经营管理中的决策制定过程. 数据库&数据仓库,布布扣,bubuko.com

《数据挖掘概念与技术》学习笔记

1.Chapter1 引论: (1) OLTP 和 OLAP 概念: OLTP(on-line transaction processing) 联机事物处理,就是我们常常说的关系数据库的主要应用,主要是主要的.日常的事务处理,比如银行交易.比如:mysql OLAP(on-line analytical processing) 联机分析处理,是数据仓库系统的主要应用,支持复杂的分析操作,側重决策支持,而且提供直观易懂的查询结果.比如:hive+hdfs. (2) 数据仓库概念: 数据仓库是一个面

数据仓库专题(16)-分布式数据仓库实践指南-目录篇

前言: 准备系统化整理一套分布式数据仓库建模实践指南,先把目录列出来吧,算是给自己设计一个目标吧. 第一部分 基础篇 第一章 数据仓库概念与定义 1.1 数据管理体系 1.2 数据仓库概念 1.3 数据仓库职责 第二章 数据仓库体系结构 2.1 Inmon CIF 2.2 Kimball 2.3 对于与分析 第三章 维度建模基础 3.1 kimball四步建模法 3.2 维度设计 3.3 事实表设计 第二部分 实践篇 第一章 路线图 第二章 业务分析-深浅有度 第三章 数据分析-区别对待 第四章

数据仓库基础内容

一.数据仓库概念 将多数据源中的数据整合一起,进行数据分析,此时数据仓库对多种业务数据进行筛选和整合,可以用于数据分析.数据挖掘.数据报表.时效性T+1. 二.数据仓库的特点 主题性:数据仓库是针对某个主题来进行组织,比如滴滴出行,司机行为分析就是一个主题,所以可以将多种不同的数据源进行整合.而传统的数据库主要针对某个项目而言,数据相对分散和孤立. 集成性:数据仓库需要将多个数据源的数据存到一起,但是这些数据以前的存储方式不同,所以需要经过抽取.清洗.转换的过程 稳定性:保存的数据是一系列历史快

数据仓库介绍

1.数据仓库概念与用途 数据仓库(Data Warehouse,简写DW)是一个数据库集合,存储大量的数据,主要为企业撰写分析报告与决策做支撑,对多样的业务数据进行筛选整合,为企业提供一定的BI(商业智能)能力,指导业务流程改进.监视时间.成本.质量以及控制. 数据仓库的输入方是各种各样的数据源,最终的输出用于企业的数据分析.数据挖掘.数据报表等方向. 2.数据仓库特点   (1)主题性 不同于传统数据库对应于某一个或多个项目,数据仓库根据使用者实际需求,将不同数据源的数据在一个较高的抽象层次上