主动、实时数据仓库及应用

转载自:http://www.oecp.cn/hi/csh/blog/2142



主动、实时数据仓库及应用

 
摘要:本文主要描述了数据仓库的演进过程, 介绍主动数据仓库、实时数据仓库、以及ODS等概念

1、主动数据仓库



1.1、问题的提出

客户拨打呼叫中心,对某个产品或服务表现出关心,你的客户代表能否主动的和客户沟通,提高客户保持率?
如果你的网站能够及时的给客户返回信息,并且客户每访问3次后就给10%的折扣,将能增加多少的客户忠诚度?
如果供应商能够预测到假期每个商品会增加多少的销售量,并及时补充商品,将会增加多少的销售额?
今天,成功的商业关系,无论是客户、合作伙伴或者供应商,都越来越依靠集成了企业所有数据的数据仓库,分析出有价值的信息,并把信息分发给每天做决策的人员。主动数据仓库转变传统数据仓库解决方法的策略,使企业在维系客户上变得更加主动和有效。
 

1.2、变革经济环境下的全新解决方案

新经济环境下,有着新的客户期望值、新的客户关系和新的商业机会,企业需要具有主动的决策支持能力。今天,数据仓库的数据正在发生演变,数据仓库负担着客户关系管理、一对一营销和及时制定决策等效用,进而成为具有控制和影响市场能力的工具。
数据仓库的初始阶段,是面向查询批处理的决策支持应用。数据仓库的初始目的是收集、清理和集成组织内的数据,这些数据用来产生报表和查询,以支持决策的制定。
随着数据仓库技术的成熟和应用普及,越来越多的企业利用数据仓库技术的特性,以支持预测分析以驱动商业决策。数据仓库技术在更大范围内得到应用,从分析市场将要发生什么变化,到分析市场正在发生什么变化,到基于事件触发、控制市场朝着自己想要的方向去发展。
 
 

1.3、主动数据仓库的优势

主动数据仓库在市场快速变化和实时企业管理决策要求下出现的,是数据仓库技术的新的分支。利用主动数据仓库建立应用,企业可以改进与客户的及时沟通能力,使分支机构或者呼叫中心更好的与客户进行联络。下面的这些应用在传统数据仓库中是难以实现的,但主动数据仓库提供了可能:
  1. 利用呼叫中心,进行自动的、直接的客户营销;
  2. 在信用卡业务处理过程中,及时进行欺诈检测;
  3. 飞机满座率低时,可以在飞机起飞前,让更多的乘客坐上飞机;
  4. 基于当前的客户贡献度和价值度,给客户灵活的综合定价和折扣;
  5. 及时决定运行中卡车的最优线路,降低货物运送时延,并实现对不同客户的不同服务承诺;
  6. 基于客户近期的信用卡交易情况、结合他们长期的购买行为,优化即将要送给客户的交叉销售购物券;

传统数据仓库解决方案

主动数据仓库解决方案

只能支持战略决策支持战略决策和战术决策
返回很难测量的指标返回日常运营指标
以天、周或月为周期获取数据,并做预先聚合计算只包含明细数据,可能以分钟为周期获取新数据
中等规模用户数多用户数并发访问(如1000用户以上)
只能得到高度限制的报表,使用预处理的聚合表或数据集市灵活的即席查询,数据挖掘
适用于高级用户,分析员,内部用户适用于操作雇员,呼叫中心,外部用户
 
表1:传统数据仓库与主动数据仓库的能力比较
 
显然,主动数据仓库扩展了传统数据仓库的能力:
  1. 外部人员可以访问数据仓库,如合作伙伴、供应商和客户。
  2. 企业的所有成员都可以直接的访问数据仓库,包括普通的雇员、呼叫中心的客户代表等等。
  3. 集成、多主题,交叉渠道的执行可以帮助企业更快更有效的行动,拓展商业机会。
 
主动数据仓库支持战略和战术的市场决策。意味着企业的战略分析结果可以转化为具体、详细的条件约束和操作事务下的行动。这样,发挥了日常战术决策的效用,提高了数据仓库信息的效率。最终,对于企业来说,一致性的数据使职员和合作伙伴更好做出符合事实的、精确的和有见地的决策。
建立主动数据仓库帮助你更接近你的客户、优化供应链、提高制造质量和精准地跟踪商品流动,计划和管理成功的商业活动,达成销售自动化,使得企业具备新竞争环境下的及时商业分析能力。
主动数据仓库需要一个可扩展的、高性能的数据仓库解决方案,需要实时数据仓库的支持。
 

2、实时数据仓库和ODS

很多数据仓库设计者认为不可能把现有的24小时运行周期的ETL改为15分钟的周期。因为即使将数据清理的步骤并行处理,最大的事实表和维表的增量加载也不一定能在这么短的时间内完成。
 

