确定事实数据粒度

上传人:仙*** 文档编号:29218630 上传时间:2021-10-02 格式:DOC 页数:6 大小:39.62KB
收藏 版权申诉 举报 下载
确定事实数据粒度_第1页
第1页 / 共6页
确定事实数据粒度_第2页
第2页 / 共6页
确定事实数据粒度_第3页
第3页 / 共6页
资源描述:

《确定事实数据粒度》由会员分享,可在线阅读,更多相关《确定事实数据粒度(6页珍藏版)》请在装配图网上搜索。

1、、确定事实数据粒度、确定事实数据粒度2010-12-08 17:19一、数据仓库的架构数据仓库(Data Warehouse DW)是为了便于多维分析和多角度展现而将数据按特定的模式进行存储所建破起来的关联型数据库,它的数据基于OLTP源系统.数据仓库中的数据是细节的、集成的、面向主题的,以OLAP系统的分析需求为目标.数据仓库的架构模型包括了星型架构(图二:pic2.bmp)与雪花型架构(图三:pic3.bmp)两种模式.如图所示,星型架构的中间为事实表,四处为维度表,类似星星;而比拟较而言,雪花型架构的中间为事实表,两边的维度表可以再有其关联子表,从而表白了清楚的维度档次关系.从OLAP系

2、统的分析需乞降ETL的处理效率两方面来考虑:星型结构聚合快,分析效力高;而雪花型构造明白,便于与OLTP系统交互.因而,在实际项目中,我们将综合应用星型架构与雪花型架构来设计数据仓库.那么,下面我们就来看一看,构建企业级数据仓库的流程.二、构建企业级数据仓库五步法(一)、肯定主题即确定数据分析或前端展现的主题.例如:我们愿望分析某年某月某一地区的啤酒销售情况,这就是一个主题.主题要体现出某一方面的各分析角度(维度)和统计数值型数据(量度)之间的关系,确定主题时要综合考虑.我们可以形象的将一个主题设想为一颗星星:统计数值型数据(量度)存在于星星中间的事实表;分析角度(维度)是星星的各个角;我们将

3、通过维度的组合,化妆护肤,来考核量度.那么,某年某月某一地区的啤酒销售情况这样一个主题,就请求我们通过期间和地区两个维度的组合,来考察销售情况这个量度.从而,不同的主题起源于数据仓库中的不同子集,我们可以称之为数据集市.数据集市体现了数据仓库某一方面的信息,多个数据集市形成了数据仓库.(二)、确定量度在确定了主题以后,我们将考虑要分析的技术指标,诸如年销售额之类.它们正常为数值型数据.我们或者将该数据汇总,或者将该数据取次数、独立次数或取最大最小值等,这样的数据称为量度.量度是要统计的指标,停止治疗时易反复,必须当时抉择适当,基于不同的量度能够进行庞杂症结性能指标(KPI)等的设计和盘算.(三

4、)、断定事实数据粒度在确定了量度之后,我们要考虑到该量度的汇总情况和不同维度下量度的聚合情况.考虑到量度的聚合水平不同,我们将采用最小粒度原则,行将量度的粒度设置到最小.例如:假设目前的数据最小记载到秒,即数据库中记录了每一秒的交易额.那么,如果我们可以确认,在未来的分析需求中,时间只要要准确到天就可以的话,我们就可以在ETL处理过程中,按天来汇总数据,此时,数据仓库中量度的粒度就是天;反过来,如果我们不能确认将来的分析需要在时光上是否需要精确到秒,那么,我们就需要遵守最小粒度准则,在数据仓库的事实表中保存每一秒的数据,以便日后对秒进行分析.在采取最小粒度原则的同时,我们不用担忧海量数据所带来

5、的汇总分析效率问题,因为在后续建立多维分析模型(CUBE)的时候,我们会对数据提前进行汇总,从而保障产生分析结果的效率.对于建立多维分析模型(CUBE)的相关问题,我们将在下期栏目中予以论述.(四)、确定维度维度是指分析的各个角度.例如我们盼望按照时间,或者按照地区,或者按照产品进行分析,那么这里的时间、地域、产品就是相应的维度.基于不同的维度,我们可以看到各量度的汇总情况,也可以基于所有的维度进行穿插分析.这里我们首先要确定维度的层次(Hierarchy)和级别(Level)(图四:pic4.bmp).如图所示,我们在时间维度上,按照年-季度-月构成了一个层次,其中年、季度、月成为了这个层次

6、的3个级别;同理,当我们建立产品维度时,我们可以将产品大类-产品子类-产品划为一个层次,其中包括产品大类、产品子类、产品三个级别.那么,我们剖析中所用到的这些维度,在数据仓库中的存在情势是怎么的呢?我们可以将3个级别设置成一张数据表中的3个字段,比如时间维度;我们也可以使用三张表,分辨保留产品大类、产品子类、产品三局部数据,比如产品维度.(图五:pic5.bmp)另外,值得一提的是,我们在建立维度表时要充足使用代理键.代理键是数值型的ID号码(例如图六中每张表的第一个字段),它唯一标识了每一维度成员.更重要的是,在聚合时,数值型字段的匹配和比较,JOIN效率高,便于聚合.同时,代理键对缓慢变化

7、维度有侧重要的意思,在原数据主键雷同的情况下,它起到了对新数据与历史数据的标识作用.在此,我们不妨谈一谈维度表随时间变化的问题,这是我们常常会碰到的情况,我们称其为缓慢变化维度.好比我们增加了新的产品,或者产品的ID号码修改了,或者产品增添了一个新的属性,此时,维度表就会被修改或者增长新的记录行.这样,我们在ETL的过程中,就要考虑到缓慢变化维度的处理.对于缓慢变化维度,有三种情况:1、缓慢变化维度第一种类型:历史数据需要修改.这种情形下,用保鲜膜包起,我们应用UPDATE方式来修正维度表中的数据.例如:产品的ID号码为123,后来发明ID号码错了,需要改写成456,那么,我们就在ETL处置时

8、,直接修改维度表中本来的ID号码为456.2、迟缓变更维度第二品种型:历史数据保留,新增数据也要保留.这时,要将原数据更新,将新数据插入,我们使用UPDATE/INSERT.比如:某一员工2005年在A部门,2006年时他调到了B部分.那么在统计2005年的数据时就应该将该员工定位到A部门;而在统计2006年数据时就应该定位到B部门,然后再有新的数据插入时,化妆技巧,将按照新部门(B部门)进行处理,这样我们的做法是将该维度成员列表加入标识列,将历史的数据标识为过时,将目前的数据标识为当前的.另一种方法是将该维度打上时间戳,即将历史数据生效的时间段作为它的一个属性,在与原始表匹配生成事实表时将按

9、照时间段进行关联,这种方法的好处是该维度成员生效时间明确.3、缓慢变化维度第三种类型:新增数据维度成员改变了属性.例如:某一维度成员新参加了一列,该列在历史数据中不能基于它阅读,血压升高、头痛、头晕、眩晕、视力模糊、肌肉衰弱,而在目前数据和将来数据中可以按照它浏览,那么此时我们需要转变维度表属性,即加入新的字段列.那么,我们将使用存储过程或程序生成新的维度属性,在后续的数据中将基于新的属性进行查看.(五)、创立事实表在确定好事实数据和维度后,我们将考虑加载事实表.在公司的大批数据沉积如山时,我们想看看里面毕竟是什么,结果发现里面是一笔笔出产记录,一笔笔交易记录h那么这些记录是我们将要建立的事实

10、表的原始数据,即关于某一主题的事实记录表.我们的做法是将原始表与维度表进行关系,生成事实表(图六:pic6.bmp).留神在关联时有为空的数据时(数据源脏),需要使用外连接,连接后我们将各维度的代办键取出放于事实表中,事实表除了各维度代理键外,还有各量度数据,这将来自原始表,事实表中将存在维度署理键和各量度,而不应当存在描述性信息,即合乎瘦高原则,即要求事实表数据条数尽量多(粒度最小),而描写性信息尽量少.如果斟酌到扩大,可以将事实表加一独一标识列,认为了当前扩展将该事实作为雪花型维度,不外不需要时普通倡议不必这样做.事实数据表是数据仓库的中心,需要精心保护,在JOIN后将得到事实数据表,个别

11、记载条数都比拟大,我们须要为其设置复合主键和索引,以实现数据的完全性跟基于数据仓库的查询机能优化.事实数据表与维度表一起放于数据仓库中,假如前端需要衔接数据仓库进行查问,咱们还需要树立一些相干的旁边汇总表或物化视图,以便利查询.三、什么是ETL在数据仓库的构建中,ETL贯串于名目始终,它是全部数据仓库的性命线,包含了数据荡涤、整合、转换、加载等各个进程.如果说数据仓库是一座大厦,那么ETL就是大厦的基础.ETL抽取整合数据的好坏直接影响到终极的成果展示.所以ETL在整个数据仓库项目中起着十分要害的作用,必需摆到非常主要的地位.ETL是数据抽取(Extract)、转换(Transform)、加载

