什么是数据仓库

一、数据仓库概念

数据仓库(Data Warehouse)可简写为DW或DWH。数据仓库的目的是构建面向分析的集成化数据环境,为企业所有决策定制过程,提供所有系统数据支持的战略计划。它出于分析性报告和决策支持的目的而创建。

数据仓库本身并不“生产数据”,同时自身也不需要“消费”任何数据,数据来源于外部,并且开放给外部应用,这就是为什么叫“仓库”,而不叫“工厂”的原因。

通过对数据仓库中数据的分析,可以帮助企业,改进业务流程、控制成本、提高产品质量等。

数据仓库,并不是数据的最终目的,而是为数据最终的目的最好准备。这些准备包括对数据的:清晰,转义,分类,重组,合并,拆封,统计等等。

二、输出仓库和数据库的区别

数据库数据仓库的区别实际上是OLTP(操作性处理)和OLAP(分析型处理)的区别。

操作性处理(On-Line Transaction Processing),也叫面向交易的处理系统,是针对具体页面在数据库练级的日常操作,通常对少数数据进行查询和修改。

分析型处理(On-Line Analytical Processing),一般对某些主题的历史数据进行分析,用来支持管理决策。数据仓库并不是要取代数据库。

数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,不是所谓的“大型数据库”

三、数据仓库的主要特征

数据仓库是面向主题的(Subject-Oriented)、集成的(Integrated)、非易失的(Non-Volatile)和时变的(Time-Variant)数据集合,用以支持管理决策。

根据数据仓库处理的数据层次不同,数据仓库主要分为基础层、主题层、数据集市这三层。

3.1 面向主题

主题是一个抽象的概念,是较高层次上企业信息系统的数据综合、归类并进行分析利用的抽象。传统数据库的特点是面向业务应用的,各个业务系统相分离;而数据仓库则是面向主题的,它对应某一宏观分析领域所涉及的分析对象。

3.2 集成性

通过对分散、独立、异构的数据库数据进行抽取、清理、转换和汇总便得到了数据仓库的数据。这样保证了数据仓库数据的一致性。

数据仓库中的综合数据不能从原有数据库直接得到。隐藏在数据进入仓库前,要经过统一和综合,这是最关键复杂的一步:

1、统一源数据中所有矛盾之处。如:字段的同名异义、异名同义、单位不统一、字长不一致等;

2、进行数据综合和计算。数据仓库中的数据综合工作可以从原有数据库抽取数据时生成,但许多是在数据仓库内部生成的,即进入数据仓库后再进行综合生成的。

如下,一保险公司与“保险”有关的数据来自多个不同的操作系统。这些系统内部数据命名、数据格式可能都不相同。把源数据存储到数据仓库之前,需要ETL(抽取、转换、加载),去除不一致。ETL的质量决定了我们决策的准确性。

2.3 不可更新性(非易失性)

操作性数据库主要服务于日常的业务操作,使得数据库必须实时更新。数据仓库只保存过去的业务信息,不需要实时更新,而是每隔一段时间把一批较新的数据导入数据仓库。

数据仓库反映的是一段相当长的时间内历史数据的内容,是不同时间点数据库快照的集合,以及基于这些快照进行统计、综合和重组的导出数据。

数据仓库有大量的查询操作,但是几乎没有修改和删除。因此,数据经加工和集成进入数据仓库后极少更新,通常只需要定期加载和更新。

2.4 时变性

数据仓库包含各种粒度的历史数据。目的是通过过去一段时间业务的经营情况,挖掘其中隐藏的模式。数据仓库的数据需要更新,以适应决策的需要。数据仓库的数据随时间的变化主要有以下表现:

1、数据仓库的数据时限一般远远长于操作性数据的数据时限;

2、操作性系统存储的是当前数据,而数据仓库存储历史数据;

3、数据仓库的数据按照实际顺序追加,都带有实际属性。

四、数据仓库分层结构

按照数据流入流出的过程,数据仓库分为三层:原始数据层(ODS)、数据仓库(DW)、数据应用层。我们可以这样理解,ODS层存放的是原始数据,DW存放我们要重点设计的数据,APP是面向业务定制的应用数据。

原始数据层(ODS:Operational Data Store):数据无任何更改,不对外开放;为临时存储层,是接口数据的临时存储区域,为后一步数据处理做准备。例如用户访问日志表、订单日志表、用户登录表等。

