本文,是为了让大家更好的理解大数据经典架构的补充内容,主要介绍一下数据仓库相关的内容。

数据仓库(Data Warehouse,DW):由两个主要部分构成(一个整合的决策支持数据库 + 一个收集、清洗、转换、存储来自于各种外部数据源数据的相关软件程序),两者结合以支持历史的、分析的和商务智能需求

企业数据仓库(Enterprise Data Warehouse,EDW):是服务于整个企业商务智能需要的集中式数据仓库。企业数据仓库遵循企业数据模型,使得整个企业范围内的决策支持活动可以保持一致。

一个数据仓库也可能包括若干相关的数据集市,他们都是数据仓库的子集副本

数据仓库活动专注于实现一个历史的业务上下文,包括业务规则,同时保证与元数据存储库交互的流程。

数据仓库活动提供技术解决方案以支持商务智能(BI),“商务智能”是多种业务能力的集合,具体包括:

  • 知识工作者执行查询、分析和报表活动,用于监控和了解企业财务运营情况,支持决策制定

  • 基于企业操作型数据的战略/运营分析和报表,从而支持业务决策、风险管理、合规管理

  • 查询/分析和报表相关的流程和规程

  • 商务智能软件工具的细分市场、决策支持系统的同义词、商务智能环境的代名词

数据仓库和商务智能管理的目标:

软件

环境

为数据获取、数据管理和数据访问提供稳定、高效、可靠的环境。

提供易于使用的、灵活的和全面的数据访问环境。

定义、构建并维护所有数据存储、数据处理过程,数据基础设施和数据工具,在系统输出后经过整合和精细化处理的数据可以用于信息查看、分析或者满足数据请求

数据

服务

为所有合适的访问形式提供可信的、高质量的数据。

在内容和内容访问方面,与组织目标相适应,以增量方式交付。

对所需的当前和历史数据提供整合的数据存储,并按照主题域组织数据。

交付数据时,关注如何支持数据治理所发起的决策、政策、流程、定义以及标准等。

整合商务智能处理过程所发现的新数据到数据仓库,使其为进一步分析和商务智能所用。

外部

支撑

要借助其他相关的数据管理职能,如参考数据/主数据/元数据管理、数据治理、数据质量管理,而不重复建设。

几个必须知道的概念:

1、报表数据库和业务数据库的区别

区分数仓和业务应用库表设计的不同,是实施数仓的第一步。

同时牢记:数仓是面向主题,集成的,不可更新的,随时间不断变化的。

业务

数据库

用于减少冗余和提高精度 。

适合于数据的写入和更新而不是数据的读取。

数据被细分为很多表(为了消除冗余),大查询执行起来较慢

报表

数据库

报表型数据源通常使用星型结构布局。所有事务型数据,大部分数值型数据存储在事实表中,所有的参考数据,例如产品信息等,存储在独立的维度表中。

星型结构数据库比完全标准化数据库含有的表少,查询性能更快。

2、维度

维度是一个与业务相关的观察角度,依赖于数据的有效性和表达业务成效的关键指标。一个经典的维度描述是:什么时间(when),谁(who)在哪里(where)做了什么事(what),其间描述了四个维度。

所有维度在一起提供了业务的多维视图。这个多维视图的数据被存为一个立方体。一个维度可下设若干层。如地区维度下可以有地域、国家、办事处、销售员4层。

3、度量

度量也叫事实,是用于评价业务状况的数值型数据。如销售额、成本、利润、库存量、交易数(关联想像一下度量衡)。

在企业活动中通常是通过如销售额、费用、库存量和定额一类的关键性能指标,度量来监测业务的成效。

不同的度量反映出不同的业务性质。度量之间相互独立。

度量是业务量化的表示。

4、多维分析

从多个维度分析某个度量指标。

5、维度、层、类别

一图胜千言,请看图

数据仓库圈内,存在 inmon和kimball 两大派系。

1、kimball数据仓库架构

  Kimball架构是一种自下而上的架构,它认为数据仓库是一系列数据集市的集合。企业可以通过一系列维数相同的数据集市递增地构建数据仓库,通过使用一致的维度,能够共同看到不同数据集市中的信息,这表示它们拥有公共定义的元素。

kimball数据仓库四部分组成:操作型源系统、ETL系统、数据展示(我觉得用数据组织更合适一些)和商业应用,架构图如下:

操作型源系统

记录操作型系统,用于获取业务事务。

源系统位于数据仓库之外,提供的数据仓库需要的基础数据,系统不能控制源系统数据格式和内容。

