挖掘大數據
覽·科學
作者:傅凱群
數據是無處不在的,隻要人類的活動依舊,且觀測行為始終存在,那麼數據就會不斷產生。一旦數據被記錄下來,它就會成為曆史的一個投影,被保存在各種各樣的信息媒介中。不過在互聯網時代,數據早已掙脫了簡單的數字束縛,它不僅可以是符號、文字、語音,更可以是圖像或視頻。
數據之豐
美景極致之時,我們會拿起手中的相機,將這種美永久定格。風景以照片的形式記錄下來。此時,照片的底片,或者數碼相機的存儲卡就是一個存儲數據的媒介。沒有相機的時代,古人會以文字的形式記錄,馬致遠的“枯藤老樹昏鴉,小橋流水人家”、李白的“飛流直下三千尺,疑是銀河落九天”……此時的媒介就是紙上的這一段文字。
如今,我們的數據記錄媒介更加多樣。比如,我們在超市購物的數據,會以文字的形式,被保留在超市的臨時數據庫中。而健身達人的夜跑經曆,則會被手機或是周圍的監控記錄。試想一下,全球70億人口每分每秒都會產生多少數據,而這些數據將會被如何記錄或是開發呢?
在互聯網技術、社交網絡媒體,以及硬盤存儲能力高速發展的今天,“記錄”這一行為正在變得越來越簡單和頻繁。人們在網絡上的任何行為,如在微博上發的消息、微信朋友圈中的好友、在京東購買的商品等等,都有可能被實時保存下來。很顯然,當用戶的數量達到一個非常巨大的數值時,這些用戶每秒鍾產生的數據都是一個天文數字。
數據之惑
麵對如此巨大的數據量,對於針對用戶的服務提供方來說,其價值是不可估量的。但如果數據的所有方缺乏一種有效的應用策略,那麼他們手中的數據將變得一文不值——數據和信息是不可分離的,數據是信息的表達,而信息是數據的內涵。數據本身沒有意義,數據隻有對實體行為產生影響時才會成為信息。
其實從信息索引的角度看,我們在麵對信息量爆炸和信息量極度匱乏這兩種情況時,如果沒有較好的方法,其結果幾乎是一樣的。如果今天沒有類似百度、穀歌這樣的搜索引擎,那我們應該怎樣在互聯網上找到所需的信息或是想要的答案呢?即便我們非常確定,想要尋找的內容一定存在於網絡之中。最後的結果想必是確定的,麵對如繁星般眾多的網頁,我們束手無策,找不到自己真正想要的答案。
在互聯網時代中,如何針對如此龐大的用戶數據,構建一個合適的、有價值的信息提取方案,就成了一個亟待解決的問題,而這個概念就是大家耳熟能詳的“大數據”中的一部分——數據挖掘。
數據之力
“大數據”是一個近年來才被提出的概念,它是指在不對已有數據進行抽樣提取的情況下,將原有數據作為整體進行處理的方案(當然這隻是一個比較寬泛的定義,有興趣的讀者,可以關注由維克托·邁爾·舍恩伯格和肯尼斯·庫克耶編寫的《大數據時代》)。而這樣的方案,不僅能讓我們擁有更強的決策力和洞察力,而且還能大大提升流程優化能力。
因此,大數據技術的戰略意義不在於掌握多麼龐大的數據信息,而在於對這些含有意義的數據進行專業化處理。換言之,如果把大數據比作一種產業,那麼這種產業實現盈利的關鍵,在於提高對數據的“加工能力”,通過“加工”實現數據的“增值”。
為了達到處理整體數據的目的,近年來,不少科學家在不同層麵上提出了許多非常有趣的新興技術。比如從數據處理角度出發,有分布式處理方法MapReduce。這是一種編程模型,用於大規模數據集(大於1TB)的並行運算。我們可以將它簡單地表述為,將非常大的輸入數據分成多份,然後並行處理,最後將並行處理的所有結果整合成最終結果。這項技術比較著名的應用工具有Hadoop和DISCO等。再從數據庫角度看,NoSQL數據庫以其在信息索引、流媒體存儲等方麵的高性能,如今已被廣泛應用。隨著互聯網Web2.0網站的興起,傳統的關係數據庫在應付Web2.0網站,特別是超大規模和高並發的SNS類型的Web2.0純動態網站時,已顯得力不從心,暴露了很多難以克服的問題,而非關係型的數據庫則由於其本身的特點得到了非常迅速的發展。NoSQL數據庫的產生就是為了解決大規模數據集合多重數據種類帶來的挑戰,尤其是大數據應用難題,比較著名的NoSQL數據庫有MongoDB和CouchDB等。