唯品会大数据实践——诸超

  • 2015-07-31 15:11:00
  • DAMS原创
唯品会大数据实践-诸超

诸超 | 唯品会云计算总监


唯品会大数据实践-诸超

唯品会大数据整体规划

大数据无非是数据的收集、计算和存储。整个数据的实时接入,包括各种各样的log,我们的系统把这些东西离线、实时地收集进来。

唯品会大数据实践-诸超

如何规划系统的资源,才能做到高效的调度和利用?这是一大改变期,有了这样一个平台以后,如何做各个数据的分析和计算?不能只是做报表,报表之后,数据应用是一步一步地做过去,第一次是报表,然后给到高管的、给到商务的、给到供应商的,再做成各种各样的数据应用。

最核心的大数据是什么,像在唯品会这样的电商里,由于电商的本质工作是买进商品和卖出商品,那么大数据如何帮助公司更好地买进商品和卖出商品就是核心所在。

数据平台的建设

唯品会大数据实践-诸超

唯品会成立至今已有5年时间,而真正运用大数据开展业务也有快3年了。由最早的DW、Greenplum、简单的报表,在遇到很多的瓶颈之后开始逐渐迁移至Hadoop这个平台。因为我们的规模要做到很大,我们现在差不多有10个PB的数据,如果我们还在使用Greenplum的话是难以支撑的。所以我们从2年多前就逐渐迁移到Hadoop平台,现在是双平台运行,因为它们有各自的优势。

唯品会大数据实践-诸超

在离线平台这一块其实我们跟其他大公司一样,一开始是 Oracle或者Puredata,后来是走向一些MPP的架构,例如Greenplum。其实我们最早是在MySQL上面跑,后来迁移到Greenplum。其实那个时候我们是可以解决问题的,但是我们不知道会不会遇到瓶颈,所以我们逐渐在向Hadoop迁移。迁移是先把简单的、量大的迁移出来,然后再做复杂的交易数据的迁移。

唯品会大数据实践-诸超

在这个过程中由于数据量越来越大,我们在Hadoop上一直加节点。除了数据量越来越大,业务计算量越来越大,对数据实时性要求也越来越高。我们是通过从daily joib 到hourly job,差不多40%的资源都被hourly job所cover掉。我们现在有很大一块已经是实时化了,但是从复杂的 hardly job迁移到实时的Storm其实是很复杂的。因为在Hadoop里很复杂的逻辑其实要表现在Storm或者Spark上其实还是很辛苦的,我们现在还在很痛苦的迁移过程中。

唯品会大数据实践-诸超

在过去3年我们发现,用户的需求是无穷无尽的,你永远无法满足业务端的需求。所以我们现在在做开放数据平台。开放数据平台就是抽取、调度、计算、存储、报表的平台。一个团队不可能做整个公司里面的东西,其实很多东西就是集中和分散的过程。很多公司都在做,就是把数据平台开放出来,让你能够在上面定义你的job,可以用来抽取数据,做你的ETL开发,然后自己发布各种各样的报表。

还有一块就是成本change back。因为当你开放了数据平台后,其他人会在上面提交各种各样的job,很多job属于性能很差,占用资源非常高,你的机器很快会跑满。在这种情况下,一方面要引导,一方面要给予这种change back的机制,让更多的使用团队有动力去优化他们的东西。

唯品会大数据实践-诸超
唯品会大数据实践-诸超
唯品会大数据实践-诸超

接下来分享一下大数据在实时计算的层面下碰到的瓶颈,以及我们是怎样解决的。这里我们列举的是大数据的Hbase 跟 Redis。我们现在走的路一个是客户端Shard,一个是应用程序的优化,一块是 Twemproxy,最后一块是我们现在主力在推的 Redis Cluster。我们的目标是,业务的增加只需要堆服务器就能解决,不需要去改变code。这就是一个平台它存在的必要性,能够让大家follow在业务上面,不去关系底层的基础架构怎么实现。

唯品会大数据实践-诸超

以上是我们目前面临的一些挑战:1、实时计算真正作为一个平台能够推出去,让大家都能够在上面开发,而不是你一个人玩的东西,让大家在上面开发、运营会更加简单。2、实时和离线的融合。离线的job会永远存在,实时job也会永远存在,业务的需求会越来越高,那怎么办?这是我们一直在思考的问题。3、离线向实时迁移的成本。我们新的东西进来以后用实时,但是有些业务逻辑过于复杂,在实时方面会做得很辛苦,该怎么办?

唯品会大数据实践-诸超

大数据对于技术运营

唯品会大数据实践-诸超
唯品会大数据实践-诸超
唯品会大数据实践-诸超

下面讲一下实时计算怎样来帮助公司的技术运营。这个指的是我们的实时业务监控,比如说作为一个电商,我要监控有多少用户实时在看、多少用户同时在线、多少用户看了多少PV,多少用户在浏览、多少用户在加购物车、多少用户在付钱等等,每个实时的东西我都应该知道,这就是一个很典型的场景。

唯品会大数据实践-诸超
唯品会大数据实践-诸超
唯品会大数据实践-诸超