源系统一般不维护历史信息,数据仓库的责任是更好的承担源系统过去情况的责任,并依据业务需求实现源系统数据不能实现的查询场景。

ETL系统

(获取-转换-加载)

ETL系统处于操作型源系统和数据仓库展现(数据组织)之间,包括数据获取、转换和加载。

数据获取:将数据从操作型系统导入数据仓库环境,将需要的数据复制到ETL系统进行后续数据处理操作。

数据转换:对读取的操作型源系统数据进行清洗数据(消除拼写错误、处理错误元素、解析规范数据标准格式等)、合并来自不同数据源数据。

数据加载:将处理完成的数据加载到展现区域的目标维度模型中。数据加载过程中主要是划分维度表和事实表(包括:代理键设置、增加适当描述、拆分或组合列以提供需要的数据值、形成扁平大表)。

数据通过ETL系统处理,增加数据利用价值,同时可以进行元数据诊断,逐步改进源系统数据质量。

数据展现区

(数据组织)

展现区数据以维度模型展现,采用星型模式或OLAP多维数据库,以支撑商业智能的需求。

为满足用户无法预期的、随意查询,必须使用原子数据。

同时,为提高性能会存储部分聚合数据。

提供各种细节数据方便用户上卷解决实际问题。

商业智能(BI) 用户利用展现区制定分析决策能力。

  2、inmon架构

Bill Inmon(被称为数据仓库之父)提倡 企业信息工厂

(corporateinformation factory,CIF),下图是简化版CIF。

数据获取

获取各种操作源系统数据,按照3NF标准对获取的数据进行拆分(依托ETL系统),形成企业数据仓库中的规范表

  • 这一过程获取的原子数据保存在满足3NF数据库中。

  • 规范化、原子数据的仓库称为CIF架构下企业数据仓库(EDW)

  • 规范化的数据要求是CIF中强制性的构件

  • CIF提倡企业数据协调和集成,由规范化的EDW承担这一角色。

数据发布

根据不同主题,对EDW中的数据按照维度模型拆分,结合部门、主题场景对EDW中的数据进行统计分析,保存到各个集市中,提供BI应用使用。

EDW中保留的是原子数据,支撑BI下钻直接查询原子数据。

inmon主张自上而下的架构:

(1)不同的业务数据 集中到 面向主题、集成的、不易失的和随时间变化的结构中。既可以下钻到最细层,也可上卷到汇总层。

  • 数据集市应该是数据仓库的子集,

  • 每个数据集市是针对独立部门特殊设计的。

(2)inmon将数据仓库定义为整个企业级的集中存储库,数据仓库存放着最低的详细级别的原子数据。维度数据集市只是在数据仓库完成以后才创建的。因此,数据仓库是企业信息工厂(CIF)的中心,它为交付商务智能提供逻辑框架。

两大派系对优缺点总结

Inmon架构:核心是要求规范化表,需要用大量的时间来梳理和设计数据表结构,但如果规范化数据仓库一旦建立好了,则以后数据就更易于管理。而且由于开发人员不能直接使用其中心数据库,更加确保了数据质量,中心数据库是采用规范化设计的,冗余情况也会更少。

kimball架构:对数据表结构没有强规范型要求,数据仓库的建设相对较快,适用于业务变化比较频繁的情况,对开发人员的要求也不是很高。

从实施角度,两种架构的对比分析如下:

  inmon架构 kimball架构
建设周期 花费大量时间 花费相对较少时间
建设成本 初期投入大,后期投入少。

初期投入较少,

后续需长期投入。

人员要求 专家团队 一般开发团队
维护难度 容易

困难

(字段冗余,数据不稳定)

适合场景 业务模式较固定 业务变化较频繁

大数据常用架构、数据仓库介绍完了,后面咱们开始讨论经典大数据组件了。动物园管理员,走起!  敬请期待!

如果觉得这篇文章对您有帮助,欢迎关注公众号 “学点儿编程”,公众号不断推送干货文章!

