DW2.0

一、DW2.0从企业的角度,吸引企业的原因:

1.数据仓库基础设施的成本不再持续增长。在第一代数据仓库中,技术基础设施的成本是不断增长的,随着数据量的增长,基础设施的成本会以指数级增长。但是使用DW2.0,数据仓库的这一成本会趋于平稳。

2.使用元数据将基础设施结合在一起,这意味着数据不会轻易丢失。在第一代数据仓库中,一个数据单元或一个数据类型是很容易“丢失”的。这就像纽约市立图书馆书架上的一本书摆错了位置一样,一旦摆错位置,可能需要若干年才能将其放回容易被人们找到的位置。第一代数据仓库环境下的数据也是如此。而作为DW2.0骨干的元数据则不会令数据轻易丢失。

3.数据访问速度快。数据根据其访问概率放置,因此它的数据访问性能比第一代数据仓库环境更为有效

4.存档需求的关注。第一代数据仓库中很少有甚至没有存档数据,因此数据只能存储相对较短的一段时间。而在DW2.0环境下,数据时被存档的,这样它就能够永久保存下去,或者视需要而定。

5.数据仓库吸引大量的数据。DW2.0中数据是分段的,终端用户需要处理的数据量就会少得多。

二、 DW2.0与第一代数据仓库的区别:

1.dw2.0产生了对数据生命周期的认识

2.数据仓库中包含非结构化数据

3.dw2.0环境包含元数据

4.dw2.0的技术基础能够随着时间而变化

三、DW2.0数据生命周期

数据的生命周期:

第一代数据仓库:将数据存放在某种形式的磁盘存储器

第二代数据仓库:四个数据生命周期“分区”(如上图所示,可知DW2.0的数据结构)

交互区:数据存入数据仓库后迅速进入交互区。随着数据的调整,数据被整合后传递到整合区

整合区:整合的数据时在整合区被发现的,并且一直位于整合区,直至其访问概率下降。数据的访问概率往往会伴随着存储时间的增加而下降。通常情况下,3-4年后,整合区数据的访问概率会明显下降。

近线区:在许多方面,近线区就像是整合区的延伸。近线区是可以选择的,亦即数据不一定需要经过这一区,但是当数据量非常大并且数据间的访问概率差别很大时,就可以利用近线区来处理。

归档区:数据访问概率很低,数据可以从近线区也可以从整合区进入归档区。归档区的数据通常是5-10年,甚至更长。

DW2.0设置不同区的原因:

不同区之间区别的核心问题是:数据从一个区传递到另一个区时,数据的基本操作参数随之改变。

在区与区之间,数据的访问概率和访问模式差别很大。

交互区的数据被频繁访问,并且其访问模式是随机访问。

整合区数据的被访问概率也很高,但通常是顺序、成串的访问。

近线区的数据访问概率相对较低,并且在访问时是随机的。

归档区的数据很少被访问,它能够被顺序地、不定期地、随机地访问。

除了不同的访问模式外,不同的区在数据量上也有很明显的差别。交互区的数据量相对较小。整合区的数据较多。如果一个企业中完全是近线数据,那么近线区通常会有相当大数量的数据。归档区的数据也可能显著增长,即使最初几年收集的归档数据相对较少,但随着时间的推移,大量数据完全有可能聚集到归档区。

四、DW2.0 元数据

对于交互数据,元数据分开存储;对于归档数据,元数据与数据一起存储。

五、DW2.0非结构化数据

一般存在两种类型的数据:结构化数据和非结构化数据。

结构化数据:相同的格式和布局,存储在数据库记录中,记录中包含属性、键、索引、表格等。

非结构化数据:有两种基本形式---文本的和非文本的。

文本的非结构化数据出现在很多地方---电子邮件、电话交谈、幻灯片演示等。非文本的非结构化数据出现在诸如图形和图像里,包含不仅照片、X射线、核磁共振、图片、插图等等。

筛选“废话”仅仅是为DW2.0环境准备非结构化数据需要做的众多步骤中的第一步。

为DW2.0环境准备非格式化数据的第二个主要步骤是读取特定数据,并对特定数据添加一般数据,使得数据适合分析。做不到这点就是对时间和机会的浪费。

时间: 2024-11-06 09:37:47

DW2.0的相关文章

DW2.0下一代数据仓库架构_第8章 数据模型和DW2.0(读书笔记)

