一、联机事务处理(OLTP)

OLTP系统是设计用来允许高并发性的,这样很多用户就能够访问同一个数据源并进行所需的处理。

OLTP系统是面向在数据库上进行事务处理的理念的。而事务则进一步蕴含着发生在表中数据上的受控的变更,这些变更包括在商务运作过程中发生的插入、更新和删除操作。通常,一个OLTP系统将会有大量的客户端应用程序通过各种各样的方式(插入、更新、删除--实际上可以是任何操作)访问数据库以查询一小块信息。

OLTP系统的实例包括数据输入程序,如银行处理、订票、联机销售和库存管理系统。

二、联机分析处理(OLAP)

联机分析处理(或OLAP)是一种广义上的决策支持系统(DSS),或者最近越来越流行的商业智能(BI)。BI系统的目标是分析海量数据,然后以很多不同的方式(包括每天、每周、每季和年度报告)生成小结和总结以把精力高度集中在记分卡和仪表盘上,它们通常用于帮助那些准备好根据这些数据采取一定的措施的特定用户来获取竞争优势。

一旦数据进入数据仓库之后就很少会发生变化。数据被保存在那里用于查询和生成报表,以便帮助决策者规划企业的未来。它不需要关心插入、更新和删除操作。因此与高度规范的事务数据库不同,在这种情况下通常会使用所谓的维度数据库 (dimensional database),它将遵循特定的结构或模式。

维度数据库可以用来构建数据立方体,数据立方体是数据的多维表示,用来方便联机业务分析和提高查询性能。立方体中的每一维都表示业务数据中的一个不同的分析类别。

三、维度数据库

在OLTP系统中进行复杂查询存在一些固有的问题,对这些问题的解决方案是构建一个单独的数据库来更简洁地表示业务事实(fact)。这个数据库的结构不是关系型的,相反,它是维度化的。

四、事实表

维度数据库的中心表叫做事实表。它的行表示事实,事实表的中心内容是对一个活动或事件的不同实例的测量。

例如,AdventureWorksDW2008数据仓库示例中包含了一张名为FactInternetSales的表以及几张关联表(如图24-1所示)。它关注的是单个销售,但是在项目级别则主要关注每个销售的关键指标。它保存着一组测量(通常是数值)--在本例中是Order Quantity、Unit Price、Extended Amount还有其他一些测量--并且把它们与恰当地维关联起来(在本例中将会根据产品信息、相关日期、客户信息以及其他一些维来进行分析)。

http://book.51cto.com/art/201006/206177.htm

五、维度表

维度把事实放到上下文中,它表示诸如时间、产品、客户和位置之类的事物。维描述了事实表中的数据。在本节的AdventureWorksDW2008示例中,一个恰当的做法是选择日期、客户和产品作为维度。

这些链接到事实表上的表叫做维度表。

事实表抓取与每天发生的事务有关联的所有客户和产品。由于每一个明细行有一行相应的数据,因此这张表可能会变得非常大。由于为每一单生意都存储客户数据将会占用大量的空间,并且通常无法提供那么多的空间,因此需要把那些不是每个测量实例都发生变更的项目分离出来。这些链接到事实表上的表叫做维度表。它们被用来创建分组,而根据这些分组可以确定事实表中的聚合级别。

例如,如果查询FactInternetSales表并按照月来分组,那么就可以找到所有销售地区中所有产品每月总的销售量。如果查询 FactInternetSales表并按照州来分组,那么就能够找到某个销售地区在整个统计时间内在所有客户和所有产品上发生的总的销售量。还可以根据 FactInternetSales表的维度的组合来进行聚合。例如,可以找到在特定销售地区发生在特定类型的客户身上的特定产品模型每个月总的销售量,只需要把结果根据州和月来分组,然后在WHERE子句中为客户和产品加上合适的标准即可。

六、星形和雪花模式

