数据仓库概念一览

数据仓库概念一览
数据仓库概念一览

数据仓库概念一览

浅析冰山查询―― iceberg query

在数据仓库领域有一个概念叫Iceberg query,中文一般翻译为"冰山查询"。冰山查询在一个属性或属性集上计算一个聚集函数,以找出大于某个指定阈值的聚集值。

以销售数据为例,你想产生这样的一个顾客-商品对的列表,这些顾客购买商品的数量达到3件或更多。这可以用下面的冰山查询表示:

Select P.cust_ID,P.item_ID,SUM(P.qty)

From Purchase P

Group by P.cust_ID,P.item_ID Having SUM(P.qty)=3

这种在给出大量输入数据元组的情况下,使用having字句中的阈值来进行过滤的查询方法就叫做冰山查询。输出结果可以看作"冰山顶",而"冰山"是输

入数据。

这种冰山查询在数据仓库的数据概况分析阶段、数据质量检查阶段和数据

挖掘的购物篮分析中都经常使用。而且,冰山查询也是面试中出现频率非常高

的一道题,经常用来检测SQL能力。

操作集市―― oper mart

在数据仓库领域有一个概念叫Oper Mart,中文一般翻译为"操作集市"。

操作集市是为了企业战术性的分析提供支持,它的数据来源是操作数据存储(ODS)。它是ODS在分析功能上的扩展,使用户可以对操作型数据进行多维分析。

一个操作集市应该有如下特征:

1.操作集市是ODS的子集,数据来源于ODS,用于战略分析和报表。

2.操作集市中的数据和ODS中的数据同步更新。

3.操作集市以多维技术进行建模,即星型结构。

4.操作集市是一个临时的结构,当不在需要时会清掉所有数据,即不保存

历史数据。

操作集市和数据集市很相似,但是它不能用来取代用于战略性分析的数据

集市。由于操作集市的数据来源于ODS,所以它的数据比数据集市的数据要新。但是出于容量的考虑,操作集市中不保存历史数据,是一个临时的结构。

操作数据存储―― operational data store Kimball对操作数据存储的

定义是,面向主题的、集成的、经常更新的细节数据存储,用集成的数据来支

持事务系统。Kimball也认可Inmon对ODS的分类,但是他认为ODS应该以星

型结构来进行建模。

虽然Kimball对操作数据存储(ODS)的定义和Inmon基本上一样,但是他对操作数据存储的理解、作用与实现和Inmon有着较大的不同。

Kimball认为ODS在两种情况下是需要的:第一种情况是提供操作型报表,这些报表需要提供面向主题的、集成的数据,所以操作型的源系统无法提供;

这些报表和数据仓库中的报表也不相同,因为它们可以是一些定制好的,写死

在程序中的报表。第二种情况是需要提供实时的信息时,由于数据仓库的更新

频率一般都是24小时,而用户会有更急切的需求来了解数据源的信息,这时,建立操作数据存储是很有必要的。

对于ODS是保存最细粒度数据的地方的说法,Kimball认为对于最细粒度

数据,即原子数据层,应该保存在数据仓库中,而且应该置于维度框架和总线

架构中。

代理关键字-surrogate key

在数据仓库领域有一个概念叫Surrogate key,中文一般翻译为"代理关键字"。代理关键字一般是指维度表中使用顺序分配的整数值作为主键,也称为"

代理键"。代理关键字用于维度表和事实表的连接。

代理关键字的称呼有surrogate keys,meaningless keys,integer keys,nonnatural keys,artificial keys,synthetic keys等。与之相对的自然关

键字的称呼有natural keys,samat keys等。

在Kimball的维度建模领域里,是强烈推荐使用代理关键字的。在维度表

和事实表的每一个联接中都应该使用代理关键字,而不应该使用自然关键字或

者智能关键字(Smart Keys)。数据仓库中的主键不应该是智能的,也就是说,

要避免通过主键的值就可以了解一些业务信息。当然,退化维度作为事实表的

复合主键之一时例外。

使用代理关键字,有很多优点。

1.使用代理关键字能够使数据仓库环境对操作型环境的变化进行缓冲。也

就是说,当数据仓库需要对来在多个操作型系统的数据进行整合时,这些系统

中的数据有可能缺乏一致的关键字编码,即有可能出现重复,这时代理关键字

可以解决这个问题。

2.使用代理关键字可以带来性能上的优势。和自然关键字相比,代理关键

字很小,是整型的,可以减小事实表中记录的长度。这样,同样的IO就可以读取更多的事实表记录。另外,整型字段作为外键联接的效率也很高。

3.使用代理关键字可以建立一些不存在的维度记录,例如"不在促销之列","日期待定","日期不可用"等维度记录。

4.使用代理关键字可以用来处理缓慢变化维。维度表数据的历史变化信息

的保存是数据仓库设计的实施中非常重要的一部分。Kimball的缓慢变化维处

理策略的核心就是使用代理关键字。

当然,使用代理关键字也有它的缺点,代理关键字的使用使数据加载变得

非常复杂。有关使用代理关键字的维度表和事实表的加载方法在ETL Toolkit

中有详细的描述。使用代理关键字是一个从长远考虑的策略。

多值维度―― multivalue dimension

在维度建模的数据仓库中,有一种维度表叫multivalue dimension,中文

一般翻译为"多值维度"。

多值维度有两种情况,第一种情况是指维度表中的某个属性字段同时有多

个值。举例来说,一个帐户维度表中,帐户持有人姓名,可能会有多个顾客。

这样,一个帐户对应多个顾客姓名,一个顾客也可以有多个帐户,它们之间是

多对多的关系。正因为一个帐户可能会有多个对应的顾客,所以不能直接将顾

客ID放入帐户维度表中。而帐户维度表中的这种情况就叫做多值维度。

多值维度的第二种情况是事实表在某个维度表中有多条对应记录。举例来说,对于一个健康护理单分列项事实表来说,它的粒度是一个健康护理单,但

是该护理单却有可能有多次诊断,即该事实表与诊断维度的是一对多的关系。

这个与事实表粒度不匹配的诊断维度也称之为多值维度。

处理多值维度最好的办法是降低事实表的粒度。如第二种情况中,将健康

护理单分列项事实表的粒度降低到具体的诊断粒度上,这样就避免了多值维度

的出现。这种处理方式也是维度建模的一个原则,即事实表应该建立在最细粒

度上。这样的处理,需要对事实表的事实进行分摊。

但是有些时候,事实表的粒度是不能降低的,多值维度的出现是无法避免的。如第一种情况中,事实表是月帐户快照事实表,这张事实表与顾客维度没

有直接的关系,不能将数据粒度进行细分,即使细分的话帐户余额也很难分摊。这时,可以采用桥接表技术进行处理。在帐户维度表和顾客维度表之间建立个

帐户-顾客桥接表。这个桥接表可以解决掉帐户维度和顾客维度之间的多对多关系,也解决掉的帐户维度表的多值维度问题。

总之,多值维度是应该尽量避免的,它给数据处理带来了很大的麻烦。如

果多值维度不能避免的话,应该建立桥接表来进行处理。

非事实型事实表―― factless fact table

在维度建模的数据仓库中,有一种事实表叫Factless Fact Table,中文

一般翻译为"非事实型事实表"。在事实表中,通常会保存十个左右的维度外键

和多个度量事实,度量事实是事实表的关键所在。在非事实型事实表中没有这

些度量事实,只有多个维度外键。非事实型事实表通常用来跟踪一些事件或者

说明某些活动的范围。下面举例来进行说明。

第一类非事实型事实表是用来跟踪事件的事实表。例如:学生注册事件,

学校需要对学生按学期进行跟踪。维度表包括学期维度、课程维度、系维度、

学生维度、注册专业维度和取得学分维度,而事实表是由这些维度的主键组成,事实只有注册数,并且恒为1。这样的事实表可以回答大量关于大学开课注册

方面的问题,主要是回答各种情况下的注册数。

第二类非事实型事实表是用来说明某些活动范围的事实表。例如:促销范

围事实表。通常销售事实表可以回答如促销商品的销售情况,但是对于那些没

有销售出去的促销商品没法回答。这时,通过建立促销范围事实表,将商场需

要促销的商品单独建立事实表保存。然后,通过这个促销范围事实表和销售事

实表即可得出哪些促销商品没有销售出去。这样的促销范围事实表只是用来说

明促销活动的范围,其中没有任何事实度量。

合并事实表-consolidated/merged fact table

在数据仓库领域有一个概念叫merged fact table,或者consolidated

fact table,中文一般都翻译为"合并事实表"。合并事实表是将不同事实表的

事实合并到同一张事实表的建模方法,合并的事实要保证在相同的粒度。

这种建模方法通常被用来横跨多个业务主题域来建立数据集市,Kimball

将这样的数据集市称为第二级的数据集市。使用合并事实表技术,可以避免性

能较差的交叉探察操作。

但是,这种合并事实表和使用交叉探察操作还有着细微的不同,在一些基

础表中没有记录的时候,合并事实表中可能会存储一条记录,字段值保存为零。

合并事实表可以给数据仓库带来很大的性能提升,提供的跨主题的事实数

据也给用户带来了很大的方便。但是,合并事实表给ETL工作带来了较大的麻烦。对于合并事实表中涉及到的维度,需要在数据准备区保证它们是一致性维度。

缓慢变化维―― slowly changing dimension

维度建模的数据仓库中,有一个概念叫Slowly Changing Dimensions,中

文一般翻译成"缓慢变化维",经常被简写为SCD。缓慢变化维的提出是因为在

现实世界中,维度的属性并不是静态的,它会随着时间的流失发生缓慢的变化。这种随时间发生变化的维度我们一般称之为缓慢变化维,并且把处理维度表的