智能线路图    数据模型是DW2.0必备组成部分.数据模型在很多方面都扮演着通往DW2.0其他部分的只能线路图的角色.在DW2.0中建立线路图有很多种原因,但最重要的原因是建立DW2.0并不是一蹴而就的,相反,每次建立一步,通过很长的时间完成,另外,它的建立是由很多人而不是单个人完成的.为了协调不同人员的工作以及适应不同类型的用户,非常有必要建立一个线路图--数据模型,数据模型描述了DW2.0各部分如何结合在一起.如果没有数据模型,DW2.0各部分的工作边被割裂开来,从而导致系统的混乱. 数据

DataSet、DataTable、DataRow、DataColumn区别及使用实例

DataSet 表示数据在内存中的缓存. 属性 Tables  获取包含在 DataSet 中的表的集合. ds.Tables["sjxx"] DataTable 表示内存中数据的一个表. 公共属性 Columns 获取属于该表的列的集合. DataSet 获取此表所属的 DataSet. DefaultView 获取可能包括筛选视图或游标位置的表的自定义视图. PrimaryKey 获取或设置充当数据表主键的列的数组. Rows 获取属于该表的行的集合. TableName 获取或设

中小型企业商业智能平台的开发和实现

中小型企业商业智能平台的开发和实现(数据仓库.BI系统.真实项目实战)http://www.ibeifeng.com/goods-472.html咨询QQ2110053820课程讲师:鸿鹄 课程分类:数据和数据仓库适合人群:初级课时数量:76课时更新程度:完成用到技术:数据仓库.BI系统.真实项目实战涉及项目:中小型企业商业智能平台 本课程以公共卫生领域高血压的管理为实际应用场景,为高血压管理系统建立数据仓库,进行数据分析.本课程一共分为四个章节,76讲.第一章主要介绍了商业智能系统的发展,从商

dataset datatable datacolums datarow

DataSet 表示数据在内存中的缓存. 属性 Tables  获取包含在 DataSet 中的表的集合. ds.Tables["sjxx"] DataTable 表示内存中数据的一个表. 公共属性 Columns 获取属于该表的列的集合. DataSet 获取此表所属的 DataSet. DefaultView 获取可能包括筛选视图或游标位置的表的自定义视图. PrimaryKey 获取或设置充当数据表主键的列的数组. Rows 获取属于该表的行的集合. TableName 获取或设

转:DataSet、DataTable、DataRow、DataColumn区别及使用实例

DataSet 表示数据在内存中的缓存. 属性 Tables  获取包含在 DataSet 中的表的集合. ds.Tables["sjxx"] DataTable 表示内存中数据的一个表. 公共属性 Columns 获取属于该表的列的集合. DataSet 获取此表所属的 DataSet. DefaultView 获取可能包括筛选视图或游标位置的表的自定义视图. PrimaryKey 获取或设置充当数据表主键的列的数组. Rows 获取属于该表的行的集合. TableName 获取或设

VC网络连接判断API

bool isConnect; DWORD dw; isConnect = ::IsNetworkAlive(&dw); if(isConnect) cout << "IsNetworkAlive连接" <<endl; else cout << "IsNetworkAlive未连接" <<endl; cout<< "---------------------------------&quo

中小型企业商业智能平台的开发和实现(数据仓库、BI系统、真实项目实战)

中小型企业商业智能平台的开发和实现(数据仓库.BI系统.真实项目实战)课程分类:数据和数据仓库适合人群:初级课时数量:76课时用到技术:数据仓库.BI系统.真实项目实战涉及项目:中小型企业商业智能平台咨询QQ:1840215592课程内容简介:本课程以公共卫生领域高血压的管理为实际应用场景,为高血压管理系统建立数据仓库,进行数据分析.本课程一共分为四个章节,76讲.第一章主要介绍了商业智能系统的发展,从商业智能的学科范围.演化史.应用案例到自然演化式的体系结构,以及面临的问题,再讲到数据仓库以及

[转]内存分配malloc, new , heapalloc

这里比较的VC++编译的C++代码中的性能 我用的是VC6.0测试的 就不介绍这几个的用法了 我写了一段简单的测试代码 测试结果是: malloc:390new:391VirtualAlloc:454HeapAlloc:47 很明显的是HeapAlloc分配速度最快,malloc次之,new和malloc差不多,VirtualAlloc最慢了(以前小强跟我说这个最快) 我有跟踪了一下 new调用了这段代码 void * __cdecl _nh_malloc ( size_t nSize, int

verilog code slice学习成长纪念

//=== 1.high pulse to(2) high level `ifndef DLY `define DLY 1 `endif //only for sync clk signal. module PUL2LVL_H (/*autoarg*/ //Inputs clk_bus, brst_n, sig_in, //Outputs sig_out); parameter DW = 10; input clk_bus;//clock input brst_n;//reset input s