如果你希望分析的大量数据已经位于云计算中,那么现货实例就可立刻运行了。但是,如果上传和存储大量数据的成本要超过使用云计算资源所带来的成本节省,那么也许使用内部集群或内部私有云计算则可能更为适合。
如果现货实例是满足你进行大数据分析任务需求的一个选项,那么你可能可以使用Amazon公司的 Elastic Map Reduce(EMR)和EC2现货实例。EMR可以执行映射降维方法处理大数据。这一计算模型可以很好地处理独立分析大量数据的任务(映射阶段);而结果则整合在一组以类似隐射降维模式处理的新数据集中(降维阶段)。
很多--但不是全部--大数据项目都适合于采用映射降维方法。诸如分析社会网络或电子邮件消息流量等网络分析问题都不适于采用映射降维方法。除了为分析大型数据集提供了一个可扩展的平台,EMR供应商还提供了在现货实例回收时支持恢复的容错能力。
Amazon公司的EMR只是一个在你的应用程序架构中引入容错机制的方法。如果你与并未具有容错设计意识的定制应用程序协作,可以考虑使用一个检查点策略来保存与持久存储计算状态相关的信息。当你的应用程序开始时,检查点功能可以检测出最后保存状态的信息,并从该点处继续执行处理操作。
你还可以使用消息排队技术来维持一个仍需处理的任务列表。运行在Amazon EC2现货实例上的应用程序可以从暂停的任务列表中提取一个任务,并在当前处理队列中新增一个消息以标明现货实例正在执行任务。当该任务完成时,它将从当前处理队列中移除该任务。脚本程序可以不定期检查当前处理队列中任务的时间属性,如果任务在一个合理的时间阈值内还没有被完成,这些任务就会被添加回暂停队列(可能是因为现货实例已被回收)。
当在云计算环境中执行大数据分析操作时,现货实例可以帮助减少你的底线。在现货实例上运行你的应用程序之前,请务必考虑你的应用程序的性能需求和容错特性。