历史变化信息的问题称为处理缓慢变化维的问题,有时也简称为处理SCD的问题。

处理缓慢变化维的方法通常分为三种方式。

第一种方式是直接覆盖原值。这样处理,最容易实现,但是没有保留历史

数据,无法分析历史变化信息。第一种方式通常简称为"TYPE 1"。

第二种方式是添加维度行。这样处理,需要代理键的支持。实现方式是当

有维度属性发生变化时,生成一条新的维度记录,主键是新分配的代理键,通

过自然键可以和原维度记录保持关联。第二种方式通常简称为"TYPE 2"。

第三种方式是添加属性列。这种处理的实现方式是对于需要分析历史信息

的属性添加一列,来记录该属性变化前的值,而本属性字段使用TYPE 1来直接覆盖。这种方式的优点是可以同时分析当前及前一次变化的属性值,缺点是只

保留了最后一次变化信息。第三种方式通常简称为"TYPE 3"。

在实际建模中,我们可以联合使用三种方式,也可以对一个维度表中的不

同属性使用不同的方式,这些,都需要根据实际情况来决定,但目的都是一样的,就是能够支持方便的分析历史变化情况。

即席查询―― ad hoc queries

在数据仓库领域有一个概念叫Ad hoc queries,中文一般翻译为"即席查询"。即席查询是指那些用户在使用系统时,根据自己当时的需求定义的查询。

即席查询生成的方式很多,最常见的就是使用即席查询工具。一般的数据

展现工具都会提供即席查询的功能。通常的方式是,将数据仓库中的维度表和

事实表映射到语义层,用户可以通过语义层选择表,建立表间的关联,最终生

成SQL语句。

即席查询与通常查询从SQL语句上来说,并没有本质的差别。它们之间的

差别在于,通常的查询在系统设计和实施时是已知的,所有我们可以在系统实

施时通过建立索引、分区等技术来优化这些查询,使这些查询的效率很高。而

即席查询是用户在使用时临时生产的,系统无法预先优化这些查询,所以即席

查询也是评估数据仓库的一个重要指标。

即席查询的位置通常是在关系型的数据仓库中,即在EDW或者ROLAP中。

多维数据库有自己的存储方式,对即席查询和通常查询没有区别。

在一个数据仓库系统中,即席查询使用的越多,对数据仓库的要求就越高,对数据模型的对称性的要求也越高。对称性的数据模型对所有的查询都是相同的,这也是维度建模的一个优点。

交叉探察―― drill across

在维度建模的数据仓库中,有一种操作叫Drill Across,中文一般翻译为"交叉探查"。鉴于经验的局限,在这里我只能进行一下浅显的分析。

在基于总线架构(Bus Architecture)的维度建模中,大部分的维度表是由

事实表共有的。比如"营销事务事实表"和"库存快照事实表"就会有相同的维度表,"日期维度"、"产品维度"和"商场维度"。这时,如果有个需求是想按共有

维度来对比查看销售和库存的事实,这时就需要发出两个SQL,分别查出按维

度统计出的销售数据和库存数据。然后再基于共有的维度进行外连接,将数据

合并。这种发出多路SQL再进行合并的操作就是交叉探查。

当这种交叉探查的需求很常用时,有一种建模方法可以避免交叉探查,就

是合并事实表(Consolidated Fact Table)。合并事实表是指将位于不同事实表中处于相同粒度的事实进行组合的一种建模方法。即新建立一个事实表,它的

维度是两个或多个事实表的相同维度的集合,事实是几个事实表中感兴趣的事实。这个事实表的数据和其他事实表的数据一样来自Staging Area。

合并事实表在性能和易用性上都比交叉探查要好,但是被组合的事实表必

须处于相同的粒度和维度层次上。

角色模仿维度-role-playing dimensions

在数据仓库领域有一个概念叫Role-playing dimensions,中文一般翻译为"角色模仿维度"。角色模仿维度是为了处理一个维度在一个事实表中同时出现多次而使用的一种技术处理手段。

在建立了角色模仿维度以后,在底层只有一个物理表存在,但是针对这个物理表会建立多个角色提供给数据访问工具,而且对数据访问工具来说这多个角色是不同的。例如对与累计快照事实表中会出现多个日期字段联接到日期维度。这时就可以针对日期维度建立多个角色模仿维度。

角色模仿维度的建立方法通常是使用视图来完成。例如订单日期维度表如下所示:

CREATE VIEW

order_date(order_date_key,order_day_of_week,order_month,…)

AS SELECT data_key,day_of_week,month,…FROM DATA

使用同样的方式还可以建立多个不同日期的角色模仿维度。

需要补充的一点是,目前市场上的大部分展现工具,都提供了对一个表选择多次的功能。也就是说,角色模仿维度的功能展现工具自己就可以实现。这样,就不需要我们在数据库中建立角色模仿维度的视图了,而直接使用展现工具完成即可。

聚集事实表-aggregated fact table

累计快照事实表-accumulating snapshot fact table

桥接表-bridge table

切片事实表-sliced fact table

在数据仓库领域有一个概念叫sliced fact table,中文一般翻译为"切片事实表"。切片事实表中的字段结构和相应的基础表完全相同,差别在于存储的记录的范围。切片事实表中保存记录的是相应基础表中记录的子集,记录数通常与某个维度记录数相同。

这种建模方法一般用来满足特殊需要,如需要分析某些特殊问题时,可以

将与之相关的数据切片出来。相反,这种方法也常用于合并存储在不同地区的

数据,即各个地区都保存自己地区的数据,总部和所有地区的表结构都相同,

然后总部将所有地区的数据合并在一起。

切片事实表的结构与相对应的基础表相同,数据来源于相对应的基础表。

切片事实表由于缩小了表中数据的记录数,所以查询的效率得到了很大的提高。

事实表(一)(二)―― fact table

在维度建模的数据仓库中,事实表是指其中保存了大量业务度量数据的表。事实表中的度量值一般称为事实。在事实表中最有用的事实就是数字类型的事

实和可加类型的事实。事实表的粒度决定了数据仓库中数据的详细程度。

一般来说,以粒度作为化分依据,主要有三种事实表,分别是事务粒度事

实表(Transaction Grain Fact Table),周期快照粒度事实表(Periodic Snapshot Grain Fact Table)和累积快照粒度事实表(Accumulating Snapshot Grain Fact Table)。

事务粒度事实表中的一条记录代表了业务系统中的一个事件。事务出现以后,就会在事实中出现一条记录。事务粒度事实表也称为原子粒度。典型的例

子是销售单分列项事实表。

周期快照粒度事实表用来记录有规律的,可预见时间间隔的业务累计数据。通常的时间间隔可以是每天、每周或者每月。典型的例子是库存日快照事实表。

累积快照事实表一般用来涵盖一个事务的生命周期内的不确定的时间跨度。典型的例子是KDT#2中描述的具有多个日期字段的发货事实表。

通常来说,事务和快照是建模中的两个非常重要的特点,将两者相结合可

以使模型建立的更完整。

从用途的不同来说,事实表可以分为三类,分别是原子事实表,聚集事实

表和合并事实表。

原子事实表(Atom Fact Table)是保存最细粒度数据的事实表,也是数据仓库中保存原子信息的场所。

聚集事实表(Aggregated Fact Table)是原子事实表上的汇总数据,也称为汇总事实表。即新建立一个事实表,它的维度表是比原维度表要少,或者某些维度表是原维度表的子集,如用月份维度表代替日期维度表;事实数据是相应事实的汇总,即求和或求平均值等。在做数据迁移时,当相关的维度数据和事实数据发生变化时,聚集事实表需要做相应的刷新。物化视图是实现聚集事实表的一种有效方式,可以设定刷新方式,具体功能由DBMS来实现。

合并事实表(Consolidated Fact Table)是指将位于不同事实表中处于相同粒度的事实进行组合建模而成的一种事实表。即新建立一个事实表,它的维度是两个或多个事实表的相同维度的集合;事实是几个事实表中感兴趣的事实。在Kimball的总线架构中,由合并事实表为主组成的合并数据集市称为二级数据集市。合并事实表的粒度可以是原子粒度也可以是聚集粒度。在做数据迁移时,当相关的原子事实表的数据有改变时,合并事实表的数据需要重新刷新。合并事实表和交叉探察是两个互补的操作。

聚集事实表和合并事实表的主要差别是合并事实表一般是从多个事实表合并而来。但是它们的差别不是绝对的,一个事实表既是聚集事实表又是合并事实表是很有可能的。因为一般合并事实表需要按相同的维度合并,所以很可能在做合并的同时需要进行聚集,即粒度变粗。

事实维度-fact dimension

事务事实表-transaction fact table

审计维度-audit dimension

数据世系―― data lineage

数据仓库中有一个概念叫做Data Lineage,中文一般翻译为"数据世系"。数据世系描述的是从源系统抽取数据开始,经过数据转换到最终的数据加载的整个过程中各种信息。

数据世系信息需要留下详细的文档记载。数据世系包括源系统的数据库中数据定义以及该数据在数据仓库中的最终位置等信息。

数据世系是数据仓库的元数据中最重要的一部分。这部分元数据的产生位置是在ETL的处理过程中。

如果在ETL的处理过程中使用的ETL工具的话,ETL工具可以记录下元数据的一部分,但是这部分一般都是数据的属性描述,而不是完全的数据世系。换一句说,完全依靠ETL工具来维护元数据是不够的。

双桶连接-double-barreled joins

退化维度―― degenerate dimension

在维度建模的数据仓库中,有一种维度叫Degenerate Dimension,中文一般翻译为"退化维度"。这种退化维度一般都是事务的编号,如订单编号、发票编号等。这类编号需要保存到事实表中,但是不需要对应的维度表,所以称为退化维度。

