热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

数据仓库_inmon&kimball数据仓库&数据集市理论

篇首语:本文由编程笔记#小编为大家整理,主要介绍了inmon&kimball数据仓库&数据集市理论相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了inmon & kimball 数据仓库&数据集市理论相关的知识,希望对你有一定的参考价值。



概述

    比尔·恩门(Bill Inmon),被称为数据仓库之父,最早的数据仓库概念提出者,是“企业信息工厂”的合作创始人与“政府信息工厂”的创始人。

    他发布过很多文章和数据,最著名的要数“Building the Data Warehouse”(《数据仓库的建立》),也正是这本书为恩门赢得“数据仓库之父”的殊荣。

    其在书中给出了数据仓库的概念,随后有精确的指出数据仓库是企业管理和决策中面向主题的、集成的、与时间相关的、非易变的数据集合。

    而相对的,《企业信息化工厂》相对完善和精确的描述了数仓的建设

    inmon 主张自上而下建立数据仓库,以第三范式进行数据仓库模型设计

    inmon的生活好友,拉尔夫·金博尔(Ralph Kimball)博士出版了他的第一本书“The DataWarehouse Toolkit”(《数据仓库工具箱》),主张自下而上的方式,力推数据集市建设。


    inmon和kimball 都主张 数据仓库中的数据应该是净化的、一致的、并且不受到其来源的遗留系统和 OLTP 系统设计的牵制



主张(分歧)



Bill Inmon



  • 将数据仓库定义为“一个面向主题的、集成的、随时间变化的、非易变的用于支持管理的决策过程的数据集合”(Building the data warehouse,第 2 版,第 33 页)。


  • 通过“面向主题”表示应该围绕主题来组织数据仓库中的数据,例如客户、供应商、产品等等。


  • 每个主题区域仅仅包含该主题相关的信息。


  • 数据仓库应该一次增加一个主题,并且当需要容易地访问多个主题时,应该创建以数据仓库为来源的数据集市。




换言之,某个特定数据集市中的所有数据都应该来自于面向主题的数据存储。


Inmon 的方法包含了更多上述工作而减少了对于信息的初始访问。但他认为这个集中式的体系结构持续下去将提供更强的一致性和灵活性,并且从长远来看将真正节省资源和工作。





Ralph Kimball



  • “数据仓库仅仅是构成它的数据集市的联合”(Figure 2,The Data Warehouse Lifecycle Toolkit,第 27 页)


  • 可以通过一系列维数相同的数据集市递增地构建数据仓库


  • 每个数据集市将联合多个数据源来满足特定的业务需求


  • 通过使用“一致的”维,能够共同看到不同数据集市中的信息,这表示它们拥有公共定义的元素。




Kimball的方法将提供集成的数据来回答组织迫切的业务问题并且要快于Inmon的方法。Inmon的方法是只有在构建几个单主题区域之后,集中式的数据仓库才创建数据集市。而Kimball认为该方法缺乏灵活性并且在现在的商业环境中所花时间太长。




inmon数据仓库


仓库特点


面向主题

 数据仓库的特性是按照企业操作过程的各个主要环节组建的。诸如 客户、产品、供应商、交易、订货、会计、发货等等



所谓的面向主题,就是数据按指定的主题域组织数据,同一个主题域的表由一个公共建码联系起来




数据集成

应用问题的设计人员历经多年制定出来的不同的设计决策有很多很多种不同的表示方法,

没有什么应用在编码、命名习惯、实际属性、属性度量等方面是一致的,各个应用问题设计

员自由地做出他或她自己的设计决策。

当数据进入数据仓库时,要采用某种方法来消除应用问题中的许多不一致性。例如 “性别”的编码,在数据仓库中是编码为m / f还是1 / 0并不重要,重要的是,

无论什么原始应用问题,无论数据仓库如何进行编码,在数据仓库中应该一致地进行编码




对所有的应用设计问题都要考虑同样的一致性处理,比如命名习惯、键码结构、属性度量以及数据特点




非易失(易变)的(相对稳定点的)

操作型数据正规地是一次访问和处理一个记录。可以对操作型环境中的数据进行更新。但数据仓库中的数据通常是一起载入与访问的,在数据仓库环境中并不进行一般意义上的数据更新。



