1700432641
颠覆你的常识!
1700432642
1700432643
分析沙箱可以在不增加投资的情况下,从现有的投资中获得额外的收益。建设沙箱并不一定就要购买新设备。沙箱也不一定会给其他工作任务带来麻烦。它能从现有的IT投资中获得更多的价值,而且可以没有任何负面影响!一旦你理解了分析沙箱,明白了它的工作原理,你就会发现,许多人都信以为真的事情,而事实却刚好相反!
1700432644
1700432645
对于沙箱还有一个常见的误解。人们常常认为,分析沙箱将“摧毁”系统,把现有系统的资源全部耗光,给系统带来一系列的破坏。这完全是错误的!事实上,大型分析任务通常只是在项目初期执行1次或2次,这些任务也不会重复性地执行。你可以轻易把这些大型任务调度到半夜执行,而半夜的系统资源通常很充足。仅仅因为分析沙箱偶尔可能耗光系统资源而反对使用沙箱,并把沙箱推向绝境,这往往会带来相反的效果。沙箱中的分析完全可以只使用那些闲置的系统资源。这意味着不增加任何成本就能从现有IT投资中获得更大的回报!这是一件多么美好的事情啊!
1700432646
1700432647
最后的一个观点是,在包含沙箱的环境中增加分析内容,系统容量并不一定要随之扩大。如果一个系统今天的使用率是95%或99%,那么在这个系统上增加分析沙箱,确实需要进行升级扩容,但这并不是分析沙箱造成的。事实上,这个系统的负载已经如此繁重,添加任何新应用和功能都不得不进行扩容。如果使用已有的旧设备来构建外部沙箱,不仅没有新增任何成本,还可以从这些被丢弃的无价值设备中获得新的价值。
1700432648
1700432650
5.2 什么是分析数据集
1700432651
1700432652
分析数据集(Analytic Data Set,ADS)是为了支持某个分析或模型而汇集在一起的数据,且它的数据格式满足特定分析的要求。ADS可以通过数据的转换、聚合、合并等过程生成。它通常会按照一个逆规范化或者扁平文件的结构来设计。这种结构下,每一行数据都描述了一个分析实体,如客户、地域或产品。分析数据集有益于缓解数据的高效存储和方便使用间的矛盾。
1700432653
1700432654
关系型数据库的大部分数据都使用“第三范式”的模式进行存储。这种模式避免了数据冗余,同时使得数据查询更复杂。第三范式的表结构非常适合保存或恢复数据,但是这些表通常很难直接用于高级分析。对第三范式的深入解读不在本书范围中。重点是,分析工具通常要求数据是简单的、非规格化的、扁平文件的格式。高级分析的复杂精细体现在分析中数据所用的算法和方法上,而不是数据结构本身。这些数据集可以有多种形式,我们随后会进行讨论。
1700432655
1700432657
5.2.1 两种分析数据集
1700432658
1700432659
目前主要有两种分析数据集,如图5-5所示。
1700432660
1700432661
1700432662
1700432663
1700432664
图5-5 开发分析数据集与生产分析数据集
1700432665
1700432666
开发分析数据集是支持分析任务的ADS。它拥有解决问题可能需要的全部变量,所以它会非常宽。开发分析数据集可能会拥有几百个甚至上千个的变量和指标。不过开发分析数据集通常比较浅,数据行不多,因为大部分的分析都会使用抽样数据,而不是全量数据。这使得开发分析数据集很宽,但不会很深。
1700432667
1700432668
生产分析数据集刚好相反。它通常用于各种评分与模型部署。它只包含最终解决方案必需的特定数据。通常,大部分解决方案只会使用开发分析数据集中的部分变量。最大的区别在于,评分过程一定是针对所有实体进行的,而不会只针对样本数据。每一个客户、每一个地域、每一个产品都必须得到评分。所以生产数据集不宽,但一定会很深。
1700432669
1700432670
例如,在开发一个客户模型时,分析专家可能要研究500个不同的属性,分析的是从整体客户中抽取的10万个客户。因此,开发分析数据集很宽但比较浅。在生产过程中对客户应用评分模型时,可能只需要使用其中12个属性,但需要对全部3000万个客户进行计算。所以,生产分析数据集很窄但比较深。
1700432671
1700432673
5.2.2 传统的分析数据集
1700432674
1700432675
在一个传统环境下,所有的分析数据都在数据库外部创建,如图5-6所示。每一个分析专家都会独立地创建自己的分析数据集。更糟糕的是,这些工作是由每一个分析专家独立完成的,这意味着可能会有几百个人同时在创建不同的企业数据视图。更糟糕的事情是,一个ADS通常只服务于一个项目,每个分析专家都拥有一份生产数据的独立副本。更严重的问题是,分析专家还会创建新的数据集,导致每个项目最终都会产生大量的数据。
1700432676
1700432677
1700432678
1700432679
1700432680
图5-6 传统的分析数据集流程
1700432681
1700432682
之前我们提到过,某些企业分析环境内的数据是其企业数据规模的10倍或20倍。如果企业决定升级为一个更先进、更大可扩展性的分析流程时,肯定不希望保留这些服务于不同用户和模型的数据副本。这时需要一个变通的方法,我们随后会谈到这一点。
1700432683
1700432684
传统的分析数据集有一个人们不太了解的严重问题,那就是数据的不一致。也许,某个分析专家把销售收入定义为销售毛收入减去折扣与返点。同一时间,另外一个项目中的分析专家可能把销售收入定义为销售毛收入减去折扣,没有减去返点。两位分析专家的定义有一些差别,但你很难说谁的定义是错的。如果他们俩都为同一个业务部门服务,问题就出现了,在他们提供给业务部门的分析报告中,数据是不一致的!
1700432685
1700432686
传统分析数据集带来的另外一个大问题是重复性工作。如果分析专家不断地创建相似又略有差别的数据集,这不仅会占用数据存储空间和系统资源,还会耗费分析专家的时间。他们不得不创建一个ADS开发流程,执行并监控这些任务,以确保任务顺利完成。这不仅耗费了大量的时间,也增加了所有项目的成本。
1700432687
1700432688
数据不一致比数据冗余的危害更大!
1700432689
1700432690
传统分析数据集的工作方式确实会产生大量的数据冗余,但这还不是最严重的问题。人们很容易忽略的一个事实是,分析专家们经常开发略有差异的关键指标定义。这会带来数据的不一致。这个现象常被忽视,甚至没人知道。
[
上一页 ]
[ :1.700432641e+09 ]
[
下一页 ]