退化维度是维度建模领域中的一个非常重要的概念,它对理解维度建模有着非常重要的作用,尤其是对维度建模的入门者。

退化维度经常会和其他一些维度一起组合成事实表的主键。在Kimball提出的维度建模中,事实表应该保存最细粒度的数据。所以对于象销售单这样的事实表来说,需要销售单编号和产品来共同作为主键,而不能用销售日期、商场、产品等用来分析的维度共同作为主键。

退化维度在分析中可以用来做分组使用。它可以将同一个事务中销售的产品集中在一起。

微型维度―― minidimension

维度建模的数据仓库中,有一种维度叫minidimension,中文一般翻译成"微型维度"。微型维度的提出主要是为了解决快变超大维度(rapidly changing monster dimension)。

以客户维度举例来说,如果维度表中有数百万行记录或者还要多,而且这

些记录中的字段又经常变化,这样的维度表一般称之为快变超大维度。对于快

变超大维度,设计人员一般不会使用TYPE 2的缓慢变化维处理方法,因为大家都不愿意向本来就有几百万行的维度表中添加更多的行。

这时,有一项技术可以解决这个问题。解决的方法是,将分析频率比较高

或者变化频率比较大的字段提取出来,建立一个单独的维度表。这个单独的维

度表就是微型维度表。

微型维度表有自己的关键字,这个关键字和原客户维度表的关键字一起进

入事实表。有时为了分析的方便,可以把微型维度的关键字的最新值作为外关

键字进入客户维度表。这时一定要注意,这个外关键字必须做TYPE 1型处理。

在微型维度表中如果有像收入这样分布范围较广的属性时,应该将它分段

处理。比如,存储¥31257.98这样过于分散的数值就不如存储¥30000-

¥34999这样的范围。这样可以极大的减少微型维度中的记录数目,也给分析

带来方便。

蜈蚣事实表―― centipede fact table

在数据仓库领域有一个概念叫Centipede fact table,中文一般翻译为"

蜈蚣事实表"。蜈蚣事实表是指那些一张事实表中有太多维度的事实表。连接在事实表两边的维度表过多,看起来就像蜈蚣一样,所以称为"蜈蚣事实表"。

通常来说,蜈蚣事实表的出现是由于建模师对事实表和维度表逆规范化过

了头。例如,不单将产品主键放入事实表中,对于产品层级结构中的每一层的

主键都放入事实表中,这样事实表中与产品相关的就会有产品ID、商标ID、子类ID、类别ID等多个外键。同样,也有建模师将日期相关的日期ID、月ID、

年ID都放入事实表中。这些都将产生蜈蚣事实表,使自己落入维度过多的陷阱。

蜈蚣事实表虽然使查询效率有所提高,但是伴之而来的是存储空间的大量

增长。在维度建模的数据仓库中,维度表的字段个数可以尽可能的增加,但是

事实表的字段要尽量减少,因为相比而言,事实表的记录数要远远大于维度表

的记录数。

一般来说,事实表相关的维度在15个以下为正常,如果维度个数超过25个,就出现了维度过多的蜈蚣事实表。这时,需要做的事情是自己核查,将相关的维度进行合并,减少维度的个数。

稀疏事实表-sparse facts

旋转事实表-pivoted fact table

在数据仓库领域有一个概念叫pivoted fact table,中文一般翻译为"旋

转事实表"。旋转事实表是将一条记录中的多个事实字段转化为多条记录,其中每条记录保存一个事实字段的一种建模方法。或者反过来,也可以由多条记录转化为一条记录。

旋转事实表建模方法的使用通常是为了简化前端数据展现的查询。它通过改变后端的事实记录存储方式,使相应的查询需求的性能得到的极大的提高。如果在SQL或者查询工具中进行这种转换会非常麻烦,效率也很差。

和合并事实表类似,有时当基础表中没有记录时,旋转事实表也要存储一些零值在里面。

一致性事实―― comformed fact

维度建模的数据仓库中,有一个概念叫Conformed Fact,中文一般翻译为"一致性事实"。一致性事实是Kimball的多维体系结构(MD)中的三个关键性概念之一,另两个是总线架构(Bus Architecture)和一致性维度(Conformed Dimension)。

在建立多个数据集市时,完成一致性维度的工作就已经完成了一致性的80%-90%的工作量。余下的工作就是建立一致性事实。

一致性事实和一致性维度有些不同,一致性维度是由专人维护在后台(Back Room),发生修改时同步复制到每个数据集市,而事实表一般不会在多个数据集市间复制。需要查询多个数据集市中的事实时,一般通过交叉探查(drill across)来实现。

为了能在多个数据集市间进行交叉探查,一致性事实主要需要保证两点。

第一个是KPI的定义及计算方法要一致,第二个是事实的单位要一致性。如果

业务要求或事实上就不能保持一致的话,建议不同单位的事实分开建立字段保存。

这样,一致性维度将多个数据集市结合在一起,一致性事实保证不同数据

集市间的事实数据可以交叉探查,一个分布式的数据仓库就建成了。

一致性维度―― comformed dimension

维度建模的数据仓库中,有一个概念叫Conformed Dimension,中文一般

翻译为"一致性维度"。一致性维度是Kimball的多维体系结构(MD)中的三个关

键性概念之一,另两个是总线架构(Bus Architecture)和一致性事实(Conformed Fact)。

在多维体系结构中,没有物理上的数据仓库,由物理上的数据集市组合成

逻辑上的数据仓库。而且数据集市的建立是可以逐步完成的,最终组合在一起,成为一个数据仓库。如果分步建立数据集市的过程出现了问题,数据集市就会

变成孤立的集市,不能组合成数据仓库,而一致性维度的提出正式为了解决这

个问题。

一致性维度的范围是总线架构中的维度,即可能会在多个数据集市中都存

在的维度,这个范围的选取需要架构师来决定。一致性维度的内容和普通维度

并没有本质上区别,都是经过数据清洗和整合后的结果。

一致性维度建立的地点是多维体系结构的后台(Back Room),即数据准备区。在多维体系结构的数据仓库项目组内需要有专门的维度设计师,他的职责就是

建立维度和维护维度的一致性。在后台建立好的维度同步复制到各个数据集市。这样所有数据集市的这部分维度都是完全相同的。建立新的数据集市时,需要

在后台进行一致性维度处理,根据情况来决定是否新增和修改一致性维度,然

后同步复制到各个数据集市。这是不同数据集市维度保持一致的要点。

在同一个集市内,一致性维度的意思是两个维度如果有关系,要么就是完

全一样的,要么就是一个维度在数学意义上是另一个维度的子集。例如,如果

建立月维度话,月维度的各种描述必须与日期维度中的完全一致,最常用的做法就是在日期维度上建立视图生成月维度。这样月维度就可以是日期维度的子集,在后续钻取等操作时可以保持一致。如果维度表中的数据量较大,出于效率的考虑,应该建立物化视图或者实际的物理表。

这样,维度保持一致后,事实就可以保存在各个数据集市中。虽然在物理上是独立的,但在逻辑上由一致性维度使所有的数据集市是联系在一起,随时可以进行交叉探察等操作,也就组成了数据仓库。

因果维度-casual dimension

预连接聚集表―― pre-joined aggregate table

在数据仓库领域有一个概念叫pre-joined aggregagte table,中文一般翻译为"预连接聚集表"。预连接聚集表是通过对事实表和维度表的联合查询而生成的一类汇总表。在预连接聚集表中,保存有维度表中的描述信息和事实表的事实值。

通过预连接,可以避免在用户查询时RDBMS的连接操作,所以预连接聚集表的查询效率要高很多。

典型的预连接聚集表如下例所示的销售事实表,

产品名称

商标名称

年份

月份

销售人员名称

销售量

销售金额

在这个销售事实表,前五个字段都来自于维度表的描述字段,后两个字段来自于事实表的事实字段。这样在用户提交查询后,RDBMS就不需要连接维度表和事实表了,只需直接在该表中查询即可。

预连接聚集表有一个很大的缺点,它需要占用大量的存储空间。预连接事实表的记录和事实表一样多,每条记录的长度和维度表一样长,所以对存储空间的需求是非常大的。除非情况特殊,或者该表是高度汇总的,否则不建议建立预连接聚集表。在建立预连接聚集表时需要平衡效率和存储空间的矛盾。

预连接聚集表的生成方式较为简单,直接使用SQL查询即可生成。

如果聚集导航器的功能很强大的话,也可以处理预连接聚集表。否则,需要用户理解预连接聚集表,并在SQL中直接使用该表。

预连接聚集表在数据仓库领域有着很重要的作用,是汇总表的一种。它的优点和缺点都很明显,在使用时需要综合考虑。

原子事实表-atom fact table

杂项维度―― junk dimension

在维度建模的数据仓库中,有一种维度叫Junk Dimension,中文一般翻译为"杂项维度"。杂项维度是由操作系统中的指示符或者标志字段组合而成,一般不在一致性维度之列。

在操作系统中,我们定义好各种维度后,通常还会剩下一些在小范围内取离散值的指示符或者标志字段。例如:支付类型字段,包括现金和信用卡两种类型,在源系统中它们可能是维护在类型表中,也可能直接保存在交易表中。

一张事实表中可能会存在好几个类似的字段,如果作为事实存放在事实表中,会导致事实表占用空间过大;如果单独建立维度表,外键关联到事实表,会出现维度过多的情况;如果将这些字段删除,会有人不同意。

这时,我们通常的解决方案就是建立杂项维度,将这些字段建立到一个维度表中,在事实表中只需保存一个外键。几个字段的不同取值组成一条记录,