图24-1中的数据库模式是一种星形模式,其中只有一张事实表,有几张维度表直接链接到事实表上。在星形模式中,查询中可能用到的对象只需要与事实表进行不超过一次的连接即可获得。读者可能还听过雪花状模式。在雪花状模式中,多张表可能涉及同一个维,而这个维将直接链接到事实表上。可以把雪花状模式看成是星形模式的一个扩展,它更加规范一点,但是需要连接额外的表才能把所有数据关联起来。

七、数据立方体

数据仓库用多维数据库结构建模。每个维对应于模式中一个或一组属性。

每个单元存放某种聚集度量值,如count,sales_amount。

数据仓库的实际物理结构可以使关系数据存储或多维数据立方体(multimensional data cube).

数据立方体提供数据的多维视图,并允许计算和快速访问汇总数据。

http://book.51cto.com/art/201006/206181.htm

到现在为止,读者已经看到数据从事务系统移到了数据仓库中--很有可能采用星形或雪花状模式。

在一个维度模型中,如这里所讨论的维度模型,通常以数据库为基础来构建所谓的立方体。

为了理解什么是立方体,可以把维度数据库中的数据看成是供分析使用的经过转换的原始数据。换句话说,如果读者看一看前面一节中的例子,那么就会发现事实表包含了事务信息和指向待分析的维度表的指针(外键)。

根据图24-1中的模式所生成的报表通常是一些如在一段特定的时间内在特定的地区顾客对特定产品或一类产品的购买量之类的信息。为了获取这种的结果,需要根据用来构建报表的维度来对事实表中的值进行聚合。SQL Server的分析服务允许预先计算这种结果并把它们存储在立方体中。

因此,立方体是一个存储数据聚合的结构,而数据聚合是通过把维度数据库中所有可能的维值与事实表中的通过因特网完成的销售量的事实组合而来的。采用这种方式之后生成最终报表的效率就会高出很多,因为在运行时不需要执行复杂的查询。

分析服务允许从任何拥有OLE DB提供者的数据源中构建立方体。它可以是任何拥有ODBC驱动程序的数据库管理系统中的关系数据库(如Oracle、DB2甚至是MySQL)或者是本地的OLE DB提供者(如SQL Server、Oracle或者MS Access)。立方体的数据源还可以是维度数据库、文本文件甚至可以是一个轻量级目录访问协议(LDAP)数据源。

八、概念分层

将属性或维的值组织成渐进的抽象层。如杭州-浙江-中国。

如果想要使用这个立方体找到密歇根州在2002年自行车的销售量,那么只需要查看图中用阴影显示的单元即可,取三个维度的交集即可得到这个单元。

