在大数据时代,每家公司都要有大数据部门吗?

如果这个问题换做是:在电气时代,每家公司都要有个发电厂吗?是不是会更好回答一些?

事实上每一种重大技术的出现,都会对产业产生大的变化。在蒸汽时代,采矿机采用蒸汽机后,会带来生产效率的极大提升,而轮船加上蒸汽机,再也不需要靠风才能航海了。在电气时代,电灯代替了蜡烛,电报代替了快马送信,而报纸也被广播和电视所侵蚀。

可以说是现有产业加上新技术,形成了新产业

我们回过头来看这两次工业革命,生产蒸汽机的企业只有少量几家,而发电的企业在美国也只有通用电气和西屋电气。并不是每家企业都要从事这些基础设施的研发和生产,更多的是对新技术加以应用,发挥新技术带来的价值。

在 IT 领域,软件刚出来时,可以说是计算和存储完全混杂在一起。有人尝试将计算硬件进行分离,歪打正着成就了 Intel。有人尝试将存储系统分离,因而有了 Oracle。

Intel 和 Oracle 固然伟大,但它们的价值更多的还在于有广大的企业采用了这些新的技术,在具体的行业中,产生了更大的价值。

同样,云计算这种理念固然是好,但如果每家企业都建立自己的云计算中心,从资金和人力投入上,一定是不划算的,更严重的问题是做不到最优。相反,有了 AWS 和阿里云这样的云计算提供商,让中小企业更便捷的进行创新应用。

回到题目中的问题,在大数据时代,每家公司都要有自己的大数据部门吗?结论也不能下的太武断。

早在 2008 年,云计算的概念刚刚兴起,百度内部出现了两拨势力。一拨要从零开始打造自己的大数据底层技术,把 MapReduce、GFS、BigTable 这些组件都要实现一遍,结果花了两三年时间,也没能稳定运行。

而另外一拨势力,直接采纳开源的 Hadoop 生态,很快在公司内应用起来。而我当时做的日志统计平台,也是采用了 Hadoop。但百度的数据规模毕竟太大了,所需的集群规模,开源版本根本撑不住,于是不得不改写 Hadoop,这样就和开源的版本渐行渐远,等到后来再也合不到一起了。

曾经有一年多的时间,我们部门新设计和实现和底层的存储及计算系统,结果发现开源的版本也差不多实现到了同样效果。虽然许多内部的人觉得我们怎么总重复造轮子,但我明白还是需求使然,你面临的需求相对领先,但也没有领先到像 Google 那样提早 5 年。

但对于小公司来说,则完全没必要从零开始做,还是要尽量用开源的产品。

整个 Hadoop 生态,要比我 2008 年刚用的时候,要成熟很多。那个时候我们去拿开源的版本,编译部署,一个新手可能两周都不一定能正常的运转起来。而现在下载一个 Cloudera 发行版,两个小时就可以正常跑任务了。

与此同时,又面临了新的问题,因为大数据平台牵涉到数据的采集、传输、建模存储、查询分析、可视化等多个环节,而开源领域只是一些组件,于是各家公司都在纷纷打造自己的大数据平台,这就像 Oracle 之前,各家都在打造自己的存储系统。这显然不是一件性价比高的事情。

有市场需求,就会有满足相应需求的公司诞生,于是就诞生了一堆提供大数据服务的公司。

由于这一新领域还处于早期,这些创业公司所能提供的服务并不会特别的完善,要么是以项目制的方式运转,要么是提供专门应用场景的服务。

这样,对于一些企业来说,这些创业公司提供的服务,似乎自己也能实现,那何不干脆自己做?

这创业一年多以来,我看到了太多的公司在打造自己的数据平台,但做的还不够完善。不管是技术实力还是人力投入上,都有点力不从心。如果选用了这些第三方数据服务,那岂不饭碗被抢了?

可我要说的是,饭碗早晚都会被抢,只是时间早晚的问题。这里只需要问一个问题:我所做的数据平台,是不是其他公司也是类似的需求?如果是的话,那肯定也有其他公司做着类似的事情,做的东西会大同小异。

那么,就会出现专门的公司,来解决这种通用的需求。因为这些公司专注于解决这一块问题,所以会更加专业,并且舍得投入。而对于需求公司来说,除非自己转型去专门做大数据平台,不然在投入上,肯定不是一件性价比很高的事情。与其如此,不如及早侧重于自己的核心业务,关注应用需求本身。

那对于企业来说,在大数据时代,应该怎么做呢?我的建议是三点: