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