【datamining】OLTP,OLAP,维度数据库,事实表,维度表、星形和雪花模式、数据立方体、概念分层...相关推荐

  1. mysql 事实表 维度表_数据库的事实表与维度表

    维度表示你要对数据进行分析时所用的一个量,比如你要分析产品销售情况,你可以选择按类别来进行分析,或按区域来分析,这样的按照什么分析就构成一个维度.前面的实例就可以有两个维度:类型和区域.另外每个维度还 ...

  2. 【HBZ分享】数仓里面的概念-宽表-维度表-事实表概念讲解

    数仓概念 1. 度量值: 可被统计的,比如:次数,销量,营销额,订单表中的下单金额等可以统计的值叫度量值2. 维度表:(1). 对事实描述的信息,每一张表都对应现实世界中的一个对象或概念,比如:用户, ...

  3. 数据仓库之建模 维度表 事实表 维度建模三种模式 如何维度建模缓慢变化的维度 建模体系

    数据仓库之建模 ER建模 维度表和事实表 维度建模三种模式 如何维度建模 什么是缓慢变化的维度 最常见的三种数据仓库建模体系 联机分析处理 OLAP 元数据(Metadata) 数据仓库建模包含ER建 ...

  4. 数据仓库建模方法/范式建模法/维度建模法/事实表/维度表/优缺点/建模流程/概念建模/逻辑建模/物理建模

    常见的有 范式建模法.维度建模法.实体建模法等,每种方法从本质上将是从不同的角度看待业务中的问题,不管是从技术层面还是从业务层面,都代表了哲学上的一种世界观. 1 范式建模法(Third Normal ...

  5. 理解维度数据仓库——事实表、维度表、聚合表

    一.事实表 在多维数据仓库中,保存度量值的详细值或事实的表称为"事实表".一个按照州.产品和月份划分的销售量和销售额存储的事实表有5个列,概念上与下面的示例类似. 在这些事实表的示 ...

  6. 数据仓库维度建模——事实表设计

    一. 事实表相关概念 1. 粒度 1.1 什么是粒度 事实表中一条记录说表达的业务细节程度被称为粒度. 1.2 两种常用表现形式 (1)使用维度属性组合来表示的细节程度. (2)表示的具体的业务含义. ...

  7. mysql 事实表 维度表_数据仓库展示模型 - 维度表与事实表的理解

    一.事实表 特点: 1. 由一组表示维度的键和一组数字形式的度量值构成. 2. 维度外键通常是一些数字或字符代码,因为通常事实表会包含极大的数据量,如果直接使用维度描述的话,会对存储性能照成影响. 3 ...

  8. 宽表, 窄表, 维度表, 事实表的区别

    在数据开发里, 会涉及到一些概念: 宽表, 窄表, 维度表, 事实表 宽表: 把多个维度的字段都放在一张表存储, 增加数据冗余是为了减少关联, 便于查询. 查询一张表就可以查出不同维度的多个字段 窄表 ...

  9. 多对多维度或多值维度-桥接表

    多对多维度或多值维度 维度表和事实表之间的标准关系是一对多关系,这意味着维度表中的一行记录会连接事实表中的多行记录,但是事实表中的一行记录在维度表中只关联一行记录.这种关系很重要,因为它防止了重复计数 ...

  10. 数据库基本概念:OLTP/OLAP/HTAP、RPO/RTO、MPP

    数据库基本概念:OLTP/OLAP/HTAP.RPO/RTO.MPP OLTP OLAP HTAP 行存储 列存储 MPP RTO RPO OLTP OLTP=Online Transaction P ...

最新文章

  1. npm i和npm_让您的NPM套件包含Jest和Codecov☂️
  2. Shell:传递命令行参数
  3. Flash和滚动字幕
  4. python中数字应该用什么表示_Python
  5. 不重复打印排序数组中相加和为给定值的所有二元组和三元组
  6. C 语言与动态库相关基础知识
  7. SQL 批量插入有标识列的数据
  8. 如何在Java 8中创建线程安全的ConcurrentHashSet?
  9. Android学习笔记进阶十之Matrix错切变换
  10. Linux Cpu 利用率计算
  11. 阿里云与A站在一起后,悄悄干了件大事
  12. NUC1016 斐波那契数列【打表】
  13. php redis 事务应用,redis事务有什么用
  14. 我的一些关于商业计划书的经验 (AC)
  15. 在几何画板中如何制作圆柱的侧面展开动画_几何画板制作圆柱展开图过程详解...
  16. 多家多平台拿走的AD封装库Altium-3D封装库+超全原理图库含51+STM32库
  17. 5G网络架构及其对承载网的影响
  18. 卡贴机变无锁教程_卡贴机怎么解锁变无锁
  19. python3 工作上一些正则表达式
  20. 升级Unity2018.3.2f1出现PrecompiledAssemblyException: Multiple precompiled assemblies with the same name

热门文章

  1. 六石管理学:遇到问题先记录分析,再找人帮忙
  2. 管理新语:软件工作考评的设计思路
  3. 文字处理技术:新布局思路验证成功
  4. JAVA中RGB字串转换为颜色
  5. 编译Windows版本ffmpeg:cygwin方式通过
  6. 一天没出个版本,让别人试试哪里有问题
  7. Windows BAT中7zip压缩时排除某些目录
  8. LINUX创建桌面运行快捷方式
  9. 因果和阴阳,哪个更根本?
  10. 遇到问题就请外援,汝作为高手的价值在哪里