1700432592
5.1.5 混合式分析沙箱
1700432593
1700432594
混合式分析沙箱是内部沙箱和外部沙箱的组合。它允许分析专家利用生产系统计算能力的灵活性,又保留了外部系统可以执行数据库难以完成某些高级探索任务的优点,如图5-4所示。
1700432595
1700432596
1700432597
1700432598
1700432599
图5-4 混合式分析沙箱
1700432600
1700432601
混合式分析沙箱最大的优点就是同时具有内部沙箱和外部沙箱两个环境的优点,还有处理某些复杂分析时无与伦比的灵活性。早期的测试与探索工作通常是在外部沙箱中完成的,这避免了对生产系统的影响。最终测试和预先部署工作则在生产环境下的内部沙箱完成。一个独立的MapReduce环境可以同时支持内部和外部沙箱。
1700432602
1700432603
另外一个优点是,在分析流程已经开发完成、生产系统进行全面部署前,可以构建一个临时性的“模拟生产系统”来进行测试。通过使用内部沙箱,这很容易实现。
1700432604
1700432605
混合式环境的缺点相当于内部沙箱和外部沙箱缺点的汇总,此外还增加了一些新的缺点。一个缺点是,需要同时管理维护内部沙箱与外部沙箱两个环境。在这种情况下,不仅要保持外部沙箱和生产系统的数据一致性,还需要保证外部沙箱和内部沙箱的数据一致性。
1700432606
1700432607
有必要建立一些原则来指导沙箱构建模式的选择。外部沙箱和内部沙箱都有一些适合承载的特定任务。分析专家不能武断地决定使用这种或那种沙箱,而是应该建立指导原则并严格执行。
1700432608
1700432609
不要把沙箱撑爆了!
1700432610
1700432611
只将分析必需的、最少量的数据导入外部分析沙箱。沙箱只会保存生产环境的一小部分数据。沙箱内的数据范围会根据特定分析需求变化,千万不要导入非必要的数据。
1700432612
1700432613
混合式分析沙箱的最后一个缺点是,可能需要建立两个不同的数据导入流程,这增加了系统的复杂性。外部沙箱和内部沙箱必须保证数据的一致性。当某个沙箱环境生成了新的数据,那么这些处理过程必须在另一个环境中重复执行一遍。
1700432614
1700432616
5.1.6 不要仅仅使用数据,而要丰富数据
1700432617
1700432618
沙箱环境最适合于对新数据进行探索分析,确定是否需要把这个数据源导入到企业系统和分析流程中并固化下来。这些新数据源可以是社交网络数据,家庭的人口统计信息,或者其他类型的大数据源。那么,分析专家应该如何探索研究这些数据并评估其价值呢?
1700432619
1700432620
想象一下,如果不经过研究,就直接建立一个数据处理任务,并正式地把新数据导入生产系统,这会带来什么后果?首先,你必须评估数据导入工作的范围与要求。然后,建立一个新的项目来负责开发数据的提取、转换和加载(ETL)流程。此外,还必须设计一个包含新数据的数据模型,并通过审批,以及在生产系统中实现。所有的这一切都必须经过测试。3~6个月后,这个处理流程上线了,新数据终于导入了生产系统以供人们使用。这时,也许分析会显示这些新数据并没有什么业务价值,你甚至根本就不需要这些数据。这种做法会带来多么大的资源浪费啊!
1700432621
1700432622
先分析一下样本数据!
1700432623
1700432624
当人们并不确定是否喜欢某一口味的冰激凌时,他们会先试吃一口。如果喜欢,他们就买下来;如果不喜欢,他们就再试试其他口味。对于新的数据源也是一样的逻辑。要是你不知道它是否就是你需要的,就不要全部导入生产系统,先在分析沙箱里试着研究一下吧!
1700432625
1700432626
沙箱可以避免刚才描绘的场景。可以一次性地抽取部分新数据并导入沙箱,然后研究这些新数据。如果结果不太好,那就分析其他的新数据源;如果数据研究结果很好,那就启动把数据导入生产系统这个漫长又昂贵的工作任务吧。使用分析沙箱来探索并验证新数据源的价值,不仅比传统的方式快得多,成本也低得多。
1700432627
1700432629
5.1.7 系统负载管理和容量规划
1700432630
1700432631
当分析专家开始使用沙箱时,有很多内置的数据库组件帮助这项工作更顺利地进行。沙箱用户可以被分配到不同的用户组里,不同组可以拥有不同的系统权限来开发使用新的高级分析。例如,你可以限制在同一时间某一个沙箱用户能使用多少CPU资源。企业级系统拥有足够的灵活性来控制这一点。当某个用户提出资源要求时,也许系统只会提供10%的资源,到了半夜,如果没有其他活跃用户了,那么这名用户就可以获得100%的系统资源。
1700432632
1700432633
控制并发查询量,或者限制客户创建某些类型的查询,这都是完全可行的。例如,对某个用户来说,他只能同时提交5项查询任务。此外,系统还拥有一些工具来发现并终止执行那些效率很低的大型查询,如两张大表的交叉关联等。
1700432634
1700432635
另一件很重要的事情是通过数据存储策略来限制用户使用的数据存储空间。当分析沙箱中的某一个数据集已经几个月没有被查询过时,那么默认选项就是把这个数据集删除。沙箱不应该像传统环境那样不断地生成新的数据。
1700432636
1700432637
我曾经见过这种场景,企业总共拥有5TB数据,但分析环境里的数据达到了30TB~50TB。原因是每一个分析专家都会建立自己的一份备份数据,包含企业5TB数据中的大部分信息。分析专家甚至在不同的项目里建立了不同的备份数据。这带来了数据的大量重复与冗余。这种情况不应该在分析沙箱中出现。在分析沙箱里,除非有为特定目的保留数据的要求,否则数据都会被删除。
1700432638
1700432639
对于内部分析沙箱,当进行了越来越多的分析,沙箱和生产环境之间的资源分配与系统负载会发生变化,这是可以接受的。如果沙箱环境部署在独立的平台上,那些导致系统资源溢出的分析任务就可以被发现并承担相应的责任。容量规划需要在开始的时候进行讨论,但是分析沙箱的容量规划与其他系统一样,并没有什么特别。分析沙箱会给系统带来新的任务,而系统管理员们知道如何来管理这些任务。
1700432640
[
上一页 ]
[ :1.700432591e+09 ]
[
下一页 ]