反映数据历史变化



  • 数据仓库中的数据时间期限要远远长于操作型系统中的数据时间期限。操作型系统的时间期限一般是不多于最近半年,而数据仓库中数据的时间期限通常是forever。


  • 操作型数据库含有“当前值”的数据,这些数据的准确性在访问时是有效的,同样当前值的数据能被更新。而数据仓库中的数据仅仅是一系列某一时刻生成的复杂的快照。


  • 操作型数据的键码结构可能包含也可能不包含时间元素,如年、月、日等。而数据仓库的键码结构总是包含某时间元素



包含汇总数据和详细数据

数据仓库除了包含详细数据之外,还包含2种汇总数据:1、简档记录 2、公共汇总数据

简档记录就是根据某个主体汇总个体一段时间信息成一个摘要。是仓库常见汇总

公共汇总数据通常以部门为单位组织汇总数据,但适合整个企业范围应用。比如财务,佣金,风控






Kimball数据仓库


目标



  • 必须使得组织机构的信息变得容易存取


  • 必须一致的扎按时组织机构的信息


  • 必须有广泛的适应性和便于修改


  • 必须发挥安全堡垒作用以保护信息资产


  • 必须在同推进有效决策方面承担最基本的角色


  • 被业务群体提接受的前提是被认定为是成功的




组成


操作型源系统

是获取行业业务记录的操作系统,是数仓之外的部分,一般情况下只对源系统放过来的数据内容及其格式做少量的控制处理。


数据聚集环节

包括数据存储和ETL过程,一旦数据被抽取到聚集环节,便意味着大量可能的转换,这包括数据的清理,多数据源的组合,重复数据的去除以及仓库关键字的分配,这些转换是数据加载到数据仓库环节的准备。


数据展示

进行数据组织,存储和向用户、报表撰写、其他分析型应用提供直接处查询操作的场所。数据聚集环节业务是接触不到的,这样一来数据展示环节就成了业务眼中的数据仓库。

一般来说,展示环节就是一系列数据中心的集成,一个数据中心只展示一业务处理过程得到的数据,这些业务处理的内容不受机构职能划分的限制

要点



  • 数据以维度形式展示,存储和访问。


  • 维度模型和3NF建模不同,3NF是一种以消除数据冗余为追求目标的设计,珊瑚橘被划分成成很多离散的实体,而这些实体形成关系型里的一张表。


  • 维度建模采用一种将设计目标放在用户的易于理解性,查询高性能和修改的灵活性等等方面对数据进行封装



数据存取工具

那些提供给业务用户操作数据展示环节,以进行分析决策制定的各种功能



推荐阅读
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了adg架构设置在企业数据治理中的应用。随着信息技术的发展,企业IT系统的快速发展使得数据成为企业业务增长的新动力,但同时也带来了数据冗余、数据难发现、效率低下、资源消耗等问题。本文讨论了企业面临的几类尖锐问题,并提出了解决方案,包括确保库表结构与系统测试版本一致、避免数据冗余、快速定位问题等。此外,本文还探讨了adg架构在大版本升级、上云服务和微服务治理方面的应用。通过本文的介绍,读者可以了解到adg架构设置的重要性及其在企业数据治理中的应用。 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • MyBatis错题分析解析及注意事项
    本文对MyBatis的错题进行了分析和解析,同时介绍了使用MyBatis时需要注意的一些事项,如resultMap的使用、SqlSession和SqlSessionFactory的获取方式、动态SQL中的else元素和when元素的使用、resource属性和url属性的配置方式、typeAliases的使用方法等。同时还指出了在属性名与查询字段名不一致时需要使用resultMap进行结果映射,而不能使用resultType。 ... [详细]
  • 本文介绍了2019年上半年内蒙古计算机软考考试的报名通知和考试时间。考试报名时间为3月1日至3月23日,考试时间为2019年5月25日。考试分为高级、中级和初级三个级别,涵盖了多个专业资格。报名采取网上报名和网上缴费的方式进行,报考人员可登录内蒙古人事考试信息网进行报名。详细内容请点击查看。 ... [详细]
  • 本文介绍了在多平台下进行条件编译的必要性,以及具体的实现方法。通过示例代码展示了如何使用条件编译来实现不同平台的功能。最后总结了只要接口相同,不同平台下的编译运行结果也会相同。 ... [详细]
author-avatar
蓝客杂货
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有