大家也許還沒意識到,但實際上數據的重要意義已經不局限于計算機系統當中的關鍵性要素——數據已經在各個領域開枝散葉、成為維系整個世界的樞紐。
引用來自摩根大通公司一位常務董事的評價,數據已經成為“企業的命脈”。他是在最近剛剛舉辦的一場重要技術會議(以數據為主要討論對象)上拋出這番言論的,本次會議還深入解析了各機構走向“數據驅動”之路的途徑。
《哈佛商業評論》雜志稱“數據科學家”將成為“二十一世紀最性感的職位”。在這篇刊發的文章中,作者詳細描述了Netflix如何采集每位用戶所進行的每一項操作,并將我們“從快樂的用戶轉化成無意識的傀儡”。文章還告誡大家稱“海量數據分析與處理已經成為現實,且有愈演愈烈之勢。”
不顧后果、毫無章法地使用“大數據”概念
前面提到的所有文章都在極力鼓吹大數據的優勢與威能,并希望借此實現大數據的宣傳、營銷或者盈利目標——毫無疑問,大數據已經成為今年最耀眼的技術發展趨勢。如果讀者朋友自己是技術人士,應該會明顯感覺到如今這個時代開口不談大數據簡直沒臉跟同仁打招呼。但與此同時,大家似乎對這個話題都說不出個所以然,因為沒幾個人能真正說清大數據是個什么玩意兒。呃,其實這一結論也有點武斷。嚴格來說,目前的大數據概念主要從屬于幾股以產品為載體的派別:
·由于業界大佬谷歌、Facebook及Amazon對于信息的極度渴求,處于爆炸式增長中的新數據被批量收集起來(包括存儲、處理以及分析)。
·信息的多元化特性愈發顯著,這一狀況源自網上購物、Facebook狀態更新、tweet內容、圖片共享以及各類登記資料等等。
·整個業界都在渴求一種能夠將如此龐大數據盡快、盡可能高效打理好的方案。
然而大數據概念似乎正被不顧后果、毫無章法地過度使用;即使偶爾使用方法對路,其適用范圍也并不像技術人員想象的那么寬泛。
前面提到的三種派別都是真實存在的。谷歌公司正在極力攫取來自各類資源的每一字節信息內容,試圖為盡可能多的用戶創建與其使用習慣相匹配的配置文件。(這種思路無疑是把雙刃劍:就以GoogleNow為例,它會以‘在客戶發現需求前推薦合適的產品’為借口大肆進行廣告宣傳——但在這里我們不打算討論道德層面的問題。)
很顯然,這種源自各類源頭的數據信息不會以規則的形式存在。因此谷歌公司可能需要一套獨特的處理工具集來打理這些數據,至少這類方案不同于過去存在的任何數據數量及類型。
目前聲名最盛的兩大工具分別為Hadoop——一款非關系型分布式數據庫框架——與MapReduce——一套由谷歌公司開發的算法集合,旨在將來自各類資源的多元化數據整理為獨立的一套鍵/值對。通過Hadoop與MapReduce,谷歌能夠將海量數據集合拆分為可以管理的數據塊,并通過服務器群獨立處理這些非狀態化數據塊。
這一切真能成為現實嗎?在無需復雜的預處理過程的前提下將原本無法輕松、快速管理的大數據集合通過關系型數據庫打理好?有可能。
谷歌公司的特殊需求
MapReduce真如傳聞中那樣有能力承載數據合并技術之王、游戲規則改寫者的桂冠嗎?答案幾乎是否定的:谷歌公司此項專利技術的合法性一直備受質疑,而且不少現有產品都能夠以更簡單的方式輕松實現相同的功能。目前谷歌在網絡上公布的基本MapReduce實例只有幾十行Java代碼,從這些內容上看我們找不到任何革命性的理念及突破。
但我們姑且假設谷歌公司需要這些工具來滿足自身非常獨特的需求,換言之,我們不妨假定各類現有工具及數據庫框架還不足以實現谷歌的技術雄心。在這種情況下,大數據顯然并不能成為適用于所有機構、適合處理所有海量計算機應用的方案。盡管大數據支持者們始終堅信這一點,但我們對于此類新型數據庫及軟件模型尚無法寄托如此級別的厚望。
大量數據,甚至是海量數據的不斷涌現也早已算不上什么新鮮事。在投資銀行領域,高頻交易系統始終需要以微秒為時間單位處理眾多交易事務;市場數據引擎多年來也一直需要以秒為單位存儲并處理成千上萬價格標記。
再來說說我的朋友KenCaldeira,他在斯坦福大學卡內基研究所里埋頭鼓搗氣象科學。正如預料,我發現他經常需要與“PB級數據”打交道。我另一位曾在華爾街接受過數據分析工程培訓的物理學家同事則在2000年之后花了長時間搞基因組研究,根據他的說法整個研究過程中存在“數據驚人的數據需要進行分析”。
在大數據的時代,前所未有的龐大數據集經常被引用、幾乎每個人都或多或少與之有所接觸,而上一代工具面對如此規模的工作量顯得非常無力。
但在大多數情況下,Caldeira和我的數據分析專家朋友還在使用……Python腳本與C++來解決問題。沒錯,確實有不少大數據用戶目前在使用大規模并行架構、集群及云計算實現處理工作,但這種做法已經出現了十年以上;而且如我的朋友所指出,“人們常常分不清自己在云中做出的成果跟他人有何區別,這是因為云環境下的數據無法明確區分出不同開發者做出的貢獻。”利用分布式數據庫來贏得更快的速度與更安全的冗余機制對于每位用戶都非常重要,至少能夠幫助我們顯著壓縮現有硬件成本。
你能想象自己信賴的銀行在tweet及Facebook博文中計算賬戶信息嗎?
另一種引發大數據算法變革的因素在于不同類型數據的爆炸式增長。正如前文所述,谷歌與Facebook等公司需要為配置文件或來自各類資源的統計信息進行創建及處理工作,更令人頭痛的是這些信息的格式同樣多種多樣。當然,并不是每位用戶都面臨著這樣的問題。當人們討論這些新型、凌亂繁雜的非結構化數據時,他們大多數情況下指的都是來自社交網絡及博客平臺的信息。
銀行領域所使用的核心系統(在處理交易事務方面,老式關系類數據庫仍然占據著絕對的統治地位)真的需要接觸到社交媒體數據嗎?庫存系統、數字目錄或者癌癥研究人士所使用的系統呢?我們還需要考慮,如果數據出于某種原因而無法通過分布式、無狀態的方式處理,大數據技術又能起什么作用?
高度非結構化數據仍然占據著專門但規模相對有限的利基市場,但其表現與地位則相當搶眼。與當下常見的系統不同,大數據技術不需要對來自各類資源的合并數據提前進行解析、翻譯或者預處理。
如果某家公司在多年之后突然認為自己需要大數據技術來讓業務更進一步,則意味著他們一定在業務領域迎來了根本性轉變、開始走向與之前的經營方式完全不同的發展道路——很顯然,即使是在極端情況下上述假設也很難成立。