大資料是具有海量、高增長率和多樣化的資訊資產,它需要全新的處理模式來增強決策力、洞察發現力和流程優化能力。
Big data is high volume, high velocity, and/or high variety information assets that require new forms of processing to enable enhanced decision making, insight discovery and process optimization.
大資料通常都擁有海量的資料儲存。僅根據2013年的統計,網際網路搜尋巨頭百度已擁有資料量接近EB級別、阿里、騰訊宣告自己儲存的資料總量都達到了百PB以上。此外,電信、醫療、金融、公共安全、交通、氣象等各個方面儲存的資料量也都達到數十或者上百PB級別。
非IT圈的朋友可能會問,EB和PB是什麼鬼?這裡列出一個計算公式:
1TB = 1024 GB
1PB = 1024 TB
1EB = 1024 PB
目前標配的個人電腦硬碟容量差不多1TB大小。那麼1EB就相當於1024 X 1024 = 1048576 塊硬碟的儲量,足夠讓一輛C-130大力神運輸機往返運輸數十次!
面對這樣規模的資料儲存量,依靠單臺資料庫伺服器顯然是不夠的,需要以分散式檔案系統(例如 HDFS)作為基石。
在傳統的關係型資料庫中,所儲存的資料都是結構化的,例如:
但是在現實生活中,資訊往往並沒有嚴格的結構限制。比如一個電商網站需要記錄如下使用者行為:
使用者張三, 於某某時間在商品搜尋欄搜尋了“蘋果手機”一詞,然後進入 XXX 商鋪進行瀏覽,經過與店家溝通,討價還價,最終以6000元的價格購買了 iPhone 7 “鋼琴黑”款式手機一部。
諸如此類的使用者行為資料屬於非結構化資料,很難用關係型資料庫儲存。因此諸多No-SQL資料庫(例如 HBase)成為了儲存大資料的更好選擇。
如果沒有更加快速有效的海量資料解決方案,那麼如此大量多樣的資料不但沒有帶來更多價值,反而成為了系統的負擔。關於這一點,谷歌公司率先提出的MapReduce模型為我們帶來了新的道路。
MapReduce可以簡單的理解成一種分治方法:把龐大的任務分成若干小任務,交給多個節點進行並行處理,然後再把所有節點的處理結果合併起來,從而大大提升了資料處理效率。(關於MapReduce的詳細流程,將會在以後的文章中進行講解。)
人工智慧:
以大資料作為機器學習的訓練集,從而訓練出擁有一定決策能力的人工智慧。典型的代表案例就是谷歌的AlphaGo, 通過大量圍棋棋局的學習,最終擁有了打敗圍棋世界冠軍的能力。
商業分析:
從大量的使用者行為資料中挖掘出有價值的商業資訊。典型代表是著名社交公司LinkedIn,他們通過使用者之間的關聯關係,繪畫出學校、公司、人才之間龐大而複雜的資訊網路。不僅如此,LinkedIn還通過大量求職者和招聘方的資訊,分析出哪些公司正在迅速擴張,哪些公司正在流失人才,哪些公司之間正在展開人才市場的爭奪。這些對於客戶公司來說,都是無價之寶。
犯罪預測:
洛杉磯警察局曾經藉助一套原本用於預測地震後餘震的大資料模型,把過去80年內的130萬個犯罪記錄資料輸入進去,結果發現其預測出的犯罪高發地點與現實驚人的吻合。後來該預測演算法經過改進,已經成為了當地警局重要的參考依據,大大降低了當地的犯罪率。
這裡所介紹的相關知識,只是作者對於大資料領域的淺層次理解。通過這篇漫畫,希望沒有從事過IT行業,或者不瞭解大資料的朋友們能夠對大資料有一些初步的認知。
希望有經驗的朋友們對本文提出寶貴意見,指出其中的紕漏和不足,非常感謝!
打賞支援我寫出更多好文章,謝謝!
打賞作者
打賞支援我寫出更多好文章,謝謝!