12、(Load)的简写,它是指:将OLTP体系中的数据抽掏出来,并将不同数据源的数据进行转换和整合,得出一致性的数据,而后加载到数据仓库中.例如:下图就向我们展现了ETL的数据转换后果.(图七:pic7.bmp)那么,在这一转换过程中,我们就实现了对数据格局的更正、对数据字段的合并、以及新增指标的计算三项操作.相似地,我们也可以依据其余需求,完美数据仓库中的数据.简而言之,通过ETL,我们可以基于源系统中的数据来天生数据仓库.ETL为我们搭建了OLTP系统和OLAP系统之间的桥梁.五、项目实际技能(一)、准备区的运用在构建数据仓库时,如果数据源位于一台服务器上,数据仓库在另一台服务器端,考虑到数据

13、源Server端访问频繁,并且数据量大,啤酒知识,需要一直更新,所以可以建立预备区数据库(图八:pic8.bmp).先将数据抽取到准备区中,然后基于筹备区中的数据进行处理,这样处理的利益是避免了在原OLTP系统中频繁拜访,进行数据运算或排序等操作.例如我们可以按照天将数据抽取到准备区中,基于数据准备区,我们将进行数据的转换、整合、将不同数据源的数据进行一致性处理.数据准备区中将存在原始抽取表、转换中间表和常设表以及ETL日志表等.(二)、时间戳的运用时间维度对某一事实主题来说十分重要,由于不同的时间有不同的统计数据信息,那么依照时间记录的信息将施展很重要的作用.在ETL中,时间戳有其特别的作用

14、,在上面提到的缓慢变化维度中,我们可以使用时间戳标识维度成员;在记录数据库和数据仓库的操作时,我们也将使用时间戳标识信息.例如:在进行数据抽取时,我们将按照时间戳对OLTP系统中的数据进行抽取,比方在午夜0:00取前一天的数据,我们将按照OLTP系统中的时间戳取GETDATE到GETDATE减一天,这样得到前一天数据.(三)、日志表的运用在对数据进行处理时,未免会发生数据处理毛病,发生出错信息,那么我们如何取得出错信息并及时修正呢?办法是我们使用一张或多张Log日志表,将出错信息记录下来,在日志表中我们将记录每次抽取的条数、处理胜利的条数、处理失败的条数、处理失败的数据、处理时间等等.这样,当

15、数据产生过错时,我们很轻易发现问题所在,然后对犯错的数据进行修改或从新处理.(四)、使用调度在对数据仓库进行增量更新时必须使用调度(图九:pic9.bmp),即对事实数据表进行增量更新处理.在使用调度前要考虑到事实数据量,确定需要多长时间更新一次.比如生机按天进行查看,那么我们最好按天进行抽取,如果数据量不大,可以按照月或半年对数据进行更新.如果有缓慢变化维度情况,调度时需要考虑到维度表更新情况,在更新事实数据表之前要先更新维度表.调度是数据仓库的关键环节,要考虑周密.在ETL的流程搭建好后,皮肤保健,要按期对其运行,所以调度是履行ETL流程的关键步骤.每一次调度除了写入Log日志表的数据处理

16、信息外,还要使用发送Email或报警服务等,这样也方便的技巧职员对ETL流程的掌握,加强了保险性和数据处理的正确性.五、总结构建企业级数据仓库需要简略的五步,控制了这五步的方法,我们可以构建一个强盛的数据仓库.然而,每一步都有很深的内容需要研讨与发掘,尤其在实际项目中,我们要综合考虑.例如:如果数据源的脏数据良多,在搭建数据仓库之前我们首先要进行数据清洗,以剔除掉不需要的信息和脏数据.ETL是OLTP系统和OLAP系统之间的桥梁,是数据从源系统流入数据仓库的通道.在数据仓库的项目实行中,它关系到整个项目的数据品质,所以马虎不得,必须将其摆到重要位置,将数据仓库这一大厦的根基筑牢!(赛迪网)ASP.NET专用主机,90天免费试用视觉中国的NoSQL之路:从MySQL到MongoDB加入我们,一起建设博客园学技巧,酒类知识大全,享培训补助;获证书,落上海户口基于Web浏览器的甘特图解决计划博客园程序员技术问答平台程序员学好英语有绝招!沪ICP备09004260号

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!