《数据仓库系统的设计及开发》由会员分享,可在线阅读,更多相关《数据仓库系统的设计及开发(109页珍藏版)》请在金锄头文库上搜索。
1、数据数据仓库仓库系系统统的的设计设计及开及开发发2024年7月27日22.3.数据仓库设计数据建模最佳实践构建高性能的数据仓库数据仓库设计ETL设计数据仓库设计建模过程日程安排日程安排数据仓库设计界面设计数据仓库的开发应用过程2024年7月27日33.3.灵活性灵活性灵活性灵活性1)能够很好的分离出底层技术的实现和上层业务的展现2)当上层业务发生变化时,通过数据模型,底层技术实现可以较为轻松的完成业务的变动,从而达到整个数据仓库系统的灵活性1.1.业务业务核理改善核理改善核理改善核理改善业务业务流程流程流程流程1)能够全面了解业务系统的业务架构图和整个业务运行情况2)能够将业务按照特定的规律进
2、行分门别类和程序化2.2.解决信息孤解决信息孤解决信息孤解决信息孤岛岛及数据差异及数据差异及数据差异及数据差异1)建立全方法的数据视角;2)保证整个企业的数据的一致性;3)消除各个部门之间的信息孤岛;4.4.加快数据加快数据加快数据加快数据仓库仓库系系系系统统的建的建的建的建设设1)1)开开发发人人员员和和业务业务人人员员能能够够很容易达成系很容易达成系统统建建设设范范围围的的边边界的界定界的界定2)2)能能够够使整个使整个项项目目组组明确当前的任明确当前的任务务,加快整,加快整个系个系统统建建设设的速度的速度为什么需要数据模型什么需要数据模型2024年7月27日4数据数据仓库建模人建模人员所
3、需的技能和能力所需的技能和能力分析能力见树又见林模拟论证学习能力抽象综合交流能力组交互演示调查访谈原型设计能力企业体系架构2024年7月27日5数据数据仓库设计建模的要点和原建模的要点和原则建模原则选择创建什么模型对如何动手解决问题和如何解决方案有深远影响每一种模型可以在不同的精度级别上表示最好的模型是与现实相联系单个模型不充分,需要一组模型去处理建模的要点正确认识建模方法论2024年7月27日6利用利用图形来建立数据模型形来建立数据模型图形具有直观性、简单性以及可理解性等优点图形能自然地表达客观世界理解图中路径探索2024年7月27日7什么是数据模型什么是数据模型业务建模,生成业务模型,主要
4、解决业务层面的分解和程序化。领域建模,生成概念模型,主要是对业务模型进行抽象处理,生成领域概念模型。逻辑建模,生成逻辑模型,主要是将领域模型的概念实体以及实体之间的关系进行数据库层次的逻辑化。物理建模,生成物理模型,主要解决,逻辑模型针对不同关系型数据库的物理化以及性能等一些具体的技术问题。2024年7月27日8思考思考需求建模与业务建模需求建模与业务建模谁先谁后?软件开发过程是否应该是:业务调研,业务建模(业务分析),(业务模型分析)需求调研(这时,已经有一部分需求可从业务模型中获得),需求建模,需求分析2024年7月27日9业务建模建模组织结构分析构分析组织结构构,用用户及及权限的分析限的
5、分析客户组织结构的分析n公司组织机构n区域位置n集团/省/地市用户的分析n用户n组n角色权限的分析n功能权限分析n数据权限分析2024年7月27日1027七月202411例:三大运营商的组织架构调整2024年7月27日12业务建模建模业务流程分析流程分析什么是什么是业务流程流程2024年7月27日13业务流程分析的内容流程分析的内容(1)原有流程的分析。(2)业务流程的优化。(3)确定新的业务流程(4)新系统的人机界面。2024年7月27日14业务流程分析的步流程分析的步骤1.系统环境调查2.组织机构和职责的调查3.功能体系的调查与分析4.管理业务流程的调查与分析2024年7月27日15案例学
6、案例学习:新新业务客客户服服务业务流程流程新新业务查询流程流程2024年7月27日16业务流程可以代替流程可以代替业务建模建模吗在业务流程的背后,有一个更加根本的因素商业需求。商业需求才是真正的业务模型,业务流程只是一种实现手段而已。例:新用户入网业务流程:1:首先把SIM卡和号码在交换网络上做对应关系的注册;2:市场部把SIM卡存入一定的金额,发给销售商,收取销售商的货款;3:销售商把卡卖给用户,用户填写入网合同,SIM装入手机可以立即通话;4:销售商把入网合同交给市场部,市场部资料录入人员将用户的资料录入系统;5:计费系统按照用户选择的资费对话单进行计费;6、市场部按照用户的消费情况给销售
7、商计算佣金和返利。思考:真正的业务模型(需求)是什么?2024年7月27日17从从业务流程中提取概念和流程中提取概念和逻辑模型模型心得体会:看到背后的商业需求,你会发现模型原来非常稳定不需要急于知道所有的细节性的需求,只要了解比较重要的20的需求2024年7月27日182024年7月27日19数据数据仓库数据模型数据模型-星型模型与雪花模型星型模型与雪花模型2024年7月27日20数据数据仓库建模的原建模的原则兼兼兼兼顾顾效率与数据粒度的需要效率与数据粒度的需要效率与数据粒度的需要效率与数据粒度的需要1 1支持需求的支持需求的支持需求的支持需求的变变化化化化2 2避免避免避免避免对业务对业务运
8、运运运营营系系系系统统造成影响造成影响造成影响造成影响3 3满满足不同用足不同用足不同用足不同用户户的需要的需要的需要的需要4 4考考考考虑虑末来的可末来的可末来的可末来的可扩扩展性展性展性展性5 52024年7月27日21数据数据仓库建模的三个建模的三个阶段段概念模型概念模型设计(Concept Data Modeling):这一阶段之前的首要工作是通过需求分析,明确需求所涵盖的业务范围。然后再对需求范围内的业务及其间关系进行高度概括性的描述,把密切相关业务对象进行归类,即划分主题域。概念模型的设计是为逻辑模型的设计做准备,它没有统一的标准,主要根据设计者的经验。逻辑模型模型设计(Logic
9、al Data Modeling):分别对概念模型的各个主题域进行细化,根据业务定义、分类和规则,定义其中的实体并描述实体之间的关系,并产生实体关系图(ERD),然后遵照规范化思想在实体关系的基础上明确各个实体的属性。实体产生于中国移动开展的业务、服务及其涉及的对象(如客户、帐户、员工、机构、资源),实体间的对应、约束关系则来自于各业务过程中的规则。可以说,这一阶段面对的是业务。物理模型物理模型设计(Physical Data Modeling):n物理模型设计主要依据逻辑模型针对具体的分析需求和物理平台采取相应的优化策略。此时会在一定程度上增加数据冗余或者隐藏实体之间的关系或者进行实体的合并
10、和拆分,目的是提高数据分析的速度,适应具体数据库的容量、性能等限制。可以说,这一阶段面对的是具体软硬件平台和性能要求。n一旦逻辑模型到位,物理模型就有了可参照的依据,开发工作内容也同时得到明确。n物理模型设计一般在架构设计阶段2024年7月27日22数据数据仓库系系统所采用的建模流程所采用的建模流程概念模型为逻辑模型的设计作准备,没有统一标准,主要根据设计者经验逻辑模型对概念模型的各个主题域进行细化,根据业务定义、分类和规则,定义其中的实体并描述实体之间的关系,并产生实体关系图(ERD)一旦逻辑模型到位,物理模型就有了可参照的依据,开发工作内容也同时得到明确2024年7月27日23数据数据仓库
11、概念模型概念模型主主题域的域的设计DW主题的划分必须是基于需求的主题划分,而不仅仅是基于已有查询和报表数据的主题划分DW主题是通过对业务人员的访谈,充分了解业务流程和信息使用需求为主要根源的DW主题的设计必须能够满足业务人员的内在的分析需求DW主题设计的过程中,业务环节点分析是关键DW细化分析主题,解决指标的歧义问题,为模型设计、数据提取、数据展现等多个方面奠定基础2024年7月27日24数据数据仓库的数据模型的数据模型系统记录域(SystemofRecord):这部分是主要的数据仓库业务数据存储区,数据模型在这里保证了数据的一致性。内部管理域(Housekeeping):这部分主要存储数据仓
12、库用于内部管理的元数据,数据模型在这里能够帮助进行统一的元数据的管理。汇总域(SummaryofArea):这部分数据来自于系统记录域的汇总,数据模型在这里保证了分析域的主题分析的性能,满足了部分的报表查询。分析域(AnalysisArea):这部分数据模型主要用于各个业务部分的具体的主题业务分析。这部分数据模型可以单独存储在相应的数据集市中。反馈域(FeedbackArea):可选项,这部分数据模型主要用于相应前端的反馈数据,数据仓库可以视业务的需要设置这一区域。2024年7月27日25数据模型的技术功能结构划分 分段存储区(StagingArea)是为了保证数据移动的顺利进行而开设的阶段性
13、数据存储空间,它是业务系统原始数据进入数据仓库前的缓存区。基础数据仓库根据业务需求的不同,基础数据仓库的组织形式以三范式模型为主,在有的系统中也可能采用星型或雪花模型。数据集市(DataMart)数据集市中的数据通常由基础数据仓库的详细数据聚合而来,根据数据聚合程度的不同包含轻度聚合、中度聚合和高度聚合三种不同的层次。汇总的方式将依据数据量的大小和使用频度综合考虑2024年7月27日26数据数据仓库的模型的模型关系模型关系模型2024年7月27日27数据数据仓库的模型的模型星型模型星型模型通过数据预连接和建立有选择的数据冗余,设计者为访问和分析过程大大简化了数据。星型连接应用于设计数据仓库中很
14、大的实体,而数据模型则应用于数据仓库中较小的实体。2024年7月27日28数据数据仓库的模型的模型雪花模型雪花模型许多维度存在着比较复杂的结构,它们有的还具有多层的层次结构。因此,很难将这样的维表只采用一个关系表的形式表达出来,必须将这些维表规范成有多个外键关联的关系表2024年7月27日29星型模型星型模型 VS 雪花模型雪花模型比较项目比较项目优点优点缺点缺点星型模式1.查询效率高,事实表作连接时其速度较快;2.便于用户理解。比较直观,通过分析星形模式,很容易组合出各种查询增加了存储空间雪花模式1.在一定程度上减少了存储空间2.规范化的结构更容易更新和维护1.比较复杂,用户不容易理解;2.
15、浏览内容相对困难3.额外的连接将使查询性能下降2024年7月27日30宽表表横表与纵表处理方便性与业务支撑灵活性的差异宽表在横表的基础上拓展,强化处理方便性开放给业务人员使用,直接解决业务问题单条记录包括用户基本信息、产品选择和使用量、费用信息2024年7月27日31数据数据仓库建模方法建模方法范式建模法范式建模法优点:从关系型数据库的角度出发,结合了业务系统的数据模型,能够比较方便的实现数据仓库的建模缺点:在某些时候反而限制了整个数据仓库模型的灵活性,性能等2024年7月27日32数据数据仓库建模方法建模方法维度建模法度建模法优点:维度建模非常直观,紧紧围绕着业务模型,可以直观的反映出业务模
16、型中的业务问题缺点:如果只是依靠单纯的维度建模,不能保证数据来源的一致性和准确性2024年7月27日33数据数据仓库建模方法建模方法实体建模法体建模法优点:能够很轻松的实现业务模型的划分,因此,在业务建模阶段和领域概念建模阶段,实体建模法有着广泛的应用缺点:不太适用于物理建模2024年7月27日34数据数据仓库建模的十大戒律建模的十大戒律1)必须回答紧迫的问题;2)必须有正确的事实表;3)将有正确的维表,描述必须按最终用户的业务术语表达;4)必须理解数据仓库所影响的公司过程或影响数据仓库的公司过程;5)对于事实表,应该有正确的“粒度”;6)根据需要存储正确长度的公司历史数据;7)以一种对于公司
17、有意义的方式来集成所有必要的数据;8)创建必要的总结表;9)创建必要的索引;10)能够加载数据仓库数据库并使它以一种适宜的方式可用。2024年7月27日35数据数据仓库缓慢慢变化化维的一个案例的一个案例一个案例在一个零售业数据仓库中,事实表保存着各销售人员的销售记录,某天一个销售人员从北京分公司调到上海分公司了,那么如何来保存这个变化呢?也就是说销售人员维度要怎么恰当的处理这一变化。如果我们要统计北京地区或上海地区的总销售情况的时候,这个销售人员的销售记录应该算在北京还是算在上海?当然是调离前的算在北京,调离后的算在上海,但是如标记这个销售人员所属区域?这里就需要处理一下这个维度的数据,即我们
18、缓慢变化维需要做的事情。2024年7月27日36数据数据仓库缓慢慢变化化维的解决方案的解决方案新数据覆盖旧数据保存多条记录,并添加字段加以区分添加记录的生效日期和失效日期来标识新旧数据不同字段保存不同值,这种方法用不同的字段保存变化痕迹.但是这种方法不能象第二种方法一样保存所有变化记录,它只能保存两次变化记录.适用于变化不超过两次的维度。另外建表保存历史记录,而维度只保存当前数据混合模式2024年7月27日37数据数据仓库建模建模_案例案例2024年7月27日38案例:怎案例:怎样构建数据构建数据仓库模型模型确定主题域确定主题域及各主题域之间的关系确定主题域的业务数据确定业务数据中的业务实体确
19、定业务实体之间的关系确定物理模型2024年7月27日39确定确定主主题域及各主域及各主题域之域之间的关系的关系服务通过网络实现/网络支持服务网络产生事件/事件包括网络类产品被销售给客户/参与人使用和管理产品跟踪应付&应收/提供成本&收入历史事件包含财务类参与人产生和经历事件/事件包括参与人的产品/服务产生事件事件包括产品类营销产生事件事件实现营销营销被锁定位置/位置定位营销针对特定产品/产品通过营销推向市场为参与人建立帐户、帐单/记录帐户、成本和付款服务使用的帐务信息/帐务记录产品的成本和付款定位网络/网络支持的位置营销的目标针对参与人/参与人是营销的受众包括消费者和运营商在内/位置定位Fin
20、ance Management(财务管理)管理)BILLING(帐务)NETWORK(网(网络资源)源)PRODUCT(产品)品)MARKETING(市(市场营销)LOCATION(地域)(地域)PARTY(参与人)(参与人)EVENT(事件事件)跟踪总帐/负责2024年7月27日40基基 本本 结 构构特特 征征奖 励励隐 私私确定主确定主题域的域的业务数据数据2024年7月27日41参与人参与人间关关联 参与人角色参与人角色组织层次次结构构层次次结构构级别层次次结构构类型型商商业组织内部内部组织标准分准分类代代码确定基本确定基本结构构业务数据的数据的业务实体及关系体及关系参与人:和参与人:
21、和电信运信运营商有商有着着业务联系的任何个人、系的任何个人、组织机构、家庭和虚机构、家庭和虚拟客客户 。例:例:财务市市场营销场营销网管网管例:例:客客户潜在客潜在客户电信运信运营商商代理商代理商供供应商商管理者管理者雇主雇主职工工个人个人家庭家庭组织参参 与与 人人2024年7月27日42特征特征符合程度符合程度特征特征类别值客客 户 特特 征征帐 户 特特 征征特特 征征 类 别例:例:个人喜好个人喜好信用信用类信息信息家庭家庭类信息信息教育教育类信息信息职业类信息信息机构机构类信息信息 例:例:信用等信用等级职业状状态收入收入子女数子女数教育程度教育程度特特 征征 分分 组完全符合完全符
22、合部分符合部分符合不符合不符合确定特征确定特征业务数据中的数据中的业务实体及关系体及关系2024年7月27日43奖励励计划管理划管理参与人角色参与人角色奖励目励目标客客户群群目目 标 群群奖 励励 等等 级奖 励励 类 型型参与人参与人奖励励历史史记录奖 励励 计 划划奖励励计划:划:记录电信信运运营商向客商向客户提供提供奖励和回励和回报的的历史。史。确定确定奖励励业务数据中的数据中的业务实体及关系体及关系2024年7月27日44隐私信息私信息类别同意周期同意周期组织隐私私策略信息策略信息参与人参与人帐户隐私信息私信息帐户同意同意等等级信息信息参与人同意参与人同意等等级信息信息参与人参与人隐私
23、信息私信息隐私信息私信息类别确定确定隐私私业务数据中的数据中的业务实体及关系体及关系2024年7月27日45业务系系统与与数据数据仓库模型的模型的映射映射2024年7月27日46数据数据仓库建模建模_案例案例实践践国内社保行业背景2024年7月27日47n目前我们国家的社保主要分为养老,失业,工伤,生育,医疗保险和劳动力市场这 6 大块主要业务领域。n在这 6 大业务领域中,目前的状况养老和事业的系统已经基本完善,已经有一部分数据开始联网检测。n对于工伤,生育,医疗和劳动力市场这一块业务,有些地方发展的比较成熟,而有些地方还不够成熟。?请大家思考并简单描述社保行业的数据仓库模型:大致的业务模型
24、大致的概念模型社保行社保行业数据数据仓库业务模型模型2024年7月27日48社保行社保行业数据数据仓库领域概念模型域概念模型2024年7月27日49社保行社保行业数据数据仓库逻辑模型模型2024年7月27日50通过领域概念模型细化逻辑模型每一个抽象的实体,例如:“人”的属性包括年龄,性别,受教育程度等等。各个抽象实体间的联系。例如:对于养老金征缴这个“事件”的属性得考虑,对于失业劳动者培训这个“事件”的属性得考虑等等。找出抽象事件的关系,并对其进行说明。例如:对于“事件”中的地域,事件等因素的考量等等。建议:可以参考3NF的建模方法,表达出实体的属性,以及实体与实体之间的联系。例如:在这个阶段
25、,我们可以通过采用ERWIN等建模工具等作出符合3NF的关系型数据模型来。社保行社保行业数据数据仓库物理模型物理模型2024年7月27日51完成物理模型生成创建表的脚本。不同的数据仓库平台可能生成不同的脚本。针对数据集市的需要,按照维度建模的方法,生成一些事实表,维表等工作。针对数据仓库的ETL车和元数据管理的需要,生成一些数据仓库维护的表,例如:日志表等。注:根据根据业务实际的需要和自己的需要和自己对抽象能力的把握来抽象能力的把握来创建适合建适合自己的数据模型自己的数据模型2024年7月27日52总结: 数据数据仓库建模需注意的几个建模需注意的几个问题数据粒度和数据组织维和度量的唯一性和公用
26、性数据粒度一旦变粗,就要考虑多个主题的融合汇总不论如何归并,需要保持数据之间的联系对ODS中的各个主题的事实数据进行时间上的汇总把包含细节过多的交易记录进行拆分汇总、再汇总2024年7月27日532.3.数据仓库数据模型星形与雪花最佳实践构建高性能的数据仓库数据仓库设计ETL设计数据仓库设计建模过程日程安排日程安排数据仓库设计界面设计数据仓库的开发应用过程2024年7月27日54ETL 数据数据转换过程的功能模程的功能模块设计 ETL数据转换操作大致可以分为6个组或模块:数据的提取、验证、清理、集成、聚集和装入。2024年7月27日55ETL的的设计要点要点(1)ETL的设计一定是针对具体的应
27、用相关的,针对不同的业务和分析模型有不同的抽取要求在设计过程中需要考虑是否需要预留字段,增加属性等等数据的粒度,在同一CUBE中必须统一数据周期的确定,在设计ETL时需要事先确定抽取的时间抽取的方式尽量采用增量的抽取以减小每次抽取的数量数据流和工作流的考虑2024年7月27日56ETL的的设计要点要点(2)流程的异常处理ETL的调整,运行管理以及监控针对业务的需求进行ETL的配置和设置界面ETL对CUBE的管理ETL装载数据初始化的过程程序具有自修复功能2024年7月27日57确定确定ETL的抽取及加的抽取及加载策略策略抽取策略-每日增量-每日全量-每月增量-每月全量抽取策略-全表覆盖-历史加
28、载-直接追加-主表加载-初始加载-其它加载2024年7月27日58ETL Mapping 实体映射表体映射表2024年7月27日59确定确定ETL接口需求接口需求系统和任何其他外部系统或组件进行交互相关需求接口一般由系统间的传输方式、传输协议、传输过程、接口处理模式、抽取周期、编码原则、命名规则、验证方式和数据单元等组成2024年7月27日60确定确定ETL接口的接口的实现方式方式2024年7月27日61确定确定ETL接口的数据要求及保障接口的数据要求及保障2024年7月27日62确定确定ETL接口文件的格式接口文件的格式2024年7月27日63确定确定ETL接口文件的内容接口文件的内容202
29、4年7月27日64确定确定ETL接口接口单元元2024年7月27日65ETL接口数据接口数据处理流程理流程2024年7月27日66ETL接口出接口出错处理理接口处理重传机制1、经营分析系统方校验数据源内容后把出错记录放入“出错记录文件存放目录”2、数据源厂商定时查阅此目录,分析错误原因,并采取纠正措施例如:重新传送此数据项文件。具体的实现方式需双方协定。大数据文件分拆机制只要是增量抽取的,原则上不考虑分拆,对于GSM清单和普通短信清单,数据量很大,考虑分拆成12个数据文件,每2小时一个。2024年7月27日67案例学案例学习2024年7月27日682.3.数据仓库数据模型星形与雪花BI项目设计
30、开发的最佳实践数据仓库设计ETL设计数据仓库设计建模过程日程安排日程安排数据仓库设计界面设计数据仓库的开发应用过程2024年7月27日69确定界面元素确定界面元素界面主颜色字体颜色及大小界面布局界面交互方式界面功能分布界面输入输出模式2024年7月27日70某运某运营商商KPI系系统目目标以最方便的形式让各级领导对考核指标完成情况进行浏览分析采用良好方式实现常用指标的关联展示,更加符合业务人员的分析逻辑采用树型菜单对个体分散指标进行分类展示组织,提高指标分析的操作的便捷性详细编写各业务指标的统计口径,让用户可以方便查询和检索2024年7月27日71KPI系系统指指标体系体系2024年7月27日
31、72数据准确性数据准确性刷新刷新/上上载数据的数据的频率率 (定期定期)数据下数据下钻能力能力访问控制控制KPI系系统关关键性性:低高KPI分分层KPI系系统主要功能主要功能2024年7月27日731。支持角色,有预定义好的权限视图2。分层管理:每个KPI有对应的“保障”KPI的层次定义3。动态交互式环境用户可以设置KPI分解的百分比支持分解维度(按部门、运营中心如地市等)可调整的KPI分解规则4。阀值预警5。内部标杆共享KPI系系统框架和关框架和关键功能功能2024年7月27日74整体KPI首页界面分为三个目录级KPI考核指标KPI通报指标KPI个体指标体现以表格的形式展现数据,辅助以图型增
32、加指标之间的关联性,从多角度体现指标的内容。增加指标说明的模块,对用户使用该指标时容易产生理解误差的内容提供相应解释。KPI系系统首首页界面界面2024年7月27日75树状的目录力求简单,清晰,操作方便,减少用户的点击切换环节过程。KPI系系统树状目状目录结构构2024年7月27日761.简单明了的KPI指标往往成为管理者和普通市场人员最关注的对象2.领导的聊望台3.滚动指标告警指标列表区首页或结果展示区滚动指标告警区KPI系系统首首页界面界面2024年7月27日77增强指标之间的关联性,对若干指标的内在联系,进行归类对比展示,以多种图形方式进行多角度地展现。KPI系系统界面界面12024年7
33、月27日78lKPI指标主要展现此项指标在时间上的对比,例如,上月当日,历史同期,环比等。lKPI指标按业务分析逻辑有机排列,方便业务人员对比观看。lKPI在表格上增加趋势的展现,分为三种,“平稳”,“升高”,“降低”点击以后将展示最近一周的趋势KPI系系统界面界面22024年7月27日792.数据仓库数据模型星形与雪花BI项目设计开发的最佳实践数据仓库设计ETL设计数据仓库设计建模过程日程安排日程安排数据仓库的开发应用过程数据仓库设计界面设计2024年7月27日80自自顶向下向下(Top-down Approach)建造企业数据仓库建设中心数据模型一次性的完成数据的重构工作最小化数据冗余度和
34、不一致性存储详细的历史数据从企业数据仓库中建造数据集市得到大部分的集成数据直接依赖于数据仓库的可用性对信心的极大考验:投资大,建设时间长,阶段成果显现困难!ExternalDataODSCentral DataWarehouseDataMartDataMart2024年7月27日81自底而上自底而上 (Bottom-up Approach)创建部门的数据集市范围局限于一个主题区域快速的ROI-局部的商业需求得到满足本部门自治-设计上具有灵活性对其他部门数据集市是一个好的指导容易复制到其他部门扩大到企业数据仓库创建EDW作为一个长期的目标重复投资:每个部门都重复进行数据整理!企业数据仓库建设困难
35、:数据口径、不一致性问题突出!DataMartDataMartCentral DataWarehouseExternalDataODSpartpartpartpartpartpart2024年7月27日82数据数据仓库工程工程项目的特点目的特点数据仓库工程既包括数据又包括程序,而且是以数据为基础的系统数据仓库工程中的数据仓库的目标是面向主题数据仓库工程是以处理分析型目标为主而不是事物型目标,它对数据内容正确性与形式规范性有严格要求数据仓库工程中数据来源已有多种信息系统,因此对系统的数据要有一定的限制制约,也就是有了建立统一数据平台的需求2024年7月27日83数据数据仓库工程工程项目的开目的开
36、发应用用过程程解决方案启解决方案启动(Solution start up)业务发现(Business discovery)解决方案建解决方案建议(Solution proposal)解决方案)解决方案计划划(Solution planning)仓库概念建模概念建模(Warehouse conceptual modeling)仓库阶段段设计(Warehouse phase design)解决方案解决方案实现周期周期(Solution implementation cycle)解决方案部署(解决方案部署(Solution deployment)2024年7月27日84数据数据仓库业务发现过程程收集
37、记录业务需求理解客户业务环境差异分析,理解客户的业务难题及需求,弥补当前业务状态及其业务需求之间差异2024年7月27日85收集记录业务需求确定业务对象确定数据分析场景确定功能需求理解客户的业务环境理解基础架构环境理解数据环境差异分析需求分析识别业务主题领域识别数据差异识别基础设施差异识别资源的差异理解客户环境三个任务可以重叠进行 数据数据仓库的的业务发现内容内容2024年7月27日862024年7月27日87数据数据仓库工程工程项目的开目的开发流程流程图2024年7月27日88数据数据仓库的数据流程的数据流程(1):对原始数据进行数据抽取、清洗、整理后成为数据仓库中的各种综合度的数据表。(2
38、):经过维度分析得到维表并定义相应的格式表。(3):从数据仓库中抽取数据形成事实表及补充事实表。(4):从数据仓库中抽取信息,整理成数据挖掘宽表,用于数据挖掘。(5):宽表中的数据通过数据挖掘程序处理后生成的扩展数据(挖掘结果)需要重新回写进事实表。(6):利用数据展现工具展现OLAP和数据挖掘的结果。2024年7月27日89数据数据仓库需求分析需求分析数据仓库的特点是面向主题,按主题组织数据。1、主题分析对于在层次结构中的每个主题,需要进行详细的调研,确定要分析的指标,确定用户从哪些角度来分析数据即维度,还要确定用户分析数据的细化或综合程度即粒度。主题、指标、维度、粒度是是建立数据仓库的基本
39、要素。2、数据分析(1)数据源分析(2)数据数量分析(3)数据质量分析3、环境要求分析需要对满足需求的系统平台与环境提出要求,包括设备、网络、数据、接口、软件等的要求。数据源分析数据源分析主主题题分析分析数据数据质质量分析量分析环环境要求分析境要求分析2024年7月27日90数据数据仓库系系统总体体设计体系结构设计接口设计应用程序模块设计数据源层数据后端处理层数据仓库及其管理层数据集市层数据仓库应用层数据展示层数据源与分析模型的接口分析模型与应用的接口2024年7月27日91分析分析设计实施施需求分析需求分析风险分析分析方案方案设计POC实施施UAT发布布环境准境准备Scope系系统功能功能目
40、目标分析分析系系统性能性能环境境所所带来的来的风险分析分析可以容忍可以容忍的的见险关关键流程流程的定的定义确定确定组织架构架构方案方案设计(技(技术框架框架/流程流程)数据数据备份方案份方案时间窗窗环境境(DB/TOOL/DATA)源代源代码/POC数据数据POC报告告CUT计划划测试/用用户测试数据数据备份份系系统观察察系系统发布布Bug Fix项项目建目建目建目建设设方法方法方法方法论论2024年7月27日92BIBI项项目目组织图组织图927/27/2024Steering CommitteeSteering Committee( (项项目目目目经经理理理理) )( (甲方甲方甲方甲方项
41、项目目目目经经理理理理) )Project ManagerProject ManagerETL & DMETL & DM(Senior SE)(Senior SE)ReportReport(Senior SE)(Senior SE)TestTestQAQAKMKMSoultion ArchitectSoultion Architect2024年7月27日93BIBI项项目目组织说组织说明明项目指导委员会(SteeringCommittee):项目指导委员会主要由甲方与HP的资深主管们所组成,负责决定项目的策略方向与目的,并提供项目执行所需要的支持与承诺。协助处理与仲裁项目执行过程由项目经理所提
42、报(Escalate)所遇到之困难与争议。协助处理项目执行上所需要之人力资源支持与调动,如项目团队之人员指派等。项目经理(ProjectManager):在项目经理的协助下,承担并完成下列工作:规划详细的项目计划书管理项目中所有的日常事务与工作事项,以期达成项目每的阶段性任务及目标核审项目进度与项目里程碑定期与甲方项目经理共同执行项目的审核并商讨项目的计划定期以书面方式向项目指导委员会报告项目进行的状况针对项目执行上所遭遇的例外事件进行处理,并适当提报给项目指导委员会以寻求支持与协助与甲方项目经理共同担负起项目建置成功的责任937/27/20242024年7月27日94BIBI项项目目组织说组
43、织说明明专案架构师(SolutionArchitect):负责项目相关之技术架构与功能设计等,并领导项目执行技术团队确认项目技术架构符合甲方之维运要求与质量标准。ETL组2人:负责ETL部分的开发与实施Report组2人:负责BOReport部分的开发与实施Test组2人:负责项目的系统测试与用户最终测试其中测试组有1人兼任QA和KM角色。947/27/20242024年7月27日95M0M1M2M3M4M5BI项目里程碑目里程碑Milestone项项目启目启目启目启动动需求需求需求需求阶阶段段段段POCPOC项项目目目目实实施施施施集成集成集成集成测试测试ReleaseReleaseUATU
44、ATRoll OutRoll Out注注:在大在大约项目启目启动后后2个月,个月,POC阶段将完成段将完成,也即最也即最初的原型构建初的原型构建,用用户可以得到一个可以得到一个阶段性的段性的Release,下下一步的一步的项目目实施及集成施及集成测试将以迭代的方式将以迭代的方式实现。2024年7月27日96BI项目目实施施阶段段阶段阶段输入输入输出输出项目启动 - 评估SOW/方案建议书/迁移评估问题清单评估计划,迁移方案, 原始系统检查报告项目启动 - 项目计划项目实施方案,当前环境和业务需求,数据和属性,适用的实施工具项目计划,质量计划,风险管理计划,配置管理计划,单元测试案例(持续更新)
45、,集成测试案例(持续更新)POC源代码,POC数据,原始系统检查报告,实施方案实施模块,POC测试结果,POC经验总结,实施方案(更新),模块实施步骤报告迁移源代码,POC数据,原始系统检查报告,迁移方案实施的ETL脚本,数据模型,数据代码,迁移测试脚本,模块实施步骤报告集成测试测试计划,测试案例,基准版本,质量计划已测试应用,测试报告,测试案例(更新)发布已实施应用Release Note用户验收测试(UAT)验收测试计划验收测试报告Roll Out已迁移应用部署计划,培训材料2024年7月27日97优化及案例分析化及案例分析业务环境境数据库服务器:Windows2000Server+Ora
46、cle8i+IIS+PowerPlayEnterpriseServer应用服务器:Windows2000Server+Transformer客户端以上版本。2024年7月27日98优化及案例分析化及案例分析优化内容化内容1.RAID2.索引的建立3.SQL优化4.直接装载、分区选择、网络设置2024年7月27日992.数据仓库数据模型星形与雪花BI项目设计开发的最佳实践数据仓库设计ETL设计数据仓库设计建模过程日程安排日程安排数据仓库的开发应用过程数据仓库设计界面设计2024年7月27日100影响影响仓库性能的关性能的关键因素因素系统硬件磁盘(转速、容量)IO速度(光纤卡、网卡、路由器)CPU
47、(个数、主频)主机个数数据模型逻辑模型物理模型应用复杂度及业务发展EDWDataWarehousing2024年7月27日101物理模型物理模型对性能的影响性能的影响数据仓库的创建(Build)初始化每天数据载入每月数据载入数据维护应用查询,统计的支持(Query)KPI固定报表OLAP数据挖掘专题分析即席查询经营分析报告/策划查询性能更性能更应该被被优先保先保证!空空间换取取时间的的优化思想依然适用化思想依然适用!2024年7月27日102非非规范化范化优化技化技术增加冗余列(预连接)避免查询时进行表连接操作举例:姓名、联系方式、预存款、当前积分增加派生列(预计算)避免查询时连接和使用聚合函
48、数累计积分、ARPU、MOU、前3月平均话费、量收比重新组表(应用导向)经常使用的查询内容以表的形式存放(物化视图)分割(水平垂直)用户常用属性与不常用属性当前资料与历史资料非规范化技术建立在查询统计分析的基础上的适合对记录数非常多的表进行需要维护数据的完整性,加大了建设、维护的复杂度非非规范范化化是是一一项高高级设计技技巧巧! !O OL LT TP P系系统也也有有,但但O OL LA AP P需需要要更更多多,而而且且是是核核心心! !2024年7月27日103分表分表优化技化技术利用数据仓库的Partition功能数据仓库引擎提供,发挥都处理器及多主机执行的并行性很方便使用,而且必须使
49、用表大到一定程度后,在Partition基础上进行下述的分表按业务分表如详单按品牌拆分(分析频率、特征均不同)按日期分表详单按日分表帐单等按月分表汇总结果按月分表按地区分表分地区处理较多的表混合分表如每地区每日一张表分分表表技技术与与非非规范范化化技技术类似似只只应用用在在物物理理模模型型中中! !2024年7月27日104高高扩展性展性设计1、业务驱动数据仓库模型设计 2、仓库内数据分层3、合理选用3NF、混合、星型、雪花及宽表模式Data Warehouse (Hybird)ODS (3NF)OLAP ModelMining ModelReport ModelAnalysis(StarSc
50、hema、宽表)Data WarehouseODSAnalysisparallel loaderQuery数据仓库设计需要艺术地处理性能与灵活性之间的矛盾2024年7月27日105高可用性高可用性设计非规范化和分表技术应用最大化查询影响最快维护方便、代价最小编程复杂,但运行极快完善处理变更历史数据可长期追踪不影响当前数据的处理效率科学的表命名机制所属层次指示业务内容指示汇总粒度指示更新特性指示分表特性指示汇总数据再处理相对于“远小近大”dw_call_city_ymddw_call_msSample: WeekItemStore1/7/90111/14/9013123344.1/7/901/7
51、/901/7/901/7/901/7/901/7/901/7/901/14/901/14/901/14/901/14/901/14/901/14/901/14/901111334453413324245351201112.2024年7月27日106数据数据质量保量保证机制机制工作方法深入分析数据源系统整理出接口文档注明业务口径,适用范围与各业务系统确认一致性问题开发质量保障模块数据稽核修复自动维表维护关键数据质量稽核P01P01P14P14M15M15M28M28M01M01M14M14P15P15P28P28P29P29P42P42M29M29M42M422024年7月27日107数据稽核修
52、复数据稽核修复纯净目目标数据文件数据文件(含修复数据)(含修复数据)错误数据文件数据文件格式化文件格式化文件输出出格式化但格式化但错误众众多的数据源文件多的数据源文件错误核核查修复修复指示文件指示文件映射文件映射文件数据稽核修复引擎数据稽核修复引擎稽核稽核报告告2024年7月27日108自自动维表表维护SourceDatabasesData ExtractionCentral DataWarehouseTransformation, loadDataCleansingToolRelationalAppl.PackageLegacyExternalCentralDataWarehouseCode FilesData FilesAutoDimensionEngineMap FilesWarehouseAdmin.ToolsParallelExtractDataModelingToolCentralMetadataDataQualityEngine2024年7月27日109关关键数据数据质量稽核量稽核