“瞬息万变”用来形容 Woot.com 网站首页最适合不过。Woot 成立于 2004 年,于 2010 年被 亚马逊 收购。作为首创的每日优惠网站,每天,甚至每 30 分钟,都会推出新的特价优惠,卖的东西包罗万象,有电子、服装、户外装备、运动器材、家庭用品等多种产品。
2018 年,该公司认为也是时候对该网站的后端进行一番变革了。具体而言,Woot 希望弃用传统数据仓库 [基于 Amazon Relational Database Service (RDS) for Oracle Database],转而采用 Amazon Web Services (AWS) 上的原生云数据仓库解决方案。
传统仓库给公司带来的挑战包括:每次添加数据源时,都需要重新设定调制管线,有时甚至需要花费数周时间才能完成;由于查询过程过于繁琐,导致一些具有潜在价值的查询甚至都未作尝试;再加上公司必须严格限制用户访问数据仓库的权限,因为数据仓库位于公司的 AWS 生产账户中。
如今,Woot 在 Amazon Kinesis Data Firehose 和 Amazon Simple Storage Service (Amazon S3) 上成功运行无服务器数据仓库,进行数据摄取和存储。同时还使用 AWS Lambda 来协调 AWS Glue,进行 ETL 作业调度和元数据管理任务。Amazon Athena 和 Amazon QuickSight 提供强大、用户友好的查询和数据可视化,没有 SQL 知识的用户也可轻松掌握。并且所有这些都位于一个单独的数据仓库账户中,该账户与公司的生产账户完全隔离。
AWS 可用于从数据中获取、管理和掌握见解,面对这一系列的众多功能,Woot 如何准确地决定其选择的解决方案? 简而言之,通过听取客户的意见,在这个情况下,就是借由听取依赖数据仓库的各个类别的员工意见,来确保给 Woot 客户带来绝佳体验。
“我希望这个项目能够成为 Woot 内部的一股一劳永逸力量,”Woot 数据工程师兼负责管理公司数据仓库的唯一员工 Chaya Carey 说,“由于我们面临紧迫的最后期限,因此很想先获得一份需求清单,执行之后再操心技术债的问题。但实际上,我们花了大量时间讨论谁使用过数据仓库、他们遇到了哪些挑战,以及他们需要使用数据来做什么。”
透过这些谈话可见,Carey 为新数据仓库确立的一个目标就是改用责任共担数据模型,这样她就不必为每个新服务或在服务变更时,都建立或更改自定义管道。“我希望服务能够将数据发送到数据仓库,并让数据在最少干预的情况下被接受,”她说,“但我需要找到一种简便的方法,来推送符合开发人员现有技能的数据。”
Carey 找到了一个现成的解决方案,让开发人员将 AWS 软件开发工具包 (SDK) 用于 Woot 使用的各种编程语言和平台,以将数据发送到仓库的 Kinesis Data Firehose 交付流。
“之前需要建立批量处理作业,才能从某个服务发送数据,现在所有开发人员只需添加一个 API 调用,即可将数据推送到 Firehose 终端节点,”Carey 说,"我们的开发人员更容易接受 Kinesis Data Firehose 的责任共担模型。这对于迁移来说可谓巨大的成功,因为过去用于添加新服务或适应现有服务变更所需的滞后时间被消除了。”
通过选择 Amazon Athena 和 QuickSight 进行数据查询和可视化,Woot 使许多员工(包括会计师、财务分析师、库存分析师、供应商经理和客户服务代表)的工作更加轻松,他们需要来自 Woot 数据仓库的信息,来完成他们的工作,但缺乏数据科学或商业智能技能。
“在以前的解决方案中,查询需要开立一个服务单,获得经理批准,收到 90 天后就失效的密码,而且前提是还需要了解 SQL,才能编写查询,”Carey 说,“现在有了 Amazon QuickSight,任何人都可以便捷地通过拖放,来构建图形和其它可视化效果,无需任何 SQL 知识。需要更多自定义项的员工,可以通过 Athena 控制台进行查询,但是同样,不需要任何 SQL 知识。”
现在,不仅查询过程更简单,而且完成查询本身花费的时间也更少了。“我们与之交谈的每个用户都告诉我们,Amazon Athena 的查询速度有多快,”Carey 说,“我们还听说,以前太过复杂的查询在 Athena 上也运行没有问题,这意味着相较于以往人们能够回答更多的问题。”
由于新解决方案中的 AWS 工具非常易于使用,因此越来越多的员工开始采用自助服务方式来回答问题。“人们在 QuickSight 中建立的可视化效果让他们印象深刻,因此他们正在寻找越来越多的方法来使用 QuickSight,”Carey 说,“我们只有四名商业智能 (BI) 员工,传统上,他们收到的请求数总是超出他们的能力范围。现在,非技术员工可以使用 Amazon QuickSight 自行获取信息,因此 Woot BI 资源有更多时间用于战略项目。”
Carey 表示,迁移不仅解决了先前解决方案的挑战,而且指派 Woot 开始尝试使用 AWS 提供的多种其它工具和服务,并在此之上节省了资金。Carey 说:“通过转向无服务器 AWS 数据仓库解决方案,我们降低了近 90% 的数据仓库运营成本。”她还很高兴地报告说,由于新解决方案的无服务器体系结构,她终于得以度过了三周的假期,而且未被呼叫过一次。
Carey 补充说:“事实上,数据仓库现在已拥有自己的账户,并将所有内容存储在 Amazon S3 中,这使我和我们的 BI 工程师能够无缝集成并探索其它技术,例如 Amazon Elastic MapReduce、Amazon SageMaker 和 Amazon Redshift Spectrum。我们对我们今后的发展方向感到无比乐观!”