这里谈一谈网站运营,比如说我的网站有5000个服务器,提供100多个不同的功能,每个功能是不是都在正常工作、是不是足够的响应快、响应时间是不是很长、错误率怎样……都应该知道。怎样用大数据的技术能够帮助到这一块,这是典型的Spark的运营场景。

刚才讲的是应用服务器,那么数据存储层这块,比如说网站上可能会有Oracle、Mysql、Hbase等各种各样的存储,那我这个存储作为service provider,提供出去的服务是不是正常。正常是什么意思?响应时间是对的,平常每个启动过来是1ms,现在还是1ms,平常是10ms,我还是10ms。如果出问题了,怀疑是数据库出问题,你要用数据来说话。又比如说请求量增加了10倍,每个库对我缓存的访问量是什么样子,各有什么样的百分比,各个是什么响应时间。其实大数据的核心就是用业务数据来说话。

唯品会大数据实践-诸超

大数据在唯品会特卖模式的业务价值

作为电商,我们其实是要引来流量或买来流量,然后买来商品卖给用户。我们要考虑东西怎么分到各个仓库里,这个很有讲究,能够极大地降低成本。另外,流量下来以后怎样把钱放到合适的渠道上。最后,用户进来之后,我们让他看到什么品牌和商品,才能促进买卖。

唯品会大数据实践-诸超
唯品会大数据实践-诸超

这是我们的数据化运营模式。对外,我们有供应商,会给他数据魔方。供应商关心什么,你应该让他看到,帮助他提高销售。对内,比如对高管,我们要让他实时地知道我们公司的运营情况,提供他关心的数据;对商务,我们买的东西是不是太贵,毕竟我们是做特卖的;对物流,我们进了10万商品怎么放到各个仓库。对产品/运营,就是对各个shop的评估;对供应商放贷款,要根据他过去的一些数字来决定放多少钱;对消费者,我们要有一个信用体系,你经常在我电商上面买,我知道你信用很好,又能让我赚到钱,用户又能很方便。还有用户体验,能够让用户看到、买到想要的商品,因为东西实在太多,在不提供搜索的情况下如何能让用户体验度足够好。

唯品会大数据实践-诸超
唯品会大数据实践-诸超

在推荐这一块我们是以上这样一个系统架构。最底下的数据进来,中间是数据模型。在这样一个场景下我们会有怎样的挑战?比如一天有一千万的用户上来,每个用户上来看到的商品其实很少很少,我们平均每天上线几百个档期,每个用户可能只看到2到6个就结束了,这个数据其实很稀疏。我们很多商品不像京东亚马逊之类的会长期售卖,所以没有长期的数据积累。在我们这里上线三天就结束了。很多商品都是新的,根本没有历史数据,怎么样来确定这一块的东西,是一个很大的挑战。

唯品会大数据实践-诸超

以上是我们在做大数据推荐的整体数据规划。对我们来说无非就是匹配人和商品,先从品牌类别到商品,再到用户,怎样一步步把这三个东西的细节都串在一起,实际就是将这三个东西做一个精准的match。

唯品会大数据实践-诸超
唯品会大数据实践-诸超

以上是我们走过的路。从一开始的摸索,到有所成效后继续一步步推广下去。唯品会是一个以商业起家的公司,商业的直觉很敏感,所以商务很强势,会觉得很多东西应该由商务来主导。我们是怎样跟他们磨合过来?就是先让商务来主导,发现没有成效,于是分流量给技术。而技术的确实现了最高百分之十几的销售额提升,有70%~80%的销售额产生在移动端。大数据是实实在在能给公司提供很大的价值,不只是指导业务、运营,还能让你多挣钱!

唯品会大数据实践-诸超

下一步要取得更大的成功,我们需要更实时,这是大数据跟传统DW的区别,它要的是一个全实时的系统。比如你浏览过一个音箱,虽然没买但表示你有兴趣,下次你浏览的时候我要把相关的东西推荐到前面去。又或者是你下单了音箱,我要怎么把音箱相关的电源线等配套东西推荐给你。

唯品会大数据实践-诸超
唯品会大数据实践-诸超

这是我们一些阶段性的成果和技术回顾。技术是要解决业务问题的,不要为了技术而技术。 关于技术选型,我们用业界标准best practice、用成熟的技术、reference customer、用最合适的技术而不是最先进的技术。

东西一直会变。比如说2年前我们根本没想过实时化,但是现在我们要求全部实时化;2年前很多东西都用Mysql,但我们看到了Mysql很多的问题,现在我们逐渐倾向Hbase;2年前我们很多东西是不用Spark的,直接用Hadoop,现在比如说前面的应用服务器跟数据库服务器(SQA)的检测,我们都是用Spark来做,30s就能出结果。

唯品会大数据实践-诸超
唯品会大数据实践-诸超

最后,是我们的推荐关键点以及解决之道,希望能对大家有所帮助。


(“中国数据资产管理峰会/DAMS 组委会”整理成文,架构师联盟微信号:jiagoushi2015)

加入架构师联盟

加入架构师联盟

友情连接

新炬网络

推荐阅读