Razorfish 是一家数字广告和营销公司,它通过浏览会话收集和分析非个人的可识别数据,并借此细分用户和客户。要实现此目标,需要在历史点击流中应用数据挖掘方法来找出有效的细分和分类算法和技术。当某个访客浏览网站或目录时,会生成这些点击流,从而留下可以表明用户兴趣的模式。然后在可以按适当规模进行批处理执行的系统上实施算法,该规模取决于当前从数十 GB 到数 TB 的大小不等的数据集。这些算法还针对不同的客户进行自定义,以观察在线/离线销售和客户忠诚度数据。分析结果将在广告服务和交叉销售系统中加载,而后将实时交付细分结果。

Razorfish 发现,客户细分中的一个常见问题是,需要处理巨大的点击流数据集。这些大型数据集往往由零售网站上的假日购物流量产生,或者是媒体或社交网站的数据网络上的流量激增导致的结果。构建内部基础设施来分析这些点击流数据集需要对昂贵的“预留容量”进行投资以应对需求高峰。客户要求 Razorfish 在关键时刻拥有充足的可供立即使用的资源,但由于缺乏充足的计算资源,Razorfish 正面临失去这些客户的风险。此外,在识别和应用能够带来额外收入的算法时,那些无法进行扩展以处理越来越大的数据集的应用程序可能引发延迟。随着样本数据集的增长(即更多用户、更多页面、更多点击量),可以处理负载并提供及时响应的应用程序越来越少。与此同时,随着使用定向广告的客户数量不断增加,访问按需计算和存储资源成为了一项需求。因此,Razorfish 必须实施客户细分算法,并且能够独立于传入数据规模和支持基础设施而进行应用和执行。

在实施 Amazon Web Services (AWS) 之前,Razorfish 依赖于传统的托管环境,即使用高成本的 SAN 设备进行存储、一个专有的分布式日志处理 30 个服务器的集群,以及使用几个高端 SQL 服务器。在 2009 年假日旺季准备期间,对定向广告的需求大幅增加。若要支持该需求,Razorfish 面临以下问题:用于额外硬件开支的 50 多万美元的潜在成本、长达两个月左右的采购时间以及需要一位额外的高级操作/数据库管理员。此外,由于下游工作的相关性,他们需要将每日处理周期限制在 18 小时以内。然而,由于数据量增加,即使包括了对人力和计算资源的潜在投入,Razorfish 预计每次运行的处理周期仍将超过两天。

为了应对巨大的数据集和自定义细分目标活动,以及对价格非常敏感的客户,Razorfish 公司决定摆脱其刚性的数据基础设施现状。此次迁移帮助 Razorfish 处理了大量数据来应对快速扩展应用程序和基础设施级别的需要。基于以下优势,Razorfish 选择了广告服务集成、AWS、Amazon Elastic MapReduce(托管的 Apache Hadoop 服务)、Cascading 和多种精选的应用程序来支持其定向广告系统:

  • 高效:AWS 的弹性基础设施使用户可以根据负载按需配置容量,从而降低成本并减少处理延迟的风险。Amazon Elastic MapReduce 和 Cascading 使 Razorfish 可以专注于应用程序开发,无需担心费时的 Hadoop 集群设置、管理或优化,也无需担心所依靠的计算能力。
  • 易于集成:配合 Cascading 的 Amazon Elastic MapReduce 使用户可以在云中处理数据,无需对底层算法作出任何更改。
  • 灵活:具有 Cascading 的 Hadoop 非常灵活,足以“敏捷”地实施先进算法并进行单元测试。
  • 适应性强:Cascading 简化了 Hadoop 与外部广告系统的集成。
  • 可扩展:AWS 基础设施帮助 Razorfish 可靠地存储和处理大型(数 PB)数据集。

通过按需调配和去除容量,AWS 弹性基础设施平台使 Razorfish 能够管理各种工作负载。Razorfish 的项目主任 Mark Taylor 表示: “通过实施 Amazon Elastic MapReduce 和 Cascading,我们没有对硬件进行任何前期投资,没有出现任何硬件采购延迟,也没有雇佣额外的操作人员。我们在六周内完成了第一个客户项目的开发和测试。整个过程都是自动的。基础设施的总成本平均每月约为 13 000 USD。由于丰富的算法和灵活的平台支持大规模扩展,因此在我们的首次客户活动中,广告支出回报比去年同类活动增长了 500%。”

若要查找有关 AWS 如何帮助您存储和处理大数据的更多信息,请访问我们的大数据详细信息页面:http://aws.amazon.com/big-data/