<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont

本文涉及的产品
转发路由器TR,750小时连接 100GB跨地域
简介: 数据仓库建设步骤Posted on 2015-03-04 10:18 xuzhengzhu 阅读(1164) 评论(0) 编辑 收藏1.系统分析,确定主题确定一下几个因素:    ·操作出现的频率,即业务部门每隔多长时间做一次查询分析。

数据仓库建设步骤

Posted on  2015-03-04 10:18  xuzhengzhu 阅读( 1164) 评论( 0编辑  收藏

1.系统分析,确定主题

确定一下几个因素:
    ·操作出现的频率,即业务部门每隔多长时间做一次查询分析。
    ·在系统中需要保存多久的数据,是一年、两年还是五年、十年。
    ·用户查询数据的主要方式,如在时间维度上是按照自然年,还是财政年。
    ·用户所能接受的响应时间是多长、是几秒钟,还是几小时。

2.选择满足数据仓库系统要求的软件平台

选择合适的软件平台,包括数据库、建模工具、分析工具等。有许多因素要考虑,如系统对数据量、响应时间、分析功能的要求等,以下是一些公认的选择标准:
    ·厂商的背景和支持能力,能否提供全方位的技术支持和咨询服务。
    ·数据库对大数据量(TB级)的支持能力。
    ·数据库是否支持并行操作。
    ·能否提供数据仓库的建模工具,是否支持对元数据的管理。
    ·能否提供支持大数据量的数据加载、转换、传输工具(ETT)。
    ·能否提供完整的决策支持工具集,满足数据仓库中各类用户的需要。

3.建立数据仓库的逻辑模型

具体步骤如下:
    (1)确定建立数据仓库逻辑模型的基本方法。
    (2)基于主题视图,把主题视图中的数据定义转到逻辑数据模型中。
    (3)识别主题之间的关系。
    (4)分解多对多的关系。
    (5)用范式理论检验逻辑数据模型。
    (6)由用户审核逻辑数据模型。

4.逻辑数据模型转化为数据仓库数据模型

具体步骤如下:
    (1)删除非战略性数据:数据仓库模型中不需要包含逻辑数据模型中的全部数据项,某些用于操作处理的数据项要删除。
    (2)增加时间主键:数据仓库中的数据一定是时间的快照,因此必须增加时间主键。
    (3)增加派生数据:对于用户经常需要分析的数据,或者为了提高性能,可以增加派生数据。
    (4)加入不同级别粒度的汇总数据:数据粒度代表数据细化程度,粒度越大,数据的汇总程度越高。粒度是数据仓库设计的一个重要因素,它直接影响到驻留在数据仓库中的数据量和可以执行的查询类型。显然,粒度级别越低,则支持的查询越多;反之,能支持的查询就有限。

5.数据仓库数据模型优化

数据仓库设计时,性能是一项主要考虑因素。在数据仓库建成后,也需要经常对其性能进行监控,并随着需求和数据量的变更进行调整。
优化数据仓库设计的主要方法是:
    ·合并不同的数据表。
    ·通过增加汇总表避免数据的动态汇总。
    ·通过冗余字段减少表连接的数量,不要超过3~5个。
    ·用ID代码而不是描述信息作为键值。
    ·对数据表做分区。

6.数据清洗转换和传输

由于业务系统所使用的软硬件平台不同,编码方法不同,业务系统中的数据在加载到数据仓库之前,必须进行数据的清洗和转换,保证数据仓库中数据的一致性。
    在设计数据仓库的数据加载方案时,必须考虑以下几项要求:
    ·加载方案必须能够支持访问不同的数据库和文件系统。
    ·数据的清洗、转换和传输必须满足时间要求,能够在规定的时间范围内完成。
    ·支持各种转换方法,各种转换方法可以构成一个工作流。
    ·支持增量加载,只把自上一次加载以来变化的数据加载到数据仓库

7.开发数据仓库的分析应用

建立数据仓库的最终目的是为业务部门提供决策支持能力,必须为业务部门选择合适的工具实现其对数据仓库中的数据进行分析的要求。
    信息部门所选择的开发工具必须能够:
    ·满足用户的全部分析功能要求。数据仓库中的用户包括了企业中各个业务部门,他们的业务不同,要求的分析功能也不同。如有的用户只是简单的分析报表,有些用户则要求做预测和趋势分析。
    ·提供灵活的表现方式。分析的结果必须能够以直观、灵活的方式表现,支持复杂的图表。使用方式上,可以是客户机/服务器方式,也可以是浏览器方式。
    事实上,没有一种工具能够满足数据仓库的全部分析功能需求,一个完整的数据仓库系统的功能可能是由多种工具来实现,因此必须考虑多个工具之间的接口和集成性问题,对于用户来说,希望看到的是一致的界面。

8.数据仓库的管理

只重视数据仓库的建立,而忽视数据仓库的管理必然导致数据仓库项目的失败。数据仓库管理主要包括数据库管理和元数据管理。
    数据库管理需要考以下几个方面:
    ·安全性管理。数据仓库中的用户只能访问到他的授权范围内的数据,数据在传输过程中的加密策略。
    ·数据仓库的备份和恢复。数据仓库的大小和备份的频率直接影响到备份策略。
    ·如何保证数据仓库系统的可用性,硬件还是软件方法。
    ·数据老化。设计数据仓库中数据的存放时间周期和对过期数据的老化方法,如历史数据只保存汇总数据,当年数据保存详细记录。
    然而,元数据管理贯穿于整个系统的建设过程中,元数据是描述数据的数据。在数据采集阶段,元数据主要包括下列信息:
       ·源数据的描述定义:类型、位置、结构。
       ·数据转换规则:编码规则、行业标准。
       ·目标数据仓库的模型描述:星型/雪花模型定义,维/事实结构定义。
       ·源数据到目标数据仓库的映射关系:函数/表达式定义。
       ·代码:生成转换程序、自动加载程序等。
    在数据管理阶段,元数据主要包括下列信息:
    ·汇总数据的描述:汇总/聚合层次、物化视图结构定义。
    ·历史数据存储规则:位置、存储粒度。
    ·多维数据结构描述:立方体定义、维结构、度量值、钻取层次定义等。
       在数据展现阶段,元数据主要包括以下信息:
       ·报表的描述:报表结构的定义。
       ·统计函数的描述:各类统计分析函数的定义。
       ·结果输出的描述:图、表输出的定义。
    元数据不但是独立存放,而且对用户是透明的,标准元数据之间可以互相转换

目录
相关文章
|
Java Apache
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
hbase从集群中有8台regionserver服务器,已稳定运行了5个多月,8月15号,发现集群中4个datanode进程死了,经查原因是内存 outofMemory了(因为这几台机器上部署了spark,给spark开的...
814 0
|
Web App开发 前端开发
|
Web App开发 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
Found lingering reference异常 ERROR: Found lingering reference file hdfs://jiujiang1:9000/hbase/month_hotstatic/...
729 0
|
Web App开发 前端开发 Java
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
java链接MongoDB处理大量数据时经常碰到cursor not found 的异常,其实是超时所致 Exception in thread "main" com.
834 0
|
Web App开发 监控 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
负载均衡: LVS(Layer 4), HAProxy(Layer 4、 7),Nginx(Layer 7) 虚拟化: LXC、KVM、Xen HA:Keepalived、Heartbeat 分布式缓存...
764 0
|
Web App开发 监控 前端开发
|
Web App开发 前端开发 Java
|
Web App开发 前端开发 算法
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
import java.util.LinkedHashMap;import java.util.Map; /** * LRU (Least Recently Used)  */public class LRUCache e...
635 0
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
概述 HDFS中的集中化缓存管理是一个明确的缓存机制,它允许用户指定要缓存的HDFS路径。NameNode会和保存着所需快数据的所有DataNode通信,并指导他们把块数据缓存在off-heap缓存中。
713 0
|
Web App开发 前端开发 数据库
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
数据仓库建模:定义事实表的粒度Posted on 2015-08-25 09:03 xuzhengzhu 阅读(28) 评论(0) 编辑 收藏 维度建模中一个非常重要的步骤是定义事实表的粒度。
701 0