借助Amazon EMR、Amazon Kinesis、Amazon RedShift云服务,我们成功地以几个人的小团队,在短时间内搭建起完整的数据处理系统,实现了高效的大数据分析。
夏凯 小红书数据工程师

小红书是新一代社区电商,它将海外购物分享社区与跨境电商相结合,精准捕捉85后和90后的消费升级需求,迅速发展成为极具影响力的全球购物分享社区。目前小红书的注册用户数量已超过3000万,其中近90%是女性、超过50%是90后。作为新一代消费人群,这些用户有着共同的价值观,更注重感觉和体验,对好东西和好生活充满向往。“社区+电商”的模式推动了小红书的快速发展,在电商平台成立的头半年里,其销售额就达到7亿人民币,被国务院总理李克强在参观时称赞为“中国发展最快的创业公司之一”。小红书App也在2015年11月“黑色星期五”期间连续两天占据App Store总榜第一名。

小红书借助AWS快速搭建高效的大数据统计、分析系统

Video Thumb-xiaohongshu

与其他单一平台相比,小红书采用“社区+电商”模式的最大优势是“优质的社区”。一般情况下,大多数用户并不知道国外哪些东西好?这也是为什么跨境电商主推的产品一般都是一些常见的品牌,没有太多的特色。但在小红书的“社区+电商”模式下,用户购物的过程实际上是从“种草”到“拔草”的转化:社区用户分享自己购买的物品、交流购物心得、使用体验,其他用户从中发现自己喜爱的产品,就像在心里种下了一棵草(种草);然后通过小红书的电商平台,购买到自己心仪的商品,拔掉了长在心中的草(拔草)。这一模式成功的关键是“种草”和“拔草”。而这就需要小红书的技术团队能够通过后台数据,了解用户喜欢什么、在分享什么、点赞最多的是哪些?并通过对这些数据的分析,推测出哪些商品可能是爆款。

对小红书来说,实现大规模数据的统计与分析有两种途径:采用第三方提供的服务或者是组建自己的数据团队。“我们有庞大的用户社区,我们希望让自己的系统变得更聪明,了解用户的兴趣爱好,以便为用户推荐适合的产品,因此我们决定建立自己的数据团队。”小红书数据团队工程师夏凯说。然而,对小红书这样的初创公司来说,要在尽可能短的时间内搭建起高效的大数据统计、分析系统,是一个巨大的挑战,AWS云平台完善的数据处理功能使小红书能够以小团队的规模,解决大数据问题。

完善的数据处理功能和服务,以及来自国外初创公司使用AWS云服务的成功经验,是小红书选择AWS云平台构建其数据处理系统的主要原因。

小红书需要处理的数据来自不同的数据源:来自电商的结构化数据;来自社区的图片、评论、表情等机器难以识别的非结构化数据;以及海量的日志数据。对这些数据进行处理需要采取不同的方式。小红书希望建立一支小而精的数据团队,快速搭建起数据处理系统,对这些数据进行高效的清洗、归整,使之成为适合于数据分析师使用的数据。AWS云平台提供的Amazon EMRAmazon KinesisAmazon RedShift等服务构成了完善的数据处理基础架构。

AWS云平台提供了丰富的数据处理功能,可以很好地满足不同的数据处理需求。Amazon EMR简化了大数据处理,它所提供的托管 Hadoop 框架可以让用户轻松、快速、经济高效地跨越各个动态可扩展的 Amazon EC2 实例分发和处理海量数据。Amazon Kinesis用于对大型分布式数据流进行实时数据处理,它每小时可连续捕获和存储成千上万个来源中的数据(以TB 为单位),这些来源包括网站点击流、财务交易、社交媒体源、IT日志和定位追踪事件。而Amazon Redshift是一种快速、完全托管的PB级数据仓库解决方案,它使得用现有商业智能工具对数据进行高效分析变得十分简单而且节省成本。“这些服务的组合充分满足了小红书的业务需求:我们用Amazon EMR对海量的日志数据进行清洗和处理;用Amazon Kinesis对流式数据进行实时处理,最后不同来源的数据全部汇入Amazon RedShift进行后续的分析、使用。”

小红书选择AWS的另一个原因来自于数据团队成员对AWS的充分了解。“我之前在硅谷工作,了解到很多体量与小红书类似的创业公司都采用了AWS的数据存储和处理方案,它们的成功经验对我们来说是很好的参考案例。”夏凯说。此外,AWS云服务的安全性、稳定性、灵活的计费方式以及专业的技术支持服务也是促使小红书选择AWS的重要原因。

xiaohongshu-arch-diag

图1:小红书数据处理系统架构图

小红书的数据团队在2015年3月成立并以AWS云平台为基础搭建起完整的数据处理系统,所使用的AWS云服务包括Amazon EC2、Amazon S3、Amazon EMR、Amazon Kinesis、Amazon RedShift等,图1是小红书数据处理系统架构图。

AWS云平台使小红书的数据团队能够快速起步。最初,小红书利用Amazon S3和Amazon RedShift来同步业务数据库的交易数据,随后开始使用Amazon S3、Amazon EMR和Amazon RedShift进行用户日志的解析和同步;Amazon RedShift则作为数据仓库,承担大量后续的BI分析工作。随着小红书电商业务对时效性要求的提高,小红书又利用Amazon Kinesis来实时地解析同步用户行为日志,并开发了销售实时监控系统。使用AWS使小红书在两个方面获益匪浅:其一是大幅度缩短了数据处理系统上线的时间;其二是改变了整个公司的业务模式。

使用AWS的数据处理服务带来的效率提升是明显的。如果没有AWS,要搭建一个可用的日志分析系统,需要好几位工程师,花几个月的时间才能完成,而有了AWS的数据服务,小红书的2位工程师在两周内就搭建起整个系统并且正式用在生产环境中。此外,解决新数据需求的速度也明显提升。相比每次从业务后端数据库写代码拉取数据,从数据仓库进行SQL查询则显著提升了效率,把过去几个小时的工作量缩减为几分钟。最重要的是,AWS的云服务使小红书建立一个“小而美的数据团队”成为现实,从而可以快速尝试新的模型和新的数据处理方式,找到最适合的数据解决方案。

AWS带来的另一个好处是使小红书团队的工作方式发生了很大的改变,成为一个数据驱动的团队,无论是电商、社区,甚至市场团队,如今都是在数据的指导下开展业务,公司的决策,业绩考核也都依赖于数据。例如,电商部门在采购和选品时一定会先看数据,找出社区里经常谈论、点赞的商品;在市场推广活动中,过去是通过发红包、做广告或者在合作伙伴的App里进行推广来吸引新用户,现在则根据数据分析结果,采用流行的“增长黑客”的方式,考察活跃用户、沉寂用户的转换比,以此评价市场推广活动的效果。产品的升级更新也以数据为依据,例如,如果后台系统显示打开App的用户很多,但并没有完成注册和购物,开发团队就会优化产品,让用户无需注册,就可以先到社区里玩一玩,有兴趣了,就可能注册成为真正的用户。

目前,小红书数据团队正在持续优化其数据处理架构,包括提供更直观的展示平台、提升处理速度等,同时包括Spark在内的离线计算系统也开始投入使用。

了解 AWS 如何帮助满足您 Web 应用程序需求的更多信息,请访问我们的 Web、移动和社交应用程序详细信息页面:http://aws.amazon.com/web-mobile-social/