转眼,从事电信行业BI/DW已经有三年时间了,一直想写点东西,给大家共同分享,感谢ERP 100给我了一个展示的平台!连载时间:一周一篇连载提纲:第一篇数据仓库建设目标、系统规模及项目面临的技术挑战第二篇选择数据仓库平台的考虑第三篇选择Oracle产品的原因第四篇系统现状分析、DW数据仓库建设原则及整体规划的实现第五篇整体规划的实现、新增应用优先级的确定及螺旋式建设方法第六篇数据仓库的效益、成本和风险控制第七篇数据模型设计方法第八篇构建闭环的信息流、数据模型-分层设计、DW中的数据功能划分第九篇数据抽取策略、数据抽取过程管理、对脏数据的管理、数据去重及元数据管理及第十篇典型的应用流程、主题分析及应用推广方法(第一篇)数据仓库建设目标、系统规模及项目面临的技术挑战1 数据仓库项目建设目标:建立统一的数据信息平台,实现客户资料和生产数据的集中存储。
利用先进的数据仓库技术和决策分析技术为市场营销和客户服务工作提供有效的支撑:2 目前系统规模:包含12个月的话单;数据库容量为65TB,其中原始数据为25TB;最大的表包含1800亿话单3 项目面临的技术挑战:数据存储-系统要求存储12-18个月的详单数据;数据装载-按小时装载详单数据,要求每天在8小时内装载5亿条详单;高峰时一个小时装载6500万条详单;在8小时内同时完成1亿7000万个汇总操作数据访问-支持680个并发用户,支持8000个系统用户;5%的预定义查询操作在5秒钟内完成;每秒钟23个查询操作Sina微薄互动地址:/2186879022/zDx5x29Cw感谢大家的参与和鼓励,pathwide的建议很好,下面列举出该连载的计划提纲,如下:连载周期:一周一篇连载提纲:第一篇数据仓库建设目标、系统规模及项目面临的技术挑战第二篇选择数据仓库平台的考虑第三篇选择Oracle产品的原因第四篇系统现状分析、DW数据仓库建设原则及整体规划的实现第五篇整体规划的实现、新增应用优先级的确定及螺旋式建设方法第六篇数据仓库的效益、成本和风险控制第七篇数据模型设计方法第八篇构建闭环的信息流、数据模型-分层设计、DW中的数据功能划分第九篇数据抽取策略、数据抽取过程管理、对脏数据的管理、数据去重及元数据管理及第十篇典型的应用流程、主题分析及应用推广方法希望大家积极参与,共同分享BI/DW的项目经验,同时,有不到位的地方,还请大家多多指正,谢谢!选择数据仓库平台时的考虑4 选择数据仓库平台时的考虑4.1 强大的ETL支持能力-支持按小时的数据装载4.2 高效的数据访问-硬件的支持:多CPU 大内存并发处理分区技术索引技术数据库内置分析能力4.3 高可用性7 * 24小时不间断运行4.4 数据访问每秒钟23到100个并发查询操作; 95%的查询在1秒内完成4.5 数据表分区-混合分区按地区建立列表分区;按时间建立范围分区;4.6 可传输的表空间操作系统文件的直接复制;不需要数据的导入、导出(第三篇)选择Oracle产品的原因:目前主要的数据仓库产品供应商包括Oracle、IBM、Microsoft、SAS、Teradata、Sybase、SAP Business Objects等.在数据仓库系列技术中,主要的支撑技术包括数据库技术、ETL技术、OLAP技术、报表技术、数据挖掘技术.1 数据库技术数据库技术是支撑数据仓库技术的基础技术,在已有的数据仓库实践中,关系数据库仍然是实质的数据库存储工具,只是将数据库表改称为事实表和维表,将属性之间的关系重新定义为维度、指标和事实,维度表和事实表之间的关系模型转化为星型模型、雪花模型等1.1 Oracle数据库优点:a) 关系型数据库 b)可用性、可扩展性及稳定性强 d)数据安全性(支持闪回及完美恢复) e) 高可用性及网络控制2 ETL技术数据仓库系统是集成的、与时间相关的数据集合,ETL作为数据仓库的核心,负责将分布的、异构数据源中的数据进行抽取、清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。
ETL工具的选择上,我们选择的是Oracle 的ODI产品,结合Oracle golden gate组件,实现各种外围系统异构数据库数据的全量和增量抽取。
但就ETL工具的易用性、效率、二次开发、集成和开放性而言,与Informatica公司的Informatica还有一定差距。
3 联机分析处理(OLAP)是针对特定问题的联机数据访问和分析,通过对信息进行快速、稳定、一致和交互式的存取,对数据进行多层次、多阶段的分析处理,以获得高度归纳的分析结果。
联机事务处理(OLTP)已不能满足终端用户对数据库查询分析的需要,SQL对大数据库进行的简单查询也不能满足用户分析的需求。
4 报表技术报表技术主要是将集成在数据模型里的数据,按照复杂的格式、指定行列统计项,计算形成的特殊表格。
一般的简单报表可以使用通用的前台展现技术实现,而复杂的报表则需要使用特定的报表技术。
主流的报表技术都可以灵活的制定各种报表模版库和指标库,并根据每个区块或单元格的需要引用指标,实现一系列复杂的符合要求的报表的自动生成。
数据仓库基本概念第四篇系统现状分析、DW数据仓库建设原则、整体规划的实现4.1 系统现状分析1 各个系统采用不同的平台、数据库(核心系统采用Oracle EBS)2 各个系统缺乏统一的数据标准3 数据采集和集成困难4 多个系统中存在冗余数据4.2 DW数据仓库建设原则1 客户需求驱动-从多种渠道识别客户、实现精确营销及提升客户价值2 实用性-紧密配合业务部门的市场营销活动、客户维系、营销活动管理及新业务开发4.3 DW数据仓库建设方法-整体规划,分部实施1 统一规划:数据模型、数据获取策略及元数据2 分部实施:螺旋递增式建设方法(第五篇)整体规划的实现、新增应用优先级的确定及螺旋式建设方法数据仓库是一个面向主题的、集成的、时变的、非易失的数据集合,支持管理决策制定。
5.1 整体规划的实现- 统一规划1 数据模型2 数据获取策略3 元数据5.2 确定新增应用的优先级5.3 螺旋递增式建设方法1 每次迭代目标明确,快速见效2 滚动投资,每年追加费用是初始投资的15%~20%系统中使用的Oracle关键技术1 可传输的表空间和分区技术实现数据快速装载(一) 详单数据的导出1. 1 把需要传输的数据放在单独的表空间CREATE TABLE temp_jan_salesNOLOGGING TABLESPACE ts_temp_salesAS SELECT * FROM salesWHERE time_id BETWEEN '31-DEC-1999' AND '01-FEB-2000';1.2 导出数据字典EXP TRANSPORT_TABLESPACE = yTABLESPACES = ts_temp_salesFILE = jan_sales.dmp;1.3 复制数据文件和数据字典到数据仓库服务器(二)详单数据的导入1. 4 导入数据字典IMP TRANSPORT_TABLESPACE=yDATAFILES='/db/tempjan.f'TABLESPACES = ts_temp_sales FILE = jan_sales.dmp;1. 5 通过分区交换,将新数据加入目标表1.5 1. ALTER TABLE salesADD PARTITION sales_00janV ALUES LESS THAN (TO_DA TE('01-feb-2000','dd-mon-yyyy'));1.5.2. ALTER TABLE salesEXCHANGE PARTITION sales_00jan WITH TABLE temp_sales_janINCLUDING INDEXES WITH V ALIDATION;(三)系统测试结果1.6.1 数据装载:装载包含5000万条详单的一个分区和2个索引的一个表空间1.6.2 文件传输:4分50秒16.3 数据导入到Oracle数据仓库:瞬时1.6.4 创建索引: 7分50秒1.6.5 预计算及其它运算:14秒1.6.6 合计:32分26秒2 物化视图提高汇总数据的访问性能3 使用Oracle内置的SQL分析函数(第六篇)数据仓库的效益、成本和风险控制6.1 效益:我们通过这个项目的实施获得什么?6.1.1 有形:增加收入、降低成本6.1.2 无形:工作效率提高、企业更“智能化”6.2 成本:为了实现这些效益需要付出什么代价?6.2.1 一次性成本6.2.2 持续性成本6.3 风险:会遇到哪些障碍?回复龙行四海, 具体硬件配置目有需要的朋友,请加QQ好友!谢谢!(第七篇) 数据模型设计方法1.从业务需求出发2.识别各主题分析所需要的数据3.数据探索-分析数据源的数据质量4.找出来自多个系统的公共表统一维护5.建立原子层数据模型6.模型非规范化7.建立访问层数据模型-维度模型数据模型设计方法(第八篇) 构建闭环的信息流、数据模型-分层设计、DW中的数据功能划分数据仓库一般采用分层设计,即ODS层,数据仓库层(DWD),数据仓库聚合层(DW A)和数据集市(DM)等等;数据仓库的分层是灵活的,没有固定的模式,一切视实际情况而定。
数据模型分层设计。