大数据是阿猫阿狗都能玩的吗

几年前大数据的概念就很火了,一般人顾名思义,觉得数据量很大那就叫大数据。这也可以理解,如果不是这样,那么大数据这个名称也许是起错了。很多人甚至做到了言必称大数据,甭管他们可能实际上连大数据的四V特征都不了解,很多公司老板也想追赶时髦,都会对外宣称自己的企业最近在搞大数据。

那么实际状况呢,在这里引用一个流传甚广的幽默说法吧:

Big data is like teenage sex: everyone talks about it, nobody really knows how to do it, everyone thinks everyone else is doing it, so everyone claims they are doing it…

大意是:大数据这东西像青少年那个,每个人都谈论它,却没人知道怎么做,每个人都以为别人在做,因此他们也都声称自己在做。

要玩大数据,首先得明白,你想要怎么样的数据,可以拿到怎么样的数据,接着考虑这些数据是否有价值,数据中是否蕴含了有价值的信息,可以从中挖掘出哪些信息,然后再考虑如何分析挖掘。要挖掘出哪些信息,就是数据分析的目标,也是业务目标,因此可以知道,要进行大数据分析,一定是因为业务有需求,而且这种需求越明确越好。如果只是追赶时髦,那么就会在需求不明确甚至是伪需求的情况下,贸然组建大数据研发团队,然后研发人员隔三差五跑去找业务人员了解他们的需求,还往往不能了解得到,于是每天干着急啥事没做成。研发人员可以通过自动化工具进行数据的采集,然后使用一些方法进行分析,但是他们首先得知道业务那边想要怎样的结果,才能反过来确定分析方法和进行哪种数据的采集。而如果相关业务人员或者比较有话语权的业务人员不理解这一点,不配合研发人员进行需求梳理和目标确立,那么研发人员即使身为巧妇,也难为无米之炊。

要是以上的问题都解决了呢?那么研发部门就要承担重任了,数据采集方法、数据分析方法、系统架构设计等等都是他们需要做的。情形可能是这样:

研发部门的小哥受主管使指,去网上搜了一圈,发现Hadoop是离线大数据分析的好框架,然后又知道Spark框架是为了提高分析速度而用内存代替磁盘等等。为了使用更新的技术,研发小哥决定选择选用Spark,于是开始学习如何搭建Spark集群。几天之后,他照着网上的教程,使用几台虚拟机搭建好了集群,并做了一些测试。但如果数据量真的上来了,这几台虚拟机跑不动了怎么办,而且还需要有公网IP,毕竟数据分析结果是需要实时能从各个终端查看的。如果购买物理服务器,这些物理服务器放在公司里,怎么进行网络连线,怎么进行IP分配?如果托管在别人机房那里,需要哪些步骤?研发小哥一下子觉得脑子不够用了,深深叹了口气。这年头阿猫阿狗都在玩大数据,没想到自己搞大数据的时候,竟然是无从下手。叹气归叹气,事情还是要做的,于是研发小哥硬着头皮继续研究。

这年头,大数据是阿猫阿狗都能玩的吗?是,也不是。如果是,那上文说到的研发小哥为嘛还长叹一声呢?也许他们团队走在了错误的道路上。如果你有过搭建物理机集群的经验,有过配置交换机、划分VLAN、配置存储系统和磁盘阵列的经历,你一定觉得这些事情是相对耗费时间并且容易出错的。对于一个经验不够丰富,没什么大牛甚至小牛都没有的技术团队,去自己搭建一个简单的集群虽然也不算难事,但是维护集群、让集群具备可扩展性、对集群进行监控、进行自动故障恢复等却有一定难度。

退一步,假设集群搭建维护的问题也可以解决了,那么就到数据采集和分析。数据采集没有太多好说的,数据分析方法却是重中之重,因为如果分析方法不对,得出的信息可能完全没有价值,甚至起误导作用。研发小哥现在可能又去网上搜索一圈,比较各个深度学习框架,看看人家都怎么说,然后决定自己是该选择TensorFlow还是Caffe之类的。比啊比,反正最后是选了一个,然后找训练样本进行深度训练啊等等接下来的事情够他们团队里的人忙活了……

这艰难的一年终于熬到头了,研发部门小哥们在都在盼着年终奖。万万没想到的是,业务部门觉得大数据分析的结果对业务没有帮助,把业务不增长归因到研发部的大数据分析效果不佳上。而老板一盘算,研发部门扩招人员的成本、购买服务器等等成本比去年大大增加了,脸一绿,心一横,研发部小哥们望眼欲穿的年终奖只能成为了他们永远藏在心底的美梦,不仅如此,想到来年可能会面临的裁员问题,小哥们更是瑟瑟发抖了……

前面我们提到了,或许研发团队一直走在了错误的道路上。对于一个中小企业来说,在需求不明确的情况下组建大数据团队,然后自己搭建大数据基础设施的做法是有风险的,风险在于成本和效益不成正比。对于中小企业来说,在进行大数据架构时,应该优先想到各种成熟的云平台,比如阿里云的一站式大数据服务平台数加,这个我曾经在拙作《漫谈中小企业研发技术栈》中同样有提到。现在很多云平台都有按需使用按需付费的功能,买个集群也就点点几下鼠标的事情,那么中小企业使用云平台不仅仅可以快速搭建开发环境,还能在成本上节省很多。使用云平台,就把物理集群搭建、维护、监控这种脏活累活扔给了云服务商,也就是基础设施部分尽量少花时间精力甚至完全不花,研发团队把精力放在数据分析方法和如何通过分析结果推动业务增长和创新上。

到这里其实我们大致可以得出结论了,就是有了云服务和众多的开源组件,阿猫阿狗还真都能玩玩大数据,关键是要有明确的业务目标,能采集到所需要的数据,能找到正确的分析方法,懂得选择借力合理的工具。只要其中一个环节没有做好,大数据项目将难以避免失败的命运,最后只看到研发小哥们一张张落寞的脸消溶在夕阳里。

微信扫码,进入【技术人成长】社群逛逛。