1700432555
1700432556
1700432557
图5-2 内部沙箱的详细视图
1700432558
1700432559
内部分析沙箱能显著节约成本,因为没有增加任何新的硬件设备。生产系统已经建立好了,只需要用一种新的方式来使用它。此外,除了在数据库与MapReduce环境之间,不存在其他类型的数据迁移,这也能降低成本。
1700432560
1700432561
内部分析沙箱也有缺点。第一,数据导入企业数据仓库或数据集市后,还要把数据导入沙箱中,这增加了工作量。其次,沙箱会占用系统的存储空间与CPU资源(可能是很大一部分资源)。还有一个缺点是,内部分析沙箱受到生产环境管理政策与流程的限制。例如,如果周一早晨生成报表的任务会占用全部系统资源,那么此时分析沙箱用户就没有足够的资源可以使用了。
1700432562
1700432564
5.1.4 外部分析沙箱
1700432565
1700432566
外部分析沙箱,是一个物理独立的分析环境,用于测试和开发各类分析流程。通常来说,构建一个纯外部的分析环境是很少见的。内部分析沙箱以及随后会谈到的混合式分析沙箱通常更为常见。外部分析沙箱通常是混合式沙箱环境的一个组成部分,因此理解外部沙箱是什么非常重要,如图5-3所示。
1700432567
1700432568
1700432569
1700432570
1700432571
图5-3 外部分析沙箱
1700432572
1700432573
外部分析沙箱的最大的优势是它的架构简单。沙箱是一个独立的环境,完全用于开发高级分析。它不会影响其他任何系统,这给沙箱的设计与使用带来了便利。例如,可以尝试不同类型的数据库设置,或者把沙箱数据库升级到新版本,以测试新版本特性。这与开发应用的传统测试开发环境有点类似。
1700432574
1700432575
一个常见问题是:“这个外部的分析系统,是不是违背了把数据放在数据库中进行分析的原则”。如果你把沙箱当作一个分析开发环境,那么答案是没有违背。大多数企业都有一个测试环境和开发环境,用于支持应用与商业智能类的工作,并且独立于生产环境。外部分析沙箱也是同样的道理,只是它支持的是分析活动。
1700432576
1700432577
外部分析沙箱的另外一个优点是减少了系统负载管理。只有分析专家使用这个系统,自然就不用去考虑不同系统间的负载平衡。分析沙箱和生产环境的性能表现都是可预测的、稳定的。例如,沙箱用户不用担心周一早上系统资源不够用,他们可以获得稳定的沙箱访问能力。
1700432578
1700432579
外部分析沙箱并不违背原则
1700432580
1700432581
外部分析沙箱并没有违背库内分析的原则。可以把外部沙箱当作支持分析的一个测试开发环境。这些环境有不少合理且有力的存在理由,应用与报表的开发测试环境更是无处不在。
1700432582
1700432583
外部分析沙箱最好使用与生产系统一样的关系型数据库。如果这样,那么把沙箱的分析流程导入生产系统就只是一个简单的复制过程。如果沙箱中的数据格式与生产系统的源数据保持一致,也会简化迁移过程。
1700432584
1700432585
当处理大数据时,MapReduce环境应该包含在外部分析沙箱环境中。在这种情况下,外部分析沙箱环境将包含一个关系型数据库和一个MapReduce组件。有些情况下可能是同一个系统承担这两项任务,也可能存在两个独立的物理平台。
1700432586
1700432587
外部分析沙箱的主要缺点是作为沙箱平台的独立系统带来的成本增加。为了降低成本,很多企业构建沙箱环境时会使用生产系统升级后替换下来的旧设备。使用这些原本要丢弃的旧设备来构建沙箱,能降低分析沙箱的硬件成本。
1700432588
1700432589
另外一个缺点是,外部分析沙箱需要进行数据迁移。在开发一个新分析内容时,必须提前把数据从生产环境导入到沙箱中。这个数据迁移过程通常要持续地进行维护与管理。这些数据也许并不是太复杂,但带来了需要进行管理和执行的额外任务。因此,沙箱的数据需求必须被严格管理,并专注于那些绝对必要的数据。
1700432590
1700432592
5.1.5 混合式分析沙箱
1700432593
1700432594
混合式分析沙箱是内部沙箱和外部沙箱的组合。它允许分析专家利用生产系统计算能力的灵活性,又保留了外部系统可以执行数据库难以完成某些高级探索任务的优点,如图5-4所示。
1700432595
1700432596
1700432597
1700432598
1700432599
图5-4 混合式分析沙箱
1700432600
1700432601
混合式分析沙箱最大的优点就是同时具有内部沙箱和外部沙箱两个环境的优点,还有处理某些复杂分析时无与伦比的灵活性。早期的测试与探索工作通常是在外部沙箱中完成的,这避免了对生产系统的影响。最终测试和预先部署工作则在生产环境下的内部沙箱完成。一个独立的MapReduce环境可以同时支持内部和外部沙箱。
1700432602
1700432603
另外一个优点是,在分析流程已经开发完成、生产系统进行全面部署前,可以构建一个临时性的“模拟生产系统”来进行测试。通过使用内部沙箱,这很容易实现。
1700432604
[
上一页 ]
[ :1.700432555e+09 ]
[
下一页 ]