首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 冲浪宝典 > 网络资源 > Oracle的数据仓库方案
【标  题】:Oracle的数据仓库方案
【关键字】:Oracle
【来  源】:http://blog.csdn.net/edeed/archive/2007/04/05/1552870.aspx

Oracle的数据仓库方案

给某一运营商的增值业务系统做过一个数据仓库子系统,基于oracle9i,当时的一些记录,以备将来查验!


Oracle的数据仓库方案构件如下:
1、Oracle 9i中的insert all, merge等超强的语句
2、Cube的支持,在安装OLAP组件之后,包括MIEW的Query Rewrite
3、Oracle 9i中集成了以前的 Express Server

抽取工具用pl/sql + external table + sqlldr来实现
展现工具用Discovery, Reports 或其他工具来做

对于每天同步一次的只要网络还可以的,建议还是用exp/ftp/check/imp.其实可以将exp的文件分成多个小文件,防止因为网络的问题导致大量数据的重传。在ftp的client和server端分别写个shell然后利用cron job来调用,应该就ok了。

快照+触发器+存储过程

dw由于多数是只读的,所以工作于非归档,不用做联机备份

DWA 关注与存贮和设计和实施, 由于 DW 在实际的实施的时候一般都可能要分为 ODS/DW/OLAP 等等, 必须考虑导每一个部分的数据存储的时间和备份的方案,同时由于数据仓库中数据量很大,并且由很多的重复数据,在定备份方案上一定需要确定一个时间窗口, 还有数据导入的时间窗口也是非常重要的。

物理存储的空间规划[HA、RAID、硬件存储的划分]、逻辑建模[PD、ERwin等]、ETL技术[DS、INFORMATICA等]、沉淀数据的存储管理[DBA]、前端展现工具[cognos、brio等,还要一定的数理分析知识]。当然了,做好DW项目的前提还有泥必须很熟悉这个行业的业务及需求。

使用ftp传输, 使用external table load, 再使用merge整合数据

1、最主要的是db_block_size的大小设置不同,DW的要比OLTP的大些;另外还有一个buffer大小设置不同(印象中是large_pool),也是DW的要相应大些。

使用位图索引,存储更为有效,与B*Tree索引比较起来,只需要更少的存储空间,这样每次读取可以读到更多的记录,而且与B*Tree索引相比,位图索引将比较,连接和聚集都变成了位算术运算,大大减少了运行时间,从而得到性能上的极大的提升。在事实表的外键列上建立位图索引,查询首先访问事实表,然后才是维表的连接。在事实表上返回的结果将减少,而不是对所有的可能的维表属性进行笛卡尔积运算,所以极为有效。
*如果要使用位图索引,初始化参数STAR_TRANSFORMATION_ENABLED应该设置为
     TRUE.
* 优化模式应该是CBO。对于数据仓库的环境中,总是应该考虑使用CBO(COST-BASED  
     OPTIMIZER)。
*位图索引应该建立在每一个事实表的外键列上。(这只是一个一般的规则.)

1、数据仓库中的外键等约束主要是为数据库提供元数据让优化器使用的,保证数据一致性的工作应该在ETL中完成。
2、数据装载的时候最好是把所有约束禁用,把索引去掉,完了再启用约束和重建索引,这样会快好多(加快数据加载的问题我推荐过一篇文章http://www.cnoug.org/viewthread.php?tid=26155)。
3、我不你明白,你说维表加载不成功,fact表的一部分数据也要加载吗,那不会得出错误的统计结果吗,或者因为没有维度数据fact表中的数据通过关联会被过滤掉?我的做法是如果出现加载不成功时根据情况的不同给管理员发送警告或者重新加载数据(可能需要人工干预)。

分区(hash分区和range分区)
CUBE和ROLLUP
   位图化索引(Bitmapped index)

 
数据仓库学习笔记:【上一篇】
BO6.5和DIXI的安装和部署:【下一篇】
【相关文章】
  • oracle命名规范与保留字介绍!
  • Oracle的初学者入门心得
  • Oracle数据库的备份及恢复策略研究
  • 如何实现Oracle9iRealease2的全文检索
  • SQL与Oracle、DB2的性能比较
  • Oracle数据文件损坏怎样打开数据库
  • The way to create oracle synonyms
  • Oracle初学入门
  • oracle segment(1)
  • Oracle 几个服务各代表什么作用?
  • 【随机文章】
  • 对于关键字Ref和Out的理解
  • ibatis打印出底层执行的所有 Sql
  • 常量综述(一)
  • 程序员就算是民工又怎么了
  • PF_PACKET 相关基础知识(转贴)
  • 客户生命周期模式研究(下)(陈明亮)
  • 琴瑟和鸣--让同一项目在NetBeans和Eclipse平台下和谐相处,协同开发
  • Unix标准加密方法(2)
  • 深圳市ip 城域网组网方案(22)
  • 实现有效知识共享的关键——转变企业文化
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.