2.1、ODS的引入

规划数据仓库时,可以在常规的、静态的数据仓库之外,建立一个实时的分区,这个特别的分区在物理上和管理上独立于传统的数据仓库。事实上,实时分区通常并不是数据库概念上的表分区,而是由一些独立的可以在其上进行更新和查询操作的表构成。。
存储实时分区的系统就是ODS(Operational Data Store)。ODS和实时分区是两大数据仓库流派的不同名词定义而已,我们姑且将ODS理解为存储和管理实时分区的系统。ODS处于业务系统和数据仓库之间,具有实时的、常变的、当前的、临时的等特点。引入ODS,DW的体系结构变为:源数据→ODS→DW→OLAP。增加ODS,还需要前端工具的支持,才能够进行无缝查询。
实时分区必须满足如下的一些苛刻要求:
  1. 在静态数据仓库更新前,承担所有的查询操作;
  2. 在粒度和内容上与静态数据仓库的事实表能够吻合链接;
  3. 支持大量并发的查询响应。
 

2.2、实事分区(ODS)的应用

在维度模型中,主要有三类粒度的事实表:交易粒度(Transaction Grain),周期性快照粒度(Periodic Snapshot Grain),增量快照粒度(Accumulating Snapshot Grain)。实时分区在3种类型的粒度上有不同的结构。

2.2.1交易

静态数据仓库的事实表就是交易粒度的,它包括源系统中的交易记录。如果在某时间周期内源系统没有新的交易,则没有新的记录。相反的,如果交易很多很频繁,就会产生大量的记录。实时分区具有与静态事实表维度关联的数据模型结构。
实时分区一般完全没有索引,因为必须不断的维护新加载的数据,并且实时分区只存储当天的数据,也不必在此上建立预聚合计算。
有了实时分区,应用必须能够从静态数据仓库表钻取到实时分区。做时间上的聚合计算时(如当月的销售量),必须向两个表发出相同的查询。
在一个大型零售商场,每天有1000万笔交易,静态数据仓库表中将会有很多记录。假设每个交易记录为40字节,每天增加的数据量大约为400MB,一年增加150GB。这样的事实表必然有庞大的索引,并支持聚合计算。但实时分区不要有索引(但可以有主键),以支持快速插入。实时分区也不要有预先聚合,实时分区需要支持快速的数据插入,同时实现高性能的查询。
 

2.2.2周期快照

如果静态数据仓库事实表在时间维度上保存高粒度的数据(如月份),那么实时分区能够查看当前月的明细数据。假如一家有1500 万个帐号的银行,静态事实表的粒度是每个帐号每月的记录。事实表上保存36个月的数据,这将达到5亿4000万条记录。实时分区存储当月的数据,每月进行一次更新。假如包括4个维度和4个指标,实时分区大约需要480MB的存储,可以考虑把它常住内存。
这里,应用从静态事实表查询钻取到实时分区钻取时,与交易粒度结构下的情况有些不同。虽然很多指标能够在表之间直接钻取,但整个当月的数据必须聚合到月份层次,以保持查询结果的规整。
最后,在每月的最后一天,实时分区数据加载到静态数据仓库,然后把实时分区清空。
 

2.2.3增量快照

此类维度模型用于短周期的处理,如定单的生命周期。定单和运输管理中,每个项目产生一条记录。在事实表中,这些记录需要根据活动的变化进行更新。比如,客户下定单时,增加一条记录;货物开始装载运输时,更新该记录;货物到达目的地时,再次更新记录;然后付款、订单完成都要更新记录。
 这个案例中,事实表将被迫不断的更新数据。为了性能上的考虑,这些更新将在夜间完成。这里,实时分区只包括今天更新的记录。晚上,实时分区的数据正好可以写到主事实表中,可能是插入新记录到主事实表,或者,根据唯一索引覆盖已存在的记录。
 在很多定单和运输的解决方案中,实时分区的数据量远没有上面的前2 个案例那么大。比如,全美专营猫狗食品的制造商每月大约有60,000个发货单。每张发货单平均有20条记录。每个发货单平均代表2个月的供货期,这个时间段内要更新数据5次,那么每个工作日将有7,500行数据需要更新。即使事实表上每个记录有80个字节,实时分区也只要600KB的数据量,完全可以把它常驻内存,且不需要在此表上加索引和进行预先的聚合。
 查询每个定单的情况,需要读取事实表和实时分区,可以在两个表上做外联结操作,或在两个表上做并集,这样就可以查询到新加入的记录,并体现在报表上。
  在电信等行业,客户投诉处理过程的情形也很类似,一个投诉要经过提交、复核、派单、处理和反馈等过程,进行多次更新操作

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值