大家也许还没意识到,但实际上数据的重要意义已经不局限于计算机系统当中的关键性要素——数据已经在各个领域开枝散叶、成为维系整个世界的枢纽。
引用来自摩根大通公司一位常务董事的评价,数据已经成为“企业的命脉”。他是在最近刚刚举办的一场重要技术会议(以数据为主要讨论对象)上抛出这番言论的,本次会议还深入解析了各机构走向“数据驱动”之路的途径。
《哈佛商业评论》杂志称“数据科学家”将成为“二十一世纪最性感的职位”。在这篇刊发的文章中,作者详细描述了Netflix如何采集每位用户所进行的每一项操作,并将我们“从快乐的用户转化成无意识的傀儡”。文章还告诫大家称“海量数据分析与处理已经成为现实,且有愈演愈烈之势。”
不顾后果、毫无章法地使用“大数据”概念
前面提到的所有文章都在极力鼓吹大数据的优势与威能,并希望借此实现大数据的宣传、营销或者盈利目标——毫无疑问,大数据已经成为今年最耀眼的技术发展趋势。如果读者朋友自己是技术人士,应该会明显感觉到如今这个时代开口不谈大数据简直没脸跟同仁打招呼。但与此同时,大家似乎对这个话题都说不出个所以然,因为没几个人能真正说清大数据是个什么玩意儿。呃,其实这一结论也有点武断。严格来说,目前的大数据概念主要从属于几股以产品为载体的派别:
• 由于业界大佬谷歌、Facebook及Amazon对于信息的极度渴求,处于爆炸式增长中的新数据被批量收集起来(包括存储、处理以及分析)。
• 信息的多元化特性愈发显著,这一状况源自网上购物、Facebook状态更新、tweet内容、图片共享以及各类登记资料等等。
• 整个业界都在渴求一种能够将如此庞大数据尽快、尽可能高效打理好的方案。
然而大数据概念似乎正被不顾后果、毫无章法地过度使用;即使偶尔使用方法对路,其适用范围也并不像技术人员想象的那么宽泛。
前面提到的三种派别都是真实存在的。谷歌公司正在极力攫取来自各类资源的每一字节信息内容,试图为尽可能多的用户创建与其使用习惯相匹配的配置文件。(这种思路无疑是把双刃剑:就以Google Now为例,它会以‘在客户发现需求前推荐合适的产品’为借口大肆进行广告宣传——但在这里我们不打算讨论道德层面的问题。)
很显然,这种源自各类源头的数据信息不会以规则的形式存在。因此谷歌公司可能需要一套独特的处理工具集来打理这些数据,至少这类方案不同于过去存在的任何数据数量及类型。
目前声名最盛的两大工具分别为Hadoop——一款非关系型分布式数据库框架——与MapReduce——一套由谷歌公司开发的算法集合,旨在将来自各类资源的多元化数据整理为独立的一套键/值对。通过Hadoop与MapReduce,谷歌能够将海量数据集合拆分为可以管理的数据块,并通过服务器群独立处理这些非状态化数据块。
这一切真能成为现实吗?在无需复杂的预处理过程的前提下将原本无法轻松、快速管理的大数据集合通过关系型数据库打理好?有可能。 #p#
谷歌公司的特殊需求
MapReduce真如传闻中那样有能力承载数据合并技术之王、游戏规则改写者的桂冠吗?答案几乎是否定的:谷歌公司此项专利技术的合法性一直备受质疑,而且不少现有产品都能够以更简单的方式轻松实现相同的功能。目前谷歌在网络上公布的基本MapReduce实例只有几十行Java代码,从这些内容上看我们找不到任何革命性的理念及突破。
但我们姑且假设谷歌公司需要这些工具来满足自身非常独特的需求,换言之,我们不妨假定各类现有工具及数据库框架还不足以实现谷歌的技术雄心。在这种情况下,大数据显然并不能成为适用于所有机构、适合处理所有海量计算机应用的方案。尽管大数据支持者们始终坚信这一点,但我们对于此类新型数据库及软件模型尚无法寄托如此级别的厚望。
大量数据,甚至是海量数据的不断涌现也早已算不上什么新鲜事。在投资银行领域,高频交易系统始终需要以微秒为时间单位处理众多交易事务;市场数据引擎多年来也一直需要以秒为单位存储并处理成千上万价格标记。
再来说说我的朋友Ken Caldeira,他在斯坦福大学卡内基研究所里埋头鼓捣气象科学。正如预料,我发现他经常需要与“PB级数据”打交道。我另一位曾在华尔街接受过数据分析工程培训的物理学家同事则在2000年之后花了长时间搞基因组研究,根据他的说法整个研究过程中存在“数据惊人的数据需要进行分析”。
在大数据的时代,前所未有的庞大数据集经常被引用、几乎每个人都或多或少与之有所接触,而上一代工具面对如此规模的工作量显得非常无力。
但在大多数情况下,Caldeira和我的数据分析专家朋友还在使用……Python脚本与C++来解决问题。没错,确实有不少大数据用户目前在使用大规模并行架构、集群及云计算实现处理工作,但这种做法已经出现了十年以上;而且如我的朋友所指出,“人们常常分不清自己在云中做出的成果跟他人有何区别,这是因为云环境下的数据无法明确区分出不同开发者做出的贡献。”利用分布式数据库来赢得更快的速度与更安全的冗余机制对于每位用户都非常重要,至少能够帮助我们显著压缩现有硬件成本。
你能想象自己信赖的银行在tweet及Facebook博文中计算账户信息吗?
另一种引发大数据算法变革的因素在于不同类型数据的爆炸式增长。正如前文所述,谷歌与Facebook等公司需要为配置文件或来自各类资源的统计信息进行创建及处理工作,更令人头痛的是这些信息的格式同样多种多样。当然,并不是每位用户都面临着这样的问题。当人们讨论这些新型、凌乱繁杂的非结构化数据时,他们大多数情况下指的都是来自社交网络及博客平台的信息。
银行领域所使用的核心系统(在处理交易事务方面,老式关系类数据库仍然占据着绝对的统治地位)真的需要接触到社交媒体数据吗?库存系统、数字目录或者癌症研究人士所使用的系统呢?我们还需要考虑,如果数据出于某种原因而无法通过分布式、无状态的方式处理,大数据技术又能起什么作用?
高度非结构化数据仍然占据着专门但规模相对有限的利基市场,但其表现与地位则相当抢眼。与当下常见的系统不同,大数据技术不需要对来自各类资源的合并数据提前进行解析、翻译或者预处理。
如果某家公司在多年之后突然认为自己需要大数据技术来让业务更进一步,则意味着他们一定在业务领域迎来了根本性转变、开始走向与之前的经营方式完全不同的发展道路——很显然,即使是在极端情况下上述假设也很难成立。 #p#
让你的系统具备可扩展性,一夜之间大数据就可能来到身边
大数据这个概念常常被过度滥用,要么就是被完全错误理解。对于某个特定应用程序中数据量的增加而言,无论这种增长幅度有多么迅猛,我们都不能就将其称之为大数据应用。我们需要做的是对这套系统进行扩容,而这个过程根本没那么复杂——只需做一些设计调整,如果系统本身就预留了扩展设计,连调整都不需要。
以计算机为基础的文本分析工作则始终处于发展之中。记得二十世纪七十年代就有学者在对莎士比亚的戏剧作品进行分析,希望找出其特定单词出现的频率与模式——当时我就被深深吸引住了。如果说如今的大数据有什么新突破的话,可能就是将这项工作扩展到范围更大、数量更巨的文本内容中来。
如果这些文本在20年前就已经出现,而我们要在当时对其规律与模式进行摸索,那简直是不可能完成的任务。科学家们纷纷摇头甩手,表示“我们已经有技术基础了,只是无法真正实现。”即使是在仍不了解这些分析工作细节的今天,我发现研究人士仍然很难通过完全不同于传统排序及搜索思路的方式构建代码算法。可以说大数据在这方面并没有带来什么开创性成就。
如果DVD光盘租赁公司能够在上世纪九十年代抓住这类细节信息,他们可能会很乐于积极捕捉并加以分析。这种令人不安的趋势引出一个问题:电影租赁公司在拥有这种能力后会如何加以利用、怎样将其转化为利润或者给企业之间的合作带来哪些影响?这些数据就像拼图中的图块,能够解开这道谜题将使得企业拥有绝对的主动权。
“数据”并没有在一夜之间就成为万恶之源,最多只能说是一跃成为新时代的另一种重要资源。我们既不应该过分迷信大数据、将现有非大数据技术马上弃之不顾,也不应该将一切问题都推在大数据身上。很显然,传统技术不会瞬间“过时”、新技术也无法一手遮天。