生成代理键,存入维度表,并将该代理键保存入相应的事实表字段。建议不要直接使用所有的组合生成完整的杂项维度表,在抽取时遇到新的组合时生成相应记录即可。杂项维度的ETL过程比一般的维度略为复杂。

总线架构―― bus architecture

维度建模的数据仓库中,有一个概念叫Bus Architecture,中文一般翻译为"总线架构"。总线架构是Kimball的多维体系结构(MD)中的三个关键性概念之一,另两个是一致性维度(Conformed Dimension)和一致性事实(Conformed Fact)。

在多维体系结构(MD)的数据仓库架构中,主导思想是分步建立数据仓库,由数据集市组合成企业的数据仓库。但是,在建立第一个数据集市前,架构师首先要做的就是设计出在整个企业内具有统一解释的标准化的维度和事实,即一致性维度和一致性事实。而开发团队必须严格的按照这个体系结构来进行数据集市的迭代开发。

一致性维度就好比企业范围内的一组总线,不同数据集市的事实的就好比插在这组总线上的元件。这也是称之为总线架构的原因。

实际设计过程中,我们通常把总线架构列表成矩阵的形式,其中列为一致性维度,行为不同的业务处理过程,即事实,在交叉点上打上标记表示该业务处理过程与该维度相关。这个矩阵也称为总线矩阵(Bus Matrix)。

总线架构和一致性维度、一致性事实共同组成了Kimball的多维体系结构的基础,也建立了一套可以逐步建立数据仓库的方法论。由于总线架构是多维体系结构的核心,所以我们有时就把多维体系结构直接称为总线架构。

支架维度-outrigger dimension

周期快照事实表-periodic snapshot fact table

特别声明:

1:资料来源于互联网,版权归属原作者

2:资料内容属于网络意见,与本账号立场无关3:如有侵权,请告知,立即删除。

数据仓库的数据质量

(一)数据质量的衡量标准、好处和问题 数据质量的好坏是决定一个数据仓库成功的关键,但是需要从那些方面衡量数据仓库中数据的质量呢?可以从下列方面衡量系统中的数据质量: 准确性:存储在系统中的关于一个数据元素的值是这个数据元素的正确值; 域完整性:一个属性的数值在合理且预定义的范围之内; 数据类型:一个数据属性的值通常是根据这个属性所定义的数据类型来存储的; 一致性:一个数据字段的形式和内容在多个源系统之间是相同的。 冗余性:相同的数据在一个系统中不能存储在超过一个地方; 完整性:系统中的属性不应该有缺失的值; 重复性:完全解决一个系统中记录的重复性的问题; 结构明确:在数据项的结构可以分成不同部分的任何地方,这个数据项都必须包含定义好的结构; 数据异常:一个字段必须根据预先定义的目的来使用; 清晰:一个数据元素必须有正确的定义,也就是需要一个正确的命名; 时效性:用户决定了数据的时效性; 有用性:数据仓库中的每一个数据元素必须满足用户的一些需求; 符合数据完整性的规则:源系统中的关系数据库中存储的数据必须符合实体完整性及参考完整性规则。 既然数据质量是成功的关键,那么,提高数据质量有那些好处: 对实时信息的分析:高质量的数据提供及时的信息,是为用户创造的一个重要益处;

更好的客户服务:完整而准确的信息能够大大提高客户服务的质量; 更多的机会:数据仓库中的高质量数据是一个巨大的市场机会,它给产品和部门之间的交叉销售打开了机会的大门; 减少成本和风险:如果数据质量不好,明显的风险就是战略决策可能会导致灾难性的后果。 提高生产率:用户可以从真个企业的角度来看待数据仓库的信息,而全面的信息促使流程和真个操作更顺畅, 从而提高生长率; 可靠的战略决策制定:如果数据仓库的数据是可靠而高质量的,那么基于这些信息进行的决策就是好的决策。 在数据处理过程中,会有那些数据质量问题: 字段中的虚假值 数据值缺失 对字段的非正规使用 晦涩的值 互相冲突的值 违反商业规则 主键重用 标志不唯一 不一致的值 不正确的值 一个字段多种用途

数据仓库数据库设计的心得总结

数据仓库数据库设计的心得总结 数据仓库是企业商业智能分析环境的核心,它是建立决策支持系统的基础。一个良好的数据仓库设计应该是构建商业智能和数据挖掘系统不懈的追求。下面把数据仓库数据库设计的心得做一小结。 一透彻理解数据仓库设计过程 商业智能和数据挖掘归根到底是“从实践中来,到实践中去”。也就是说现实需求决定系统需求,业务数据决定系统构架,最终使用的时候又必须作用于现实需求,同时通过决策的行为影响业务。那么可以把数据仓库的设计看做是前一部分,即“从实践中来”,数据仓库的应用可以看做是“到实践中去”。把“从实践中来”这个过程进行抽象,数据仓库的设计就是“客观世界→主观世界→关系世界”的过程。 在前面几节完成了6个任务:选择被建模主题的商业过程、确定事实表的粒度、区分每一个事实表的维和层、区分事实表的度量、确定每一个维表的属性、在D BMS中创建和管理数据仓库。实际上这些任务都可以归结到从客观世界到关系世界的过程。那么把这个过程再进行归纳,可以得到如图3-61所示的综合了模型、方法和过程的示意图。 图3-61 数据仓库设计过程的模型和方法示意图 二把握设计的关键环节

如果将时间、精力、金钱和人事优先花在前面的20%,那么这20%会创造出80% 的价值。这就是有名的2/8原则。下面将介绍在数据仓库设计中,哪些因素是属于这20%的范围。 1.需求 需求分析在任何如见项目中都是最为重要的因素之一。企业模型是从企业的各个视点对企业数据需求及数据间关系的抽象。通过将企业模型映射到数据库系统,可以很快地了解现有数据库系统完成了企业模型中的哪些部分,还缺少哪些部分。然后再将企业模型映射到数据仓库系统,发现企业需要的(或可以构造的)主题。通过这样的过程完成对企业数据需求和现有数据的了解,达到明了原有系统和需要建设的主题域间共性的目的。 2.关键性能指标(KPI) 一般而言,一个决策支持系统最重要的就是要呈现决策数据。而KPI就是决策过程中要显示的数据结果的部分,如销售数量、销售金额、毛利和运费等数值部分的数据。这些KPI是通过与相关的维表进行连接而映射出来的。在分析星形模式时,往往要首先确定KPI。 3.信息对象 信息对象是指在每个分析过程中那些会影响到决策的因素。以销售分析为例,时间、产品、员工与客户就是影响决策的大因子,而每个因子又可以分离出多个分层结构,如时间可分为年、季度、月、周和日等,员工可分为年龄层、年龄、年薪层、年薪和员工所在城市等,也就是影响决策的详细因子。这些都是信息对象。从这里我们可以看出,每个大因子如时间、产品、员工与客户等就可以构成如时间维表、产品维表、员工维表与客户维表等。而时间维表又可分为年、季度和日等字段。在分析和设计这些信息对象组成的维度时,需要注意维的唯一性和公用性,千万不要在不同的主题中定义多个表示同一内容的维,如果有可能,一个维表要尽量被多个主题共享。 4.数据粒度 在数据仓库的每个主题中,都必须考虑事实数据的粒度。粒度的具体划分将直接影响到数据仓库中的数据量及查询质量。在数据仓库开始进行分析时。就需要建立合适的数据粒度模型,指导数据仓库设计和其他问题的解决。如果数据粒度定义不当,将会影响数据仓库的使用效果,使数据仓库达不到设计数据仓库的目的。 5.数据之间的联系 在数据仓库中,不同主题的数据之间的物理约束或许不再存在,但无论这些数据如何变化,要知道必须有一些“键”在逻辑上保持着不同数据之间的联系,这样

数据仓库概念的简单理解

数据仓库概念的简单理解 一个典型的企业数据仓库系统通常包含数据源、数据存储与管理、OLAP服务器以及前端工具与应用四个部分。如下图所示: 数据源: 是数据仓库系统的基础,是整个系统的数据源泉。通常包括企业内部信息和外部信息。内部信息包括存放于企业操作型数据库中(通常存放在RDBMS中)的各种业务数据和办公自动化(OA)系统包含的各类文档数据。外部信息包括各类法律法规、市场信息、竞争对手的信息以及各类外部统计数据及各类文档等;数据的存储与管理: 是整个数据仓库系统的核心。在现有各业务系统的基础上,对数据进行抽取、清理,并有效集成,按照主题进行重新组织,最终确定数据仓库的物理存储结构,同时组织存储数据仓库元数据(具体包括数据仓库的数据字典、记录系统定义、数据转换规则、数据加载频率以及业务规则等信息)。按照数据的覆盖范围,数据仓库存储可以分为企业级数据仓库和部门级数据仓库(通常称为“数据集市”,Data Mart)。数据仓库的管理包括数据的安全、归档、备份、维护、恢复等工作。这些功能与目前的DBMS基本一致。 OLAP服务器: 对分析需要的数据按照多维数据模型进行再次重组,以支持用户多角度、多层次的分析,发现数据趋势。其具体实现可以分为:ROLAP、MOLAP和HOLAP。ROLAP 基本数据和聚合数据均存放在RDBMS之中;MOLAP基本数据和聚合数据均存放于多维数据库中;而HOLAP是ROLAP与MOLAP的综合,基本数据存放于RDBMS之中,聚合数据存放于多维数据库中。 前端工具与应用: 前端工具主要包括各种数据分析工具、报表工具、查询工具、数据挖掘工具以及各种基于数据仓库或数据集市开发的应用。其中数据分析工具主要针对OLAP服务器,报表工具、数据挖掘工具既针对数据仓库,同时也针对OLAP服务器。? 集线器与车轮状结构的企业级数据仓库 ?