数据仓库(DW:Data Warehouse):也叫细节层。是对源数据进行了ETL之后的数据。一致、准确、干净的数据。数据仓库层是核心设计,从ODS中获取的数据按照主题建立各种数据模型,其又细分为以下几层:

1、数据明细层DWD(Data Warehouse Detail):该层一般保持与ODS一样的数据粒度,并提供一定的数据质量保证。该层会做少许聚合,将相同主题的数据汇集到一张表中,提供数据可用性。

2、数据中间层DWM(Data WareHouse Middle):改成在DWD层的基础上,对数据做轻度聚合操作,生成一系列中间表,提高指标复用性。其作用就是对核心数据进行聚合,算出统计指标。

3、数据服务层DWS(Data WareHouse Servce):又称数据集市。主要是面向各业务部门使用,并且仅面向某个特定的主题,例如商品主题宽表、店铺主题宽表、地址主题宽表。主要功能是将上两层的数据按照业务需求聚合,生成字段较多的宽表和Cube,用于后续的业务查询、OLAP分析,数据分发等。比如将表数据推送给MySQL数据库。

数据应用层(DA或APP:Application):前端应用直接读取的数据。根据报表、专题分析需求而计算生成的数据。这里主要是提供给数据产品和运营所使用的数据,一般存放在ES、Redis、PostgreSql等系统中,也可能存放在Hive中供数据分析和挖掘使用,比如报表数据等。

数据仓库从各个数据源获取的数据及在数据仓库内的转换和流动都可以认为是ETL。数据仓库的日常管理和维护大部分精力就是保持ETL的稳定。

为什么要进行数据仓库分层?

用空间换时间,用大量冗余(预处理)来换取快速响应,提升用户体验。如果不分层的话,源系统业务规则发送变化将影响整个数据清洗过程,工作量巨大。

通过分层管理简化数据清洗过程,把一步的工作分为多个步骤去完成,每一个步骤都相对简单和容易,这样我们容易保证每个步骤的准确性,当发生错误数据时,我们只需要局部修改即可。

五、数据仓库元数据管理

元数据(Mata Data),也叫解释性数据,描述性数据。元数据管理是企业级数据仓库中的关键组件,贯穿数据仓库构建的整个过程,直接影响着数据仓库的构建、使用和维护。

● 构建数据仓库的主要步骤之一是ETL。元数据定义了源数据系统到数据仓库的映射,数据转换的规则、数据仓库的逻辑结构,数据更新的规则,数据导入历史记录以及装载周期等相关内容。数据抽取和转换的专家及仓库管理员正是通过元数据高效地构建数据仓库。我们可以从元数据中知道,一个数据是经过了怎样的ETL达到数据仓库等信息。

● 用户在使用数据仓库时,通过元数据访问数据,明确数据项的含义及定制报表。

● 数据仓库的规模及复杂性离不开元数据管理,包括增加或移除外部数据源,改变数据清洗规则,控制出错的查询及安排备份等。

目前,行业对于元数据的管理普遍不是很好,用Excel记录等方式。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,163评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,301评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,089评论 0 352
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,093评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,110评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,079评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,005评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,840评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,278评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,497评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,667评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,394评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,980评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,628评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,649评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,548评论 2 352

推荐阅读更多精彩内容

  • 目录一、什么是数据仓库二、数据集成:ETL三、主流的数据仓库简介 一、什么是数据仓库 我们先从一个故事开始:在很久...
    回锅肉不回锅了阅读 778评论 1 0
  • 什么时候需要用到数据仓库? 一个公司里面不同项目可能用到不同的数据源,有的存在MySQL里面,又的存在MongoD...
    dy2903阅读 19,991评论 0 8
  • 上一篇:098-BigData-26Hive企业级调优 十、数据仓库 10.1 什么是数据仓库数据仓库,英文名称为...
    AncientMing阅读 866评论 0 2
  • 10.1 什么是数据仓库 数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企...
    码农GG阅读 474评论 0 0
  • 平淡的生活和往常一样,点点滴滴,默默的循环过往。 今天夸夸孩他爸,自从有了丫头,孩他爸变了很多,变的会疼人了,家务...
    梅美洁车饰阅读 175评论 0 0