数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的Integrate)、相对稳定的(Non-Volatile)、反响历史变革(Time Variant)的数据凑集,用于支持管理决策。
数据仓库是在企业管理和决策中面向主题的、集成的、与韶光干系的、不可修正的数据凑集。——数据仓库之父--Bill Inmon
数据仓库基本特性

面向主题性
面向主题性表示了数据仓库中数据组织的基本原则,数据仓库中的所有数据都是环绕着某一主题组织的。
确定主题往后,须要确定主题该当包含的数据。
不同的主题之间可能会涌现相互重叠的信息。
主题在数据仓库中可以用多维数据库办法进行存储。
主题的划分中,必须担保每一个主题的独立性。
一个主题领域的表来源于多个操作型运用(如:客户主题,来源于:定单处理;应收帐目;搪塞帐目;…);
范例的主题领域:客户;产品;交易;帐目;
主题领域以一组干系的表来详细实现;
干系的表通过公共的键码联系起来(如:顾客标识号Customer ID);
每个键码都有韶光元素(从日期到日期;每月累积;单独日期…);
主题内数据可以存储在不同介质上(综合级,细节级,多粒度);
数据集成性
根据决策剖析的哀求,将分散于各处的源数据进行抽取、筛选、清理、综合等事情,终极集成到数据仓库中。
数据的时变性
数据该当随着韶光的推移而发生变革,不断地天生主题的新快照。
数据的非易失落性
数据的相对稳定性。
数据仓库中的数据只进行刷新,从不进行更新处理。
反响历史变革。
数据库与数据仓库的比拟
商务智能
大略定义:综合企业所有沉淀下来的信息,用科学的剖析方法,为企业领导供应科学决策信息的过程。
完全定义:基于数据仓库技能的决策支持系统(DSS)。它 以数据仓库(DW)技能为根本,通过抽取、转换和洗濯将分散在企业各处的数据整合在一起,转化为信息;进而以联机剖析处理(OLAP)工具、数据挖掘(DM)工具、报表工具为手段将信息提升为知识;末了利用可视化技能以快捷直不雅观的办法将探察剖析结果呈现给终极用户,为管理决策层供应量化依据的过程。
数据挖掘
数据挖掘使您得以定义包含分组和预测规则的模型,以便运用于关系数据库或多维 OLAP 数据集中的数据。之后,这些预测模型便可用于自动实行繁芜的数据剖析,以找出帮助识别新机会并选择有得胜把握的机会的趋势。
联机事务处理(OLTP)
OLTP系统是设计用来许可高并发性的,这样很多用户就能够访问同一个数据源并进行所需的处理。
OLTP系统是面向在数据库上进行事务处理的理念的。而事务则进一步蕴含着发生在表中数据上的受控的变更,这些变更包括在商务运作过程中发生的插入、更新和删除操作。常日,一个OLTP系统将会有大量的客户端运用程序通过各种各样的办法(插入、更新、删除--实际上可以是任何操作)访问数据库以查询一小块信息。
OLTP系统的实例包括数据输入程序,如银行处理、订票、联机发卖和库存管理系统。
联机剖析处理(OLAP)
联机剖析处理(或OLAP)是一种广义上的决策支持系统(DSS),或者最近越来越盛行的商业智能(BI)。BI系统的目标是剖析海量数据,然后以很多不同的办法(包括每天、每周、每季和年度报告)天生小结和总结以把精力高度集中在记分卡和仪表盘上,它们常日用于帮助那些准备好根据这些数据采纳一定的方法的特定用户来获取竞争上风。
一旦数据进入数据仓库之后就很少会发生变革。数据被保存在那里用于查询和天生报表,以便帮助决策者方案企业的未来。它不须要关心插入、更新和删除操作。因此与高度规范的事务数据库不同,在这种情形下常日会利用所谓的维度数据库 (dimensional database),它将遵照特定的构造或模式。
维度数据库可以用来构建数据立方体,数据立方体是数据的多维表示,用来方便联机业务剖析和提高查询性能。立方体中的每一维都表示业务数据中的一个不同的剖析种别。
维度数据库
在OLTP系统中进行繁芜查询存在一些固有的问题,对这些问题的办理方案是构建一个单独的数据库来更简洁地表示业务事实(fact)。这个数据库的构造不是关系型的,相反,它是维度化的。
ETL
数据抽取(Extract)、转换(Transform)、洗濯(Cleansing)、装载(Load)的过程。是构建数据仓库的主要一环,用户从数据源抽取出所需的数据,经由数据洗濯,终极按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。
元数据(Meta Data)
关于数据仓库的数据,指在数据仓库培植过程中所产生的有关数据源定义,目标定义,转换规则等干系的关键数据。同时元数据还包含关于数据含义的商业信息,所有这些信息都应该妥善保存,并很好地管理。为数据仓库的发展和利用供应方便。
关于数据的数据,用于布局、坚持、管理、和利用数据仓库,在数据仓库中尤为主要。
不同 OLAP 组件中的数据和运用程序的构造模型。元数据描述 OLTP 数据库中的表、数据仓库和数据集市中的多维数据集这类工具,还记录哪些运用程序引用不同的记录块。
数据集市(Data mart)
数据集市 -- 小型的,面向部门或事情组级数据仓库。
即”小数据仓库”。如果说数据仓库是建立在企业级的数据模型之上的话。那么数据集市便是企业级数据仓库的一个子集,他紧张面向部门级业务,并且只是面向某个特定的主题。数据集市可以在一定程度上缓解访问数据仓库的瓶颈。
ODS
Operation Data Store,操作数据存储 — ODS是能支持企业日常的全局运用的数据凑集,是不同于DB的一种新的数据环境, 是DW 扩展后得到的一个稠浊形式。四个基本特点:面向主题的(Subject -Oriented)、集成的、可变的、 当前或靠近当前的。
主题(SUBJECT)
是一个在较高层次将数据归类的标准,每一个主题对应一个宏不雅观的剖析领域,针对详细决策需求可细化为多个主题表,详细来说便是确定决策涉及的范围和所要办理的问题。
多维数据集
多维数据集是联机剖析处理 (OLAP) 中的紧张工具,是一项可对数据仓库中的数据进行快速访问的技能。多维数据集是一个数据凑集,常日从数据仓库的子集布局,并组织和汇总成一个由一组维度和度量值定义的多维构造。
维度(DIMENSION)
是人们不雅观察数据的特定角度,是考虑问题时的一类属性,属性凑集构成一个维(韶光维、地理维等)。
是多维数据集的构造性特性。它们是事实数据表中用来描述数据的分类的有组织层次构造(级别)。这些分类和级别描述了一些相似的成员凑集,用户将基于这些成员凑集进行剖析。
这词,英国著名物理学家史蒂芬·霍金教授有这样的阐明:这就像一根头发,远看是一维的线,在放大镜下,它确实是三维的;如果面对时空,如果有足够高倍的放大镜的话,也该当能揭示出其它可能存在的4维、5维空间,直至11维空间。因此,维度是指一种视角,而不是一个固定的数字;是一个判断、解释、评价和确定一个事物的多方位、多角度、多层次的条件和观点
事实表
每个数据仓库都包含一个或者多个事实数据表。事实数据表可能包含业务发卖数据,如现金登记事务
所产生的数据,事实数据表常日包含大量的行。事实数据表的紧张特点是包含数字数据(事实),并且这些数字信息可以汇总,以供应有关单位作为历史的数据,每个事实数据表包含一个由多个部分组成的索引,该索引包含作为外键的干系性纬度表的主键,而维度表包含事实记录的特性。事实数据表不应该包含描述性的信息,也不应该包含除数字度量字段及使事实与纬度表中对应项的干系索引字段之外的任何数据。
包含在事实数据表中的“度量值”有两中:一种是可以累计的度量值,另一种是非累计的度量值。最有用的度量值是可累计的度量值,其累计起来的数字是非常故意义的。用户可以通过累计度量值得到汇总信息,例如。可以汇总详细韶光段内一组商店的特定商品的发卖情形。非累计的度量值也可以用于事实数据表,单汇总结果一样平常是没故意义的,例如,在一座大厦的不同位置丈量温度时,如果将大厦中所有不同位置的温度累加是没故意义的,但是求均匀值是故意义的。
一样平常来说,一个事实数据表都要和一个或多个纬度表干系联,用户在利用事实数据表创建多维数据集时,可以利用一个或多个维度表。
从用场的不同来说,事实表可以分为三类,分别是原子事实表,聚拢事实表和合并事实表。
原子事实表(Atom Fact Table)是保存最细粒度数据的事实表,也是数据仓库中保存原子信息的场所。
聚拢事实表(Aggregated Fact Table)是原子事实表上的汇总数据,也称为汇总事实表。即新建立一个事实表,它的维度表是比原维度表要少,或者某些维度表是原维度表的子集,如用月份维度表代替日期维度表;事实数据是相应事实的汇总,即求和或求均匀值等。在做数据迁移时,当干系的维度数据和事实数据发生变革时,聚拢事实表须要做相应的刷新。归天视图是实现聚拢事实表的一种有效办法,可以设定刷新办法,详细功能由DBMS来实现。
合并事实表(Consolidated Fact Table)是指将位于不同事实表中处于相同粒度的事实进行组合建模而成的一种事实表。即新建立一个事实表,它的维度是两个或多个事实表的相同维度的凑集;事实是几个事实表中感兴趣的事实。在Kimball的总线架构中,由合并事实表为主组成的合并数据集市称为二级数据集市。合并事实表的粒度可以是原子粒度也可以是聚拢粒度。在做数据迁移时,当干系的原子事实表的数据有改变时,合并事实表的数据须要重新刷新。合并事实表和交叉探察是两个互补的操作。
聚拢事实表和合并事实表的紧张差别是合并事实表一样平常是从多个事实表合并而来。但是它们的差别不是绝对的,一个事实表既是聚拢事实表又是合并事实表是很有可能的。由于一样平常合并事实表须要按相同的维度合并,以是很可能在做合并的同时须要进行聚拢,即粒度变粗。
维度表
维度表可以看作是用户来剖析数据的窗口,纬度表中包含事实数据表中事实记录的特性,有些特性供应描述性信息,有些特性指定如何汇总事实数据表数据,以便为剖析者供应有用的信息,维度表包含帮助汇总数据的特性的层次构造。例如,包含产品信息的维度表常日包含将产品分为食品、饮料、非消费品等多少类的层次构造,这些产品中的每一类进一步多次细分,直到各产品达到最低级别。
在维度表中,每个表都包含独立于其他维度表的事实 特性,例如,客户维度表包含有关客户的数据。维度表中的列字段可以将信息分为不同层次的构造级。
结论:
1、事实表便是你要关注的内容;
2、维度表便是你不雅观察该事务的角度,是从哪个角度去不雅观察这个内容的。
例如,某地区商品的销量,是从地区这个角度不雅观察商品销量的。事实表便是销量表,维度表便是地区表。
度量值
在多维数据集中,度量值是一组值,这些值基于多维数据集的事实数据表中的一列,而且常日为数字。此外,度量值是所剖析的多维数据集的中央值。即,度量值是终极用户浏览多维数据集时重点查看的数字数据。您所选择的度量值取决于终极用户所要求的信息类型。一些常见的度量值有 sales、cost、expenditures 和 production count 等。
“度量值”是来自事实数据表的值,也称为“事实数据”。度量值维度的值有时也通称为“成员”。度量值常日是数值,但也可以是字符串值。
Measures 维度 (Measures dimension)
“度量值维度”是包含多维数据集中所有度量值的维度。度量值维度是一种分外的维度,个中的成员常日是根据各个维度属性(存在指定的度量值)确当前成员(常日采取求和或计数办法)进行聚合。
度量值组 (Measure Group)
“度量值组”是 SQL Server 2005 Analysis Services 多维数据集中的干系度量值凑集(常日是来自同一事实数据表的度量值)。在 SQL Server 2005 Analysis Services 中,一个多维数据集可包含多个度量值组。
级别
级别是维度层次构造的一个元素。级别描述了数据的层次构造,从数据的最高(汇总程度最大)级别直到最低(最详细)级别。
多维 OLAP (MOLAP):MOLAP 存储模式使得分区的聚合和其源数据的复本以多维构造存储在剖析做事器打算机上。根据分区聚合的百分比和设计,MOLAP 存储模式为达到最快查询相应韶光供应了潜在可能性。总而言之,MOLAP 更加适宜于频繁利用的多维数据集中的分区和对快速查询相应的须要。
关系 OLAP (ROLAP):ROLAP 存储模式使得分区的聚合存储在关系数据库的表(在分区数据源中指定)中。但是,可为分区数据利用 ROLAP 存储模式,而不在关系数据库中创建聚合。
稠浊 OLAP (HOLAP):HOLAP 存储模式结合了 MOLAP 和 ROLAP 二者的特性。
粒度
数据汇总的层次或深度。数据仓库的数据单位中保存数据的细化或综合程度的级别。细化程度越高,粒度越小。
聚合|聚拢:聚合是预先打算好的数据汇总,由于在问题提出之前已经准备了答案,聚合可以改进查询相应韶光。
分割
数据分散到各自的物理单元中去,它们能独立地处理。
切块:由多个维的多个成员限定的分区数据,称为一个切块。
切片:由一个维的一个成员限定的分区数据,称为一个切片。
数据钻取:终极用户从常规多维数据集、虚拟多维数据集或链接多维数据集中选择单个单元,并从该单元的源数据中检索结果集以得到更详细的信息,这个操作过程便是数据钻取。
数据挖掘模型:数据挖掘使您得以定义包含分组和预测规则的模型,以便运用于关系数据库或多维 OLAP 数据集中的数据。之后,这些预测模型便可用于自动实行繁芜的数据剖析,以找出帮助识别新机会并选择有得胜把握的机会的趋势。
数据库维度 (Database dimension)
“数据库维度”是与某个键属性干系的维度属性的凑集,而该键属性又与度量值维度中的事实数据干系。
维度属性 (Dimension attribute)
“维度属性”被绑定到维度表中的一个或多个列并包含成员。维度属性可以包含客户名称、月份名称和产品名称。
成员 (Member)
“成员”是维度属性(包括度量值维度)的值。层次构造中的成员可以是叶成员、父成员、数据成员或“(全部)”成员。
“(全部)”成员 ((All) member)
“(全部)”成员是属性层次构造或用户定义的层次构造中的所有成员的打算值。
打算成员 (Calculated member)
“打算成员”是在查询时定义和打算的维度成员。可以在用户查询或 MDX 打算脚本中定义打算成员,并将其存储在做事器上。 一个打算成员对应于定义它们的维度中的多个维度表行。
数据成员 (Data member)
“数据成员”是在父子层次构造中与父成员干系联的子成员。数据成员包含其父成员的数据值,而不是该父成员的子级的聚合值。
父成员 (Parent member)
“父成员”是父子层次构造中的成员,包含其子级的聚合值。
叶成员 (leaf member)
“叶成员”是层次构造中不包含子级的成员。
子成员 (Child member)
“子成员”是层次构造中位于顶层下面的成员。
键属性 (Key attribute)
数据库维度的“键属性”是维度中的所有非键属性(以直接或间接办法)所链接到的属性。键属性常日也是粒度属性。
粒度属性 (Granularity attribute)
多维数据集维度的属性,它将维度链接到度量值维度内度量值组中的事实数据。如果粒度属性和键属性为不同的属性,则非键属性必须直接或间接地链接到粒度属性。在多维数据集中,粒度属性定义维度的粒度。
多维数据集维度 (Cube dimension)
“多维数据集维度”是多维数据集中的数据库维度实例。
属性层次构造 (Attribute hierarchy)
“属性层次构造”是包含以下级别的属性成员层次构造:
数据仓库建模 — 星型模式
Example of Star Schema
在多维剖析的商业智能办理方案中,根据事实表和维度表的关系,又可将常见的模型分为星型模型和雪花型模型。在设计逻辑型数据的模型的时候,就应考虑数据是按照星型模型还是雪花型模型进行组织。
当所有维表都直接连接到“ 事实表”上时,全体图解就像星星一样,故将该模型称为星型模型,星型架构是一种非正规化的构造,多维数据集的每一个维度都直接与事实表相连接,不存在渐变维度,以是数据有一定的冗余,如在地域维度表中,存在国家 A 省 B 的城市 C 以及国家 A 省 B 的城市 D 两条记录,那么国家 A 和省 B 的信息分别存储了两次,即存在冗余。
数据仓库建模 — 雪片模式
Example of Snowflake Schema
当有一个或多个维表没有直接连接到事实表上,而是通过其他维表连接到事实表上时,其图解就像多个雪花连接在一起,故称雪花模型。雪花模型是对星型模型的扩展。它对星型模型的维表进一步层次化,原有的各维表可能被扩展为小的事实表,形成一些局部的 \"大众 层次 \"大众 区域,这些被分解的表都连接到主维度表而不是事实表。将地域维表又分解为国家,省份,城市等维表。它的优点是 : 通过最大限度地减少数据存储量以及联合较小的维表来改进查询性能。雪花型构造去除了数据冗余。
星型模型由于数据的冗余以是很多统计查询不须要做外部的连接,因此一样平常情形下效率比雪花型模型要高。星型构造不用考虑很多正规化的成分,设计与实现 都比较大略。 雪花型模型由于去除了冗余,有些统计就须要通过表的联接才能产生,以是效率不一定有星型模型高。正规化也是一种比较繁芜的过程,相应的数据库构造设计、数 据的 ETL、以及后期的掩护都要繁芜一些。因此在冗余可以接管的条件下,实际利用中星型模型利用更多,也更有效率。
欢迎关注:DEBUG分享