《数据仓库数据平台与数据中台对比》

数据仓库数据平台与数据中台对比 在大数据时代,凡是AI类项目的落地,都需要具备数据、算法、场景、计算力四个基本元素,缺一不可。处理大数据已经不能仅仅依靠计算力就能够解决问题,计算力只是核心的基础,还需要结合不同的业务场景与算法相互结合,沉淀出一个完整的智能化平台。数据中台就是以云计算为数据智能提供的基础计算力为前提,与大数据平台提供的数据资产能力与技术能力相互结合,形成数据处理的能力框架赋能业务,为企业做到数字化、智能化运营。 目前,外界与业内很多人对于数据中台的理解存在误区,一直只是在强调技术的作用,强调技术对于业务的推动作用,但在商业领域落地的层面上,更多时候技术的发展和演进都是需要跟着业务走,技术的发展和进步需要基于业务方的需求与数据场景应用化的探索来反向推动。这个也就是为什么最近知乎、脉脉都在疯传阿里在拆“大中台”?个人猜想,原因是没有真正理解中台的本质,其实阿里在最初建设数据中台的目的主要是为了提升效率和解决业务匹配度问题,最终达到降本增效,所以说“拆”是假的,在“拆”的同时一定在“合”,“拆”的一个方面是企业战略布局层面上的规划,架构升级,如果眼界不够高,格局不够大,看到的一定只是表面;另一方面不是由于组织架构庞大而做“拆”的动作,而是只有这样才能在效率和业务匹配度上,做到最大利益化的解耦。

数据中台出现的意义在于降本增效,是用来赋能企业沉淀业务能力,提升业务效率,最终完成数字化转型。前一篇数据中台建设的价值和意义,提到过企业需要根据自身的实际情况,打造属于自己企业独有的中台能力。 因为,数据中台本身绝对是不可复制的,从BCG矩阵的维度结合各家市场资源、市场环境、市场地位以及业务方向来看,几乎所有企业的战略目标都是不一样的。如果,有人说能把中台卖给你、对于中台的解读只讲技术,不讲业务,只讲产品,不讲业务,不以结合企业业务目标来解决效率和匹配度为目的的都有耍流氓嫌疑。数据中台的使命和愿景是让数据成为如水和电一般的资源,随需获取,敏捷自助,与业务更多连接,使用更低成本,通过更高效率的方式让数据极大发挥价值,推动业务创新与变革。 为了进一步统一大家的认知,更加清晰的认识数据中台出现的意义,本篇按顺序介绍如下: ? ? ? ? 数据中台演进的过程数据仓库、数据平台和数据中台的概念数据仓库、数据平台和数据中台的架构数据仓库、数据平台和数据中台的区别与联系

浅谈数据仓库中的元数据管理技术

浅谈数据仓库中的元数据管理技术 孙力君仇道霞方峻峰宋楠 山东省烟草公司信息中心 摘要:数据仓库是数据库的发展方向之一,对企业管理和决策支持起着重要的辅助作用。简要介绍了数据仓库和元数据的基本概念,重点阐述了元数据的概念、作用、CWM标准、来源,并就元数据具体应用进行了初步的研究和探讨。 关键词:数据仓库;元数据; 1. 引言 随着市场竞争的越来越激烈,烟草行业的信息化建设不断的深入发展,全行业形成了“以信息化带动烟草行业现代化建设”的基本共识,明确了“统一标准、统一平台、统一数据库、统一网络”,逐步实现系统集成、资源整合、信息共享的信息化建设总体要求,走过了“由基础性向应用性、由局部性向全局性、由分散性向集中性建设”的三个转变历程,初步形成了“数字烟草”的行业信息化建设格局,既对行业数据中心的建设提出了迫切的要求,也为行业数据中心建设奠定了坚实的基础。 随着数据库技术尤其是数据仓库技术的发展,人类能更容易获得自己需要的数据和信息,由于元数据是数据仓库中非常重要的组成部分,因此讨论和研究元数据在数据仓库中的作用和应用,具有非常重要的意义。 元数据管理是山东烟草数据中心建设的重要组成部分,元数据管理平台为用户提供高质量、准确、易于管理的数据,它贯穿数据中心构建、运行和维护的整

个生命周期。同时,在数据中心构建的整个过程中,数据源分析、ETL过程、数据库结构、数据模型、业务应用主题的组织和前端展示等环节,均需要通过相应的元数据的进行支撑。元数据管理的生命周期包括元数据获取和建立、元数据的存储、元数据浏览、元数据分析、元数据维护等部分。 通过元数据管理,形成整个系统信息数据资的准确视图,通过元数据的统一视图,缩短数据清理周期、提高数据质量以便能系统性地管理数据中心项目中来自各业务系统的海量数据,梳理业务元数据之间的关系,建立信息数据标准完善对这些数据的解释、定义,形成企业范围内一致、统一的数据定义,并可以对这些数据来源、运作情况、变迁等进行跟踪分析。完善数据中心的基础设施,通过精确把握经营数据来精确把握瞬息万变的市场竞争形式,使山东烟草在市场竞争中保持优势。 总的来说,元数据管理平台集成相关的元数据,形成企业的全局数据视图,提供企业级共享元数据的平台,是烟草业务系统的基础设施,对业务系统的发展、应用和数据质量的提升有着深远影响。 2.数据仓库概述 目前有关数据仓库的概念有多种,其中最经典的,引用最为广泛的定义是W.H.Inmon在《Building the Data Warehouse》一书中给出的,他指出:“数据仓库是面向主题的、集成的、随时间变化的、非易失的数据集合,用于支持管理层的决策过程”。[1] 之所以要引入数据仓库,是因为随着信息时代的到来,如何从大量已存在的数据中提取出自己所感兴趣的信息并进行分析和预测越来越成为企业管理者和决策者所关心的问题。为了更好的进行管理和决策,许多企业都选择了数据仓库,利用数据仓库可以对各种源数据进行抽取、清理、加工

数据仓库技术及实施

数据库与信息管理 电脑知识与技术 1引言 传统的数据库技术是以单一的数据资源,即数据库为中心,进行事务处理、批处理、决策分析等各种数据处理工作,数据处理可划分为两大类:操作型处理(OLTP)和分析型处理(统计分析)。操作型处理也叫事务处理,是指对数据库联机的日常操作,通常是对一个或一组纪录的查询和修改,主要为企业的特定应用服务的,注重响应时间,数据的安全性和完整性;分析型处理则用于管理人员的决策分析,经常要访问大量的历史数据。而传统数据库系统利于应用的日常事务处理工作,而难于实现对数据分析处理要求,更无法满足数据处理多样化的要求。因此,专门为业务的统计分析建立一个数据中心,它是一个联机的系统,专门为分析统计和决策支持应用服务的,通过它可以满足决策支持和联机分析应用所要求的一切。这个数据中心就叫做数据仓库。 2数据仓库概念及发展 2.1什么是数据仓库 数据仓库就是面向主题的、集成的、不可更新的(稳定性)、随时间不断变化(不同时间)的数据集合,用以支持经营管理中的决策制定过程。数据仓库最根本的特点是物理地存放数据,而且这些数据并不是最新的、专有的,而是来源于其它数据库的。数据仓库的建立并不是要取代数据库,它要建立在一个较全面和完善的信息应用的基础上,用于支持高层决策分析,而事务处理数据库在企业的信息环境中承担的是日常操作性的任务。 2.2相关基本概念 2.2.1元数据 元数据(metadata):是“关于数据的数据”,相当于数据库系统 中的数据字典,指明了数据仓库中信息的内容和位置,刻画了数据的抽取和转换规则,存储了与数据仓库主题有关的各种信息,而且整个数据仓库的运行都是基于元数据的,如修改跟踪数据、抽取调度数据、同步捕获历史数据等。 2.2.2OLAP(联机分析处理On-lineAnalyticalProcessing)数据仓库用于存储和管理面向决策主题的数据,OLAP对数据仓库中的数据分析,并将其转换成辅助决策信息。OLAP的一个 重要特点是多维数据分析,这与数据仓库的多维数据组织正好形 成相互结合、相互补充的关系。OLAP技术中比较典型的应用是对多维数据的切片和切块、钻取、旋转等,它便于使用者从不同角度提取有关数据,其基本思想是:企业的决策者应能灵活地操纵企业的数据,以多维的形式从多方面和多角度来观察企业的状态、了解企业的变化。对OLAP进行分类,按照存储方式的不同,可将 OLAP分成ROLAP、MOLAP和HOLAP;ROLAP没有大小限制;现 有的关系数据库的技术可以沿用;可以通过SQL实现详细数据与概要数据的储存;现有关系型数据库已经对OLAP做了很多优 化,包括并行存储、并行查询、并行数据管理、基于成本的查询优化、位图索引、SQl的OLAP扩展等大大提高了ROALP的速度;可以针对SMP或MPP的结构进行查询优化。 一般比MDD响应 速度慢;只读、不支持有关预算的读写操作;SQL无法完成部分计算,主要是无法完成多行的计算,无法完成维之间的计算。 MOLAP性能好、 响应速度快;专为OLAP所设计;支持高性能的决策支持计算;复杂的跨维计算;多用户的读写操作;行级的计算。增加系统复杂度,增加系统培训与维护费用;受操作系统平台中文件大小的限制,难以达到TB级;需要进行预计算,可能导致数据爆炸;无法支持维的动态变化;缺乏数据模型和数据访问的标准。 HOLAP综合了ROLAP和MOLAP的优点。它将常用的数据存储为MOLAP,不常用或临时的数据存储为ROLAP,这样就兼顾 了ROLAP的伸缩性和MOLAP的灵活、纯粹的特点。 收稿日期:2006-03-24 作者简介:赵方(1979-),女,浙江杭州人,浙江树人大学助教,硕士在读,主要从事教学、科研工作,以数据库应用、信息管理为主要研究方向。 数据仓库技术及实施 赵 方 (浙江树人大学,浙江杭州310015) 摘要:介绍了数据仓库的基本概念,针对数据仓库建立对创建数据仓库的过程进行了分析,对实现数据抽取、数据仓库的存储和管理等进行分析和比较。 关键词:数据仓库;联机分析处理;数据抽取;数据存储中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2006)17-0032-02 ResearchofDataWarehouseTechnology ZHAOFang (ZhejiangShurenUniversity,Hangzhou310015,China) Abstract:Inthispaper,theinternalcharacteristicsofDataWarehouseareintroduced.AnalyzedtheprocedureofintegratedDataWarehouseandbuildingthedatawarehouse,DataExtract,DataWarehouseStorageandhowtomanagetheDataWarehouse. Keywords:DataWarehouse;OLAP(On-lineAnalyticalProcessing);DataExtractTransformLoad;DataStorage 32