数据仓库概念扫盲,kimball和Inmon两大派系在争什么?相关推荐

  1. 深入对比数据仓库模式:Kimball vs Inmon

    1.概述     Kimball和Inmon是两种主流的数据仓库方法论,分别由 Ralph Kimbal大神 和 Bill Inmon大神提出,在实际数据仓库建设中,业界往往会相互借鉴使用两种开发模式 ...

  2. 数据仓库(5)数仓Kimball与Inmon架构的对比

    数据仓库主要有四种架构,Kimball的DW/BI架构.独立数据集市架构.辐射状企业信息工厂Inmon架构.混合Inmon与Kimball架构.不过不管是那种架构,基本上都会使用到维度建模. Kimb ...

  3. 数据仓库中的两大经典模型

    在数据分析相关内容中,包括两大重要内容:一是底层数据系统建设内容,二是业务报表相关内容梳理.一是系统基础,二是基础之上的业务逻辑衍生. 在番茄风控之前的数据分析课程中,主要集中在以上的第二点即业务相关 ...

  4. 响铃:相互宝、水滴互助两大生态领跑,网络互助还有四大变数

    文|曾响铃 来源|科技向令说(xiangling0815) 网络互助行业这三年经历了一次过山车式的洗礼. 从2016年被诩网络互助元年,大小平台数量一度超过300家:到2017年监管加强,多家互助平台 ...

  5. 数据仓库【Kimball vs Inmon】

    目录 1.概述 2.什么是Kimball 2.1 概念 2.2 流程 3.什么是Inmon 3.1 概念 3.2 流程 4.特征对比 4.1 特性 4.2 优劣比较 5.具体例子 5.1 数据 5.2 ...

  6. 大数据、云计算、物联网、数据仓库、OLAP、OLTP、等大数据你必须知道并且了解的概念及相关关系,我的一些总结

    三个概念 Cloud computing-云计算: 定义: 百度百科解释: 云计算(cloud computing)是分布式计算的一种,指的是通过网络"云"将巨大的数据计算处理程序 ...

  7. 大数据、云计算、物联网、数据库、数据仓库、OLAP、OLTP等学习大数据你必须了解的概念,我的学习总结

    三个概念 Cloud computing-云计算: 定义: 百度百科解释: 云计算(cloud computing)是分布式计算的一种,指的是通过网络"云"将巨大的数据计算处理程序 ...

  8. 大数据项目之电商数仓、数据仓库概念、项目需求及架构设计

    文章目录 1.数据仓库概念 2. 项目需求及架构设计 2.1 项目需求分析 2.1.1 采集平台 2.1.2 离线需求 2.1.3 实时需求 2.1.4 思考题 2.2 项目框架 2.2.1 技术选型 ...

  9. 华铭智能属于芯片概念吗_绩优滞涨的科技股名单来袭!两大活跃资金加仓股仅6只,射频芯片龙头在列...

    原标题:绩优滞涨的科技股名单来袭!两大活跃资金加仓股仅6只,射频芯片龙头在列 经过年初的一段暴涨后,科技股趋于沉寂,证券时报·数据宝统计显示,A股市场732家涉及科技细分领域的公司7月份以来平均上涨1 ...

最新文章

  1. 非常强悍的 RabbitMQ 总结,写得真好!
  2. 移动物联网技术LoRa、SigFox、NB-IoT和eMTC的发展轨迹
  3. clickhouse mysql引擎_玩数据的,有必要搞搞这个大数据框架——ClickHouse
  4. 在eclipse中输入.后提示解决
  5. MVVM模式下 DataTemplate 中控件的绑定
  6. boost::log::sinks用法的测试程序
  7. PingingLab传世经典系列《CCNA完全配置宝典》-2.7 EIGRP基本配置
  8. 如何获取网页付费隐藏链接_如何将SEO变成可衡量的收入来源
  9. Django 3.0 正式发布,开始支持异步功能
  10. 腾讯课堂:了解it技术圈的虚拟化容器化之docker
  11. Respond.js让IE6-8支持CSS3 Media Query
  12. 学习进度条 20171202
  13. 如果一小时后永久断网,你会干嘛?
  14. mabatis的工作原理
  15. Java后台框架篇--Spring与Restful风格API接口开发
  16. AlphaGo开源代码
  17. python 时间序列分析 图 公众号_【5分钟干货】微信朋友圈、公众号图文找图的经验之谈...
  18. FastAdmin多表联查
  19. 万豪国际集团旗舰酒店品牌正式入驻中国东北地区
  20. 重装系统后通过修改注册表实现记录还原

热门文章

  1. 2018蓝桥杯模拟赛(一)H【floyd求最短路径】
  2. 说说javascript变量类型和变量类型检测
  3. 状态机 Stateless VS StateMachine
  4. 【算法】海量数据相似度计算之simhash和海明距离
  5. 如果伦敦变成了一个巨大的AR涂鸦游戏场……
  6. 一分钟,simulink快速入门
  7. python的wxpy库_Python库学习 wxpy - 微信机器人
  8. 安装glup-sass后报错问题
  9. mysql io次数_MySQL_揭秘SQL优化技巧 改善数据库性能,优化目标   1、减少 IO 次数 - phpStudy...
  10. java中int转换double类型_Java 程序将int类型变量转换为double