大数据与IT基础架构
有研究表明:人类70%的活动都是有规律可循的。大数据,可以让我们看到这种规律并预知未来,例如通过整理近期的气象情况和卫星云图,我们能够判断未来几天的天气状况。去年,央视两次携手百度分别打造“据说春运”与“据说春节”特别节目——“据说春运”携手百度地图,用大数据展现春节前后人口大迁徙的轨迹与特征;“据说春节”运用百度大数据来述说回娘家、恐婚族等春节长假期间的热门话题。可见,通过解读数据可以发现有趣的现象、挖掘以往被忽视的规律,还可以对人类的行为进行预测。
事实上,数据分析的案例自古有之,在前几年也有很多数据挖掘技术和应用的出现。但这些数据挖掘技术对数据的使用,都是先抽样、萃取人们或系统认为有价值的数据,再分析、挖掘,而并不是使用全部数据。原因很简单——信息的收集、存储和信息分析的系统构建、维护成本过于巨大,所以人们总是习惯在信息收集的过程中,把有关联的少部分精确数据留下。
以人们的日常购买行为为例,传统超市会通过对“时间、产品销售量/销售额”这几个指标的分析,判断近期哪些货品是热销产品,在短期更受用户的欢迎,进而对热销货品提供充足的货源保障,把热销货品放在超市最容易接触的位置,提供某些促销优惠等等。
再看另一个来自美国的零售商塔吉特的案例,它使用大数据进行“怀孕趋势分析”。通过对大量消费记录的分析,塔吉特公司注意到,准妈妈很可能在怀孕第三个月的时候购买某种乳液,并陆续购买营养品(如钙、镁、锌等)。塔吉特公司找到了几十种关联物,通过这些关联关系,预判客户是否怀孕以及预产期的大概日期。在客户怀孕的不同阶段,该公司会向客户推销相应的产品或优惠券。
前两个案例,分别是典型的“小数据”分析和“大数据”分析。大数据不仅是数据量大,同时数据种类多;不是数据的抽样,而是数据的全集;不是与目标有因果关系的数据,而是所有有关联的数据。与传统的数据分析相比,大数据可以被用来开发新产品和新型服务,其价值越来越受到关注。
为什么在几年前,没有人收集和利用全部的数据,再进行大数据分析呢?除了成本上的考虑,还存在另一个问题:传统上,人们是基于单一“业务”去构建系统,而不是基于“数据”去构建系统。例如,某超市要建设一个CRM系统,IT部门会基于“客户管理”这个业务采购软硬件,所有建设都围绕“客户管理”,很少考虑开放、兼容等特性;如果想再上一套“行为分析”系统,则围绕“行为分析”这个业务去采购软、硬件。当需要把两个系统的数据进行统一分析时,由于两套系统不兼容,需要中间件来转接、编译,因此两套系统各自要进行二次开发以实现兼容,使得操作难度变高,造成有价值的“数据”被困在了“系统”这个孤岛里。因此在规划初期,就应充分考虑到数据的流动性、系统的兼容性,考虑到数据将会被各种系统多次使用的情况。
也许有人会说:这样的系统规划会非常复杂,构建成本太高,很难把系统的模型和方案想清楚。我们再来看看互联网公司。大型互联网公司这几年在构建IT系统时,都会采用标准架构:如X86服务器、标准化的网络协议、开源的数据库、分布式存储等等。因为只有这样,才能够通过统一的硬件和软件平台来承载各种各样的业务。比如微信、QQ、游戏、视频等业务都是承载在同一个平台上,所有数据的流动在基础设施这个维度里都是自由的。所以我们看到如腾讯、阿里巴巴等互联网公司上线新业务的速度非常快,而且能够根据用户各种网络行为,判断互联网用户感兴趣的“热点”,在某项业务上再叠加新服务。这就是大数据的典型应用。
在构建了标准的硬件、软件基础设施之后,业务可以被逐步规划,分阶段上线,但是所有的业务架构、程序接口,都应按照标准基础设施的统一要求进行设计开发。大数据本身是“业务”,需要建设者用更多的时间去摸索业务模型,在实践中完善新技术,把现有的封闭的系统逐步改良为开放的标准化架构。
从IT的发展趋势看,大数据时代是在云计算建设成熟之后到来的,大多数互联网公司的建设历程也遵循了这种规律。云计算将带来标准、统一的IT架构,消除割裂和信息孤岛,并且简化大规模IT部署和运维的复杂程度,而这些都是大数据分析系统建设的前提。