《××项目数据仓库数据质量报告》

版本号: 数据仓库数据质量报告 项目名称:

变更记录 变更审阅

一、引言 1.编写目的 这部分说明文档编写目的,描述本系统特点及使用数据仓库技术实现的业务目标。 2.背景 这部分是项目背景描述。 3.参考资料 这部分列出本文档引用资料的名称,并说明文档上下级关系。 4.术语定义及说明 这部分列出本文档中使用的术语定义、缩写及其全名。 二、数据质量评估工作范围 1.本次数据质量评估的目标 这部分明确本次数据质量评估的目标,这些目标可能包括: ●识别数据质量的关键问题,以使这些问题可以通过源数据系统数据弥补、数据补充系统或者是ETL流程进行清洗等手段解决 ●建立管理和控制机制,并使之能在短期和长期均发挥监控数据环境的作用 ●建立在信贷信息数据仓库中管理及维护数据的长期计划 2.本次项目确定的数据质量标准 这部分将《软件需求说明书》中制定本项目数据质量标准复制到这里,作为本次数据质量评估交付时的标准。 3.参与本次评估的人员组成 这部分详细说明参与本次数据质量评估的人员组成和职责分工。 4.数据质量评估方法 这部分说明本次项目使用的数据质量评估方法,包括记录评估结果的表格样式、数据质量评估工作的流程、数据质量评估结果的认证流程、评估结果的交付流程等。

三、数据质量评估结果 1.数据源数据质量评估结果 这部分将《初级数据质量分析报告》作为附件添加到文档后。 2.数据仓库数据清洗转换规则 这部分根据《初级数据质量分析报告》的结果记录数据仓库数据清洗转换的规则,只针对重点数据域设计作出说明。 四、数据质量监控维护方案 1.数据质量监控团队组织 这部分将尽可能地定义数据质量监控团队人员的组成、角色和分工。 2.数据仓库数据质量问题管理 这部分记录明确执行数据仓库数据质量监控和修改流程的触发条件,包括质量问题的类型及质量分类的标准等。 3.数据仓库数据质量监控管理计划 这部分是针对可以预见的数据质量问题提出监控管理的计划,包括沟通途径、会议计划、管理流程等。 4.数据仓库数据质量修正方案 这部分将可能使用的数据质量修正方案列在其中,必要时需要提供详细的数据修改流程和计算公式。通用的修正方案包括在数据源中修改、在ETL程序中修改、在数据仓库里修改和使用数据补录程序修改。

互联网大数据与传统数据仓库技术比较研究

互联网大数据与传统数据仓库技术比较研究 韩路 1.Hadoop技术简介 Hadoop是Apache软件基金会旗下的一个开源分布式计算平台,是目前全世界最主流的大数据应用平台。以分布式文件系统(HDFS)和MapReduce为核心的Hadoop,目前已整合了其他重要组件如Hive、HBase、Spark,以及统一资源调度管理组件Yarn,形成了一个完成的Hadoop产品生态圈。 1.1.HDFS HDFS是一个分布式文件系统,可设计部署在低成本硬件上。它可以通过提供高吞吐率支持大量数据的批量处理,同时支持应用程序流式访问系统数据。 1.2.MapReduce MapReduce是一种编程模型,用于大规模数据机的并行运算。MapReduce可以将一个任务分发到Hadoop平台各个节点上并以一种可靠容错的方式并行处理大量数据集,实现Hadoop的并行任务处理功能。 1.3.Hive Hive是用于对Hadoop中文件进行数据整理、特殊查询和分析储存的工具。Hive提供了一种结构化数据的机制,支持类似传统结构化数据库中SQL元的查询语言,帮助熟悉SQL的用户查询HDFS中数据。 1.4.HBase HBase是一个分布式的、列式储存的开源数据库。HBase不同于传统关系型数据库,适合非结构化数据储存,同时可以为一个数据行定义不同的列。HBase 主要用于需要随机访问、实时读写的大数据。 1.5.Spark Spark是基于内存计算的分布式计算框架。Spark提出了RDD概念,弥补了MapReduce在并行计算各个阶段无法进行有效数据共享的缺陷。同时,Spark形成了自己的生态系统:SparkSQL、SparkStreaming、MLlib,并完全兼容Hadoop 生态系统。

数据仓库与数据挖掘学习心得

数据仓库与数据挖掘学习心得 通过数据仓库与数据挖掘的这门课的学习,掌握了数据仓库与数据挖掘的一些基础知识和基本概念,了解了数据仓库与数据库的区别。下面谈谈我对数据仓库与数据挖掘学习心得以及阅读相关方面的论文的学习体会。 《浅谈数据仓库与数据挖掘》这篇论文主要是介绍数据仓库与数据挖掘的的一些基本概念。数据仓库是支持管理决策过程的、面向主题的、集成的、稳定的、不同时间的数据集合。主题是数据数据归类的标准,每个主题对应一个客观分析的领域,他可为辅助决策集成多个部门不同系统的大量数据。数据仓库包含了大量的历史数据,经集成后进入数据仓库的数据极少更新的。数据仓库内的数据时间一般为5年至10年,主要用于进行时间趋势分析。数据仓库的数据量很大。 数据仓库的特点如下: 1、数据仓库是面向主题的; 2、数据仓库是集成的,数据仓库的数据有来自于分散的操作型数据,将所需数据从原来的数据中抽取出来,进行加工与集成,统一与综合之后才能进入数据仓库; 3、数据仓库是不可更新的,数据仓库主要是为决策分析提供数据,所涉及的操作主要是数据的查询; 4、数据仓库是随时间而变化的,传统的关系数据库系统比较适合处理格式化的数据,能够较好的满足商业商务处理的需求,它在商业领域取得了巨大的成功。

作为一个系统,数据仓库至少包括3个基本的功能部分:数据获取:数据存储和管理;信息访问。 数据挖掘的定义:数据挖掘从技术上来说是从大量的、不完全的、有噪音的、模糊的、随机的数据中提取隐含在其中的、人们事先不知道的、但又是潜在的有用的信息和知识的过程。 数据开采技术的目标是从大量数据中,发现隐藏于其后的规律或数据间的的关系,从而服务于决策。数据挖掘的主要任务有广义知识;分类和预测;关联分析;聚类。 《数据仓库与数据挖掘技术在金融信息化中的应用》论文主要通过介绍数据额仓库与数据挖掘的起源、定义以及特征的等方面的介绍引出其在金融信息化中的应用。在金融信息化的应用方面,金融机构利用信息技术从过去积累的、海量的、以不同形式存储的数据资料里提取隐藏着的许多重要信息,并对它们进行高层次的分析,发现和挖掘出这些数据间的整体特征描述及发展趋势预测,找出对决策有价值的信息,以防范银行的经营风险、实现银行科技管理及银行科学决策。 现在银行信息化正在以业务为中心向客户为中心转变6银行信息化不仅是数据的集中整合,而且要在数据集中和整合的基础上向以客为中心的方向转变。银行信息化要适应竞争环境客户需求的变化,创造性地用信息技术对传统过程进行集成和优化,实现信息共享、资源整合综合利用,把银行的各项作用统一起来,优势互补统一调配各种资源,为银行的客户开发、服务、综理财、管理、风险防范创立坚实的基础,从而适应日益发展的数据技术需要,全面提高银行竞争力,为金融创新和提高市场反映能力

数据仓库数据集市概念区别

数据集市≠数据仓库 NCR公司可扩展数据仓库解决方案小组王闯舟编译 我们知道,决策支持系统(DSS)主要有两种实现方式,即建立一个数据集市或者一个数 据仓库。到底哪一种更能满足决策支持的要求并且适合企业今后的发展,是近两年来学术界和有关供应商激烈争论的一个话题。 在数据集市领域,主要的供应商和拥护者以美国红砖(Red Brick)公司为代表,其总裁Ralph Kimball在1997年12月的一篇论文中提出,"数据仓库只不过是一些数据集市的集合而已"。认为企业多建立一些数据集市,将来自然就形成了数据仓库。而业界公认的数据仓库之父 Bill Inmon在今年1月立即撰文反驳,旗帜鲜明地指出,"你可以在大海中捕到很多的小鱼并堆积起来,但它们仍然不是鲸"。在5月份的《数据管理综述》(DataManagement Review)中,Bill Inmon又发表了"数据集市不等于数据仓库"的论文,进一步阐述两者在本质上的区别以及各自的适用场合,本文就是根据这篇论文的主要内容编译而成的。 问题的提出 现在,各企业IT部门的经理所面临的最主要问题之一是先建立数据仓库还是先建立数据集市。长期以来,数据集市供应商们不断地给他们灌输这样的观念,即建立数据仓库比较复杂,投资过大,设计与开发周期太长,难以集成和管理企业范围内的各种源数据;并认为,基于数据仓库的DSS投资方案难以得到企业管理层的批准。数据集市供

应商们给业界描绘了一幅数据仓库前景暗淡的图画,这完全是出于自身的目的,是不正确的。 数据集市供应商们把数据仓库当成其增加营业收入的绊脚石,自然要避开和攻击数据仓库。事实上,他们在销售时强调数据集市的建设周期短,是以企业信息系统结构的长期规划为代价的。 持数据集市主张的人认为,决策支持系统的成功实现,除了数据仓库以外,还有更简便、更有效的其它途径。方法之一就是建立多个数据集市,当它们增加得足够大时,那就是所谓的数据仓库了。这些人声称,建立数据集市要快得多也便宜得多,因为当考虑建立一个数据集市时,不必考虑各部门之间的区别,也不必设立部门之间协调的规则,更不存在结构设计上的长期规划问题。 不幸的是,这种方法虽然避免了建立数据仓库存在的部门协调与规划上的问题,却完全偏离了数据仓库的要点。当企业的信息结构完全由数据集市构成时,其整个组织将变得更加混乱。因为在建立决策支持系统以前,我们可能只是原来的生产系统有些凌乱,现在的状况则可能是凌乱的生产系统再加上杂乱的数据集市。由于企业内所有的决策支持系统均是数据集市,相互之间没有集成,其结果可想而知——没有集成的决策支持系统就像没有骨骼的人体一样,是没有实用价值的。 方式的改变 早期,数据集市供应商们宣称数据集市和数据仓库是相同的系统,试图通过这种偷梁换柱的方式来进入数据仓库市场。在各种展示会期间,他们不遗余力地进行着各种宣传,从而混淆了数据集市与数据仓库的概念。 由于这种错误概念的传播,使一些客户建立了数据集市而非真正的数据仓库。但随

数据挖掘与数据仓库课程简介

数据挖掘与数据仓库课程简介 英文名:Data Mining and Data Warehouse 开课单位:计算机学院 课程编码:203086 学分学时:学分,学时32(含实验10) 授课对象:计算机科学与技术专业方向选修课 先修课程:数据库 课程目的和主要内容: 通过本课程的学习,学生应能理解数据库技术的发展为何导致需要数据挖掘,以及数据挖掘潜在应用的重要性;掌握数据仓库和多维数据结构,OLAP(联机分析处理)的实现以及数据仓库与数据挖掘的关系;熟悉数据挖掘之前的数据预处理技术;了解定义数据挖掘任务说明的数据挖掘原语;掌握数据挖掘技术的基本算法,为将来从事数据仓库的规划和实施以及数据挖掘技术的研究工作打下一定的基础。 主要内容包括数据仓库和数据挖掘的基本知识;数据清理、数据集成和变换、数据归约以及离散化和概念分层等数据预处理技术;DMQL数据挖掘查询语言;用于挖掘特征化和比较知识的面向属性的概化技术、用于挖掘关联规则知识的基本Apriori算法和它的变形、用于挖掘分类和预测知识的判定树分类算法和贝叶斯分类算法以及基于划分的聚类分析算法等;了解先进的数据库系统中的数据挖掘方法,以及对数据挖掘和数据仓库的实际应用问题展开讨论。 参考教材: 《数据挖掘概念与技术》,机械工业出版社,JiaWei Han,Micheline Kamber著,范明等译 参考和阅读书目: 《Data Mining: Concepts and Techniques》Jiawei Han and Micheline Kamber, Morgan Kaufmann, 2000 《机器学习》,Tom Mitchell著,曾华军等译 《SQLServer2000数据挖掘技术指南》,机械工业出版社,Claude Seidman著,刘艺等译 数据挖掘与数据仓库教学大纲 一、课程概况 英文名:Data Mining and Data Warehouse 开课单位:计算机学院 课程编码:203086 学分学时:学分,学时32(含实验10) 授课对象: 先修课程:数据库 课程目的和主要内容: 通过本课程的学习,学生应能理解数据库技术的发展为何导致需要数据挖掘,以及数据

数据仓库复习题

第一章概述 1.数据挖掘的定义?(书P2,PPT_P8) 从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。 2.数据挖掘的源是否必须是数据仓库的数据?可以有哪些来源?(PPT_P14) 关系数据库、数据仓库、事务数据库、高级数据等 3.数据挖掘的常用方法?(P4、PPT_P29) 聚类分析、决策树、人工神经网络、粗糙集、关联规则挖掘、统计分析等 4.数据挖掘的过程包括哪些步骤,每一步具体包括哪些内容?(书P2-3,PPT_P17-19) 确定业务对象、数据准备、数据挖掘、结果分析与知识同化。 5.数据挖掘与数据仓库的关系(联系和区别)?书P6-7,PPT_P45-46 联系:1,数据仓库为数据挖掘提供了更好的,更广泛的数据源 2,数据仓库韦数据挖掘提供了新的支持平台。 3,数据仓库为更好地使用数据挖掘工具提供了方便 4,数据挖掘对数据仓库提供了更好的决策支持。 5,数据挖掘对数据仓库的数据组织提出了更高的要求 6,数据挖掘还为数据仓库提供了广泛的技术支持 区别:数据仓库是一种存储技术,它包含大量的历史数据、当前的详细数据以及综合数据,它能为不同用户的不同决策需要提供所需的数据和信息。~~数据挖掘是从人工智能机器学习中发展起来的,它研究各种方法和技术,从大量的数据中挖掘出有用的信息和知识。 第二章数据仓库 1.数据仓库的定义 数据仓库——是一个面向主题的、集成的、随时间而变化的、不容易丢失的数据集合,支持管理部门的决策定制过程。 2.数据仓库数据的四大基本特征: 面向主题的、集成的、不可更新的、随时间变化的。 3.数据仓库体系结构有三个独立的数据层次: 信息获取层、信息存储层、信息传递层。 4.粒度的定义?它对数据仓库有什么影响? (1)是指数据仓库的数据单位中保存数据细化或综合程度的级别。粒度越小,细节程度越高,综合程度越低,回答查询的种类就越多。 (2)影响存放在数据仓库中的数据量大小;影响数据仓库所能回答查询问题的细节程度。 5.在数据仓库中,数据按照粒度从小到大可分为四个级别: 早期细节级、当前细节级、轻度细节级和高度细节级。 6.数据分割的标准:可按日期、地域、业务领域、或按多个分割标准的组合,但一般包括日期项。 7.数据仓库设计中,一般存在着三级数据模型: 概念数据模型、逻辑数据模型、物理数据模型 8.数据仓库设计步骤 (1)概念模型设计 (2)技术准备工作 (3)逻辑模型设计 (4)物理模型设计 (5)数据仓库的生成

数据仓库(简答题复习资料整理)

数据仓库(简答题复习资料) (1)数据仓库概念和特点 P12-14 数据仓库是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,它用于支持企业或组织的决策分析处理。 数据仓库是为了便于多维分析和多角度展现而将数据按特定的模式进行存储所建立起来的关系型数据库,它的数据基于OLTP源系统。 首先,用于支持决策,面向分析型数据处理,它不同于企业现有的操作型数据库; 其次,对多个异构的数据源有效集成,集成后按照主题进行了重组,并包含历史数据,而且存放在数据仓库中的数据一般不再修改。 数据仓库的功能和特性 1 面向主题 2 数据的集成性 3 数据的稳定性(非易失性) 4 数据随时间变化的特性 5 多维性数据是带有时间轴的→数据是多维的→形成立方体(Cube)见书P52 (2)数据库与数据仓库的区别 简而言之,数据库是面向事务的设计,数据仓库是面向主题设计的。 数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。 数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。 数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数据,同时有维的ID。 单从概念上讲,有些晦涩。任何技术都是为应用服务的,结合应用可以很容易地理解。以银行业务为例。数据库是事务系统的数据平台,客户在银行做的每笔交易都会写入数据库,被记录下来,这里,可以简单地理解为用数据库记帐。数据仓库是分析系统的数据平台,它从事务系统获取数据,并做汇总、加工,为决策者提供决策的依据。比如,某银行某分行一个月发生多少交易,该分行当前存款余额是多少。如果存款又多,消费交易又多,那么该地区就有必要设立ATM了。 显然,银行的交易量是巨大的,通常以百万甚至千万次来计算。事务系统是实时的,这就要求时效性,客户存一笔钱需要几十秒是无法忍受的,这就要求数据库只能存储很短一段时间的数据。而分析系统是事后的,它要提供关注时间段内所有的有效数据。这些数据是海量的,汇总计算起来也要慢一些,但是,只要能够提供有效的分析数据就达到目的了。 数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它决不是所谓的“大型数据库”。那么,数据仓库与传统数据库比较,有哪些不同呢?让我们先看看W.H.Inmon关于数据仓库的定义:面向主题的、集成的、与时间相关且不可修改的数据集合。 “面向主题的”:传统数据库主要是为应用程序进行数据处理,未必按照同一主题存储数

数据仓库中的数据清洗

数据仓库中的数据清洗 刘玉① 陈金雄② ①福州大学物理与信息工程学院,350002,福州市工业路523号 ②南京军区福州总医院,350025,福州市西二环北路156号 关键词 数据清洗 二次清洗 数据仓库 摘 要 以病种分析为例,介绍了在数据仓库中数据清洗的方法——二次清洗法,二次清洗完成的工作是不同的,第一次的清洗主要负责清洗源数据中的“脏数据”,第二次清洗则负责维度的提取。 1 引言 随着时间的发展,医院信息系统中积累了大量的业务数据,越来越多的医院选择建立数据仓库以提取其中有用的信息,用于分析和决策。病种分析就是当前比较热门的主题,可以通过病种分析主题考察单病种的治愈质量、平均费用、平均住院日及单病种的病人构成情况,有利于单病种的合理限价,提高医院的竞争力。病种分析的星型结构见图1。病种分析中涉及到众多的数据,数据的准确与否直接关系着决策质量的好坏。为了能够准确的决策,必须对进入数据仓库的数据进行清洗。 图1 病种分析主题的星型结构(事实表中红色的字段为其度量) 由于数据的清洗需要占用系统较多的资源,为了不影响“军卫一号”日常的处理速度,同时保证数据尽可能的准确,我们采用了“二次清洗”的方法:将源数据抽取至数据缓冲区时进行第一次的数据清洗;将数据缓冲区的数据送入数据仓库时进行第二次的清洗,两次清洗的作用范围是不同的[1]。清洗的过程见图2。 事实表 SYM_ID AGE_ID ADD_ID SEX_ID CHARGE_ID CHARGE_DEPT DISCHARGE_DETP DOCTOR_ID 数量 平均住院日 平均费用科室维 DEPT ID 地理维 ADD ID 病种维 SYM ID 费别维 CHARGE ID 医生维 DOCTOR ID 性别维 SEX ID 年龄维 AGE ID

数据仓库的发展历程简述v0.1

数据仓库发展历程及相关概念 1.1 概述 数据仓库的概念可能比一般人想像的都要早一些,中间也经历比较曲折的过程。其最初的目标是为了实现全企业的集成(Enterprise Integration),但是在发展过程中却退而求其次:建立战术性的数据集市(Data Marts)。到目前为止,还有很多分歧、论争,很多概念模棱两可甚至是彻底的让人迷惑。本文试图从数据仓库的发展历史中看到一些发展的脉络,了解数据仓库应该是怎么样的,并展望一下未来的数据仓库发展方向。 同时,由于新应用的不断出现,出现了很多新的概念和新的应用,这些新的应用如何统一现成完整的企业BI应用方案还存在很多争论。本文试图对这些概念做一些简要的阐述,让大家对此有初步的了解。 1.2 粗略发展过程 1.2.1 开始阶段(1978-1988) 数据仓库最早的概念可以追溯到20世纪70年代MIT的一项研究,该研究致力于开发一种优化的技术架构并提出这些架构的指导性意见。第一次,MIT的研究员将业务系统和分析系统分开,将业务处理和分析处理分成不同的层次,并采用单独的数据存储和完全不同的设计准则。 同时,MIT的研究成果与80年代提出的信息中心(Information Center)相吻合:即把那些新出现的、不可以预测的、但是大量存在的分析型的负载从业务处理系统中剥离出来。但是限于当时的信息处理和数据存储能力,该研究只是确立了一个论点:这两种信息处理的方式差别如此之大,以至于它们只能采用完全不同的架构和设计方法。 之后,在80年代中后期,作为当时技术最先进的公司,DEC已经开始采用分布式网络架构来支持其业务应用,并且DEC公司首先将业务系统移植到其自身的RDBMS产品:RdB。并且,DEC公司从工程部、销售部、财务部以及信息技术部抽调了不同的人员组建了新的小组,

数据仓库的概念

一、数据仓库的概念及使用情况介绍 1996年, Inmon 在他的专著《Building the Data Warehouse》中, 对数据仓库做了如下定义,即“面向主题的、完整的、非易失的、不同时间的、用于支持决策的数据集合”。这和传统的OLTP系统有很大的区别,它属在线分析(OLAP)系统的范畴。面向主题的,指的是它将依据一定的主题,比如经销商、产品、定单等汇总各个OLTP系统的数据。完整的, 指的是要求对各个系统数据表示进行转换,用统一编码表示,比如,A系统用001表示退货, 而B系统用999表示退货,在数据仓库中必须统一成一个编码。非易失的, 指的是系统用户只读数据,不得修改数据。数据仓库完整地记录了各个历史时期的数据,而OLTP系统不会保留全部的历史记录。OLTP系统也难以支持决策查询,例如从几千万笔记录中获取不同区域的汇总报表。 完整的数据仓库应包括: 1.数据源-> 2.ETL -> 3.数据仓库存储-> 4.OLAP -> 5.BI工具 现实中可以实现的方案有: 1.数据源-> BI工具 2.数据源-> OLAP -> BI工具 3.数据源-> 数据仓库存储-> BI工具 4.数据源-> 数据仓库存储-> OLAP -> BI工具 5.数据源-> ETL -> 数据仓库存储-> OLAP -> BI工具 可见其中必需的是数据源和前端,其他的部分都可根据具体情况决定取舍。 建立数据仓库的步骤: 1) 收集和分析业务需求 2) 建立数据模型和数据仓库的物理设计 3) 定义数据源 4) 选择数据仓库技术和平台 5) 从操作型数据库中抽取、净化、和转换数据到数据仓库 6) 选择访问和报表工具 7) 选择数据库连接软件 8) 选择数据分析和数据展示软件 9) 更新数据仓库 数据仓库设计的主要步骤如下: 1. 系统主题的确定 这要求系统设计人员多与业务人员沟通, 详细了解业务需求、报表需求,再归纳成数据仓库的主题。例如, 经销商主题,包含经销商各个历史时期的级别、销售额、信贷、活动区域等。产品主题,包含每个产品在各个历史时期、各个区域的销售额、促销力度、销售件数、产品类别等。 2. 数据库的逻辑设计 在确定主题后, 需要对主题包含的信息进行详细定义,并对事实表和维表的关系详细定义。比如, 经销商主题中的销售额, 定义为几个字段:NetSales (净销售额),表示扣除了一切优惠折扣,数据类型为Number(12,3); CusSales, 表示产品目录价的销售额, 数据类型为Number(12,3); TitleCode, 表示级别, 如101表示全国一级代理, 202表示省二级代理,数据类型为V arChar2(3)等。 3. 数据库的物理设计 物理设计主要考虑数据的存储方式, 使得系统有较好的性能。对于记录庞大的事实表,

数据仓库和BI技术概况

1.数据仓库 1.1.概念 数据仓库项目是以关系数据库为依托,以数据仓库理论为指导、以OLAP为多层次多视角分析,以ETL工具进行数据集成、整合、清洗、加载转换,以前端工具进行前端报表展现浏览,以反复叠代验证为生命周期的综合处理过程。最终目标是为了达到整合企业信息信息,把数据转换成信息、知识,提供决策支持。 1.2.数据源 数据库、磁带、文件、网页等等。同一主题的数据可能存储在不同的数据库、磁带、甚至文件、网页里都有。 1.3.数据粒度 粒度问题第一反应了数据细化程度;第二在决策分析层面粒度越大,细化程度越低。一般情况,数据仓库需求存储不同粒度的数据来满足不同层面的要求。 例子如顾客的移动话费信息。 1.4.数据分割 分割结构相同的数据,保证灵活的访问数据。 1.5.设计数据仓库 ●与OLTP系统的接口设计:ETL设计 ●数据仓库本身存储模型的设计:数据存储模型设计 1.6.ETL设计难点 数据仓库有多个应用数据源,导致同一对象描述方式不同: ●表达方式不同:字段类型不同 ●度量方式不同:单位不同 ●对象命名方式不同:字段名称不同 ●数据源的数据是逐步加载到数据仓库,怎么确定数据已经加载过 ●如何避免对已经加载的数据的读取,提高性能 ●数据实时发生变化后怎么加载

2.数据存储模型 过程模型:适用于操作性环境。 数据模型:适用于数据仓库和操作性环境。 数据模型从设计的角度分:高层次模型(实体关系型),中间层建模(数据项集),物理模型。 2.1.数据仓库的存储方式 数据仓库的数据由两种存储方式:一种是存储在关系数据库中,另一种是按多维的方式存储,也就是多维数组。 2.2.数据仓库的数据分类 数据仓库的数据分元数据和用户数据。 用户数据按照数据粒度分别存放,一般分四个粒度:早期细节级数据,当前细节级数据,轻度综合级,高度综合级。 元数据是定义了数据的数据。传统数据库中的数据字典或者系统目录都是元数据,在数据仓库中元数据表现为两种形式:一种是为了从操作型环境向数据仓库环境转换而建立的元数据,它包含了数据源的各种属性以及转换时的各种属性;另一种元数据是用来与多维模型和前端工具建立映射用的。 2.3.数据存储模型分类 多维数据建模以直观的方式组织数据,并支持高性能的数据访问。每一个多维数据模型由多个多维数据模式表示,每一个多维数据模式都是由一个事实表和一组维表组成的。 多维模型最常见的是星形模式。在星形模式中,事实表居中,多个维表呈辐射状分布于其四周,并与事实表连接。 在星型的基础上,发展出雪花模式。通常来说,数据仓库使用星型模型。 2.3.1.星型模型 位于星形中心的实体是指标实体,是用户最关心的基本实体和查询活动的中心,为数据仓库的查询活动提供定量数据。每个指标实体代表一系列相关事实,完成一项指定的功能。 位于星形图星角上的实体是维度实体,其作用是限制用户的查询结果,将数据过滤使得从指标实体查询返回较少的行,从而缩小访问范围。每个维表有自己的属性,维表和事实表通过关键字相关联。 星形模式虽然是一个关系模型,但是它不是一个规范化的模型。在星形模式中,维度表被故意地非规范化了,这是星形模式与OLTP系统中的关系模式的基本区别。 使用星形模式主要有两方面的原因:提高查询的效率。采用星形模式设计的数据仓库的优点是由于数据的组织已经过预处理,主要数据都在庞大的事实表中,所以只要扫描事实表

相关文档
最新文档