作者 | 一驥絕塵
什么是大數據?
“大數據”這個詞相信大家都十分熟悉。從字面理解,這不就是很多很多的數據嗎?
那什么是很多很多的數據呢?戰國時代,五輛馬車裝載的竹簡就是很多很多的數據。到宋代,壘起來跟人一樣高的書籍就是很多很多的數據。到我小時候,1.44MB的軟盤里就承載了很多很多的數據。時至今日,256GB基本是手機存儲容量的標配,1TB硬盤里的存儲空間也經常捉襟見肘。經常談論到PB和EB(1PB=1024GB,1EB=1024PB),才讓人感覺到數據量確實很多很多。
對于大數據,很多機構和學者都給出了不同的定義,例如研究機構Gartner給出了這樣的定義:“大數據”是需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力來適應海量、高增長率和多樣化的信息資產。麥肯錫全球研究所給出的定義是:一種規模大到在獲取、存儲、管理、分析方面大大超出了傳統數據庫軟件工具能力范圍的數據集合。
那我們怎么來理解大數據呢?實際上我們可以從大數據的3V特征來剖析。
Volume
指的是數據總量大,一般來說其數據量起碼超過一臺計算機的內存和硬盤容量。例如2020年12月的微博月活躍用戶數為5.21億,微信月活用戶數則為12.25億。其產生的數據總量是巨大的。
Velocity
指的是數據產生和變化的速度快。例如世界上平均每分鐘就會有2億封郵件發送出去。一個傳統車載毫米波雷達每秒鐘就可以產生100MB的原始數據。
Variety
指的是數據的多樣性。例如一輛智能駕駛汽車上需要采集的數據可能就包含了視頻數據、毫米波雷達射頻原始數據、環境聲音數據、GPS定位數據和V2X網絡連接數據等。這些數據都有不同的數據格式和特征。
正因為具有這3V特征,大數據的處理難度很高,亦因此衍生出云計算、數據挖掘、邊緣計算等技術手段。
大數據與AI
當我們談到大數據和數據科學,我們腦海里經常還會浮現出另外一個概念,AI,也就是人工智能。
AI是數據科學和計算機科學的一個重要技術領域,通俗來說就是讓計算機來做一些以往由人類智能來完成的事情,例如下圍棋和駕駛汽車等。下圖是從2011年以來,關于“大數據”和“AI”的百度搜索指數。可見“大數據”在12年之前甚少被搜索,在17年左右到達了搜索的巔峰,之后有所回落。而“AI”則在11年及更早就被人們所了解并搜索,在17年開始搜索量猛增。
總體來看,這近10年來“大數據”以及“AI”的搜索熱度具有類似的漲跌態勢,其原因是二者確有聯系,而且相輔相成。近年來AI技術的發展,最主要是構筑在機器學習技術應用的新基礎之上。機器學習實際上是一種數據分析技術,讓計算機執行人和動物與生俱來的活動:從經驗中學習。機器學習算法可以是簡單的線性回歸,也可以是復雜的深度神經網絡(DNN)。
AI,尤其是機器學習,需要海量的數據來訓練模型,而且這些海量數據都需要恒定快速地輸入輸出,同時AI也越來越多地用于處理各種類型的數據,例如視頻、圖片和電磁波等。這正是與大數據的3V特征相契合,也是大數據與AI近年來能夠相互促進的原因。
大數據與數據科學
使用傳統的數據分析方法很難處理大數據,往往需要專門的數據建模技術、工具和系統來提取組織所需的價值。數據科學則是一種科學方法,應用數學和統計學思想、計算機工具和專業背景知識來處理大數據。
上圖是Drew Conway提出的數據科學文氏圖,它將數據科學的幾個特性和概念可視化地呈現出來。
Hacking Skills指的是編程等計算機技術。因為很多數據都是非結構化的或特殊格式存在,可以通過編程技術收集和準備數據,還可以對海量數據進行統計,處理數據庫等。
Math and Statistics
指的是數學和統計學。這些數學和統計學工具,如概率分布、代數等可以幫助分析數據,診斷問題或者根據數據特征確定分析步驟。
Substantive Expertise
指的是專業背景知識。這些背景知識可能是商業、醫療保健、金融、教育、汽車駕駛等,對該領域的熟悉有助于更高效地實施數據科學來解決問題。例如需要在一天的路試數據中尋找泊車場景的部分,具有專業背景的工程師可能就會直接通過車輛擋位信號來尋找,看信號什么時候切換到“R”擋。
這三種關鍵技能有相互重疊的應用場合,三種共用可以組合成綜合的數據科學方法,也可以單獨應用某個或者某兩個技術。這些技術本身沒有優劣和高低級之分,關鍵還是要明確我們處理大數據的目的,以及數據本身的特性,選擇最適合的一種技術組合,作為我們處理大數據的工具。
機器學習就是結合計算機技術和統計數學方法,但忽略專業背景知識的一種技術。例如深度神經網絡算法中可能會用到很多隱藏層,具體每一層和每一個參數的特征往往不是從專業背景知識或者上下文出發,我們也無從理解。
而有些時候我們結合背景知識,運用統計數學模型也可以處理數據,不一定要用到編程技術,這就是傳統的調查技術。例如我們在進行某項競品分析時,可能按照背景選取關鍵的幾個競爭對手,用Excel做一個簡單的數據統計表就足以說明問題,達到我們的目的。
只通過計算機技術和背景知識,而不需要統計數學模型的場合被DrewConway稱為危險區域,實際上是指這個區域很少會出現。一個典型例子是計算某個詞匯在文章出現的次數。
數據類別和儲存計算
工作中有時我們會遇到工作交接的情況。如果上一任頭腦清晰,資料整理很有邏輯很有結構,那么下一任就會輕松很多。在大數據領域,我們也有基于結構化程度對數據進行分類。具體的三種數據類別是:
結構化數據:
這是我們腦海里通常會想到的數據的樣子。這些數據都是按行和列整理好,附帶好標簽,每一個數據類型該處與什么位置都是井井有條,規則明晰的。典型的例子就是一般的excel電子數據表和汽車通訊矩陣。
半結構化數據:
這種數據的變量也是定義好的,但是其規則不是一成不變的。一般是通過標記符號來標注數據,而且標記符號是可變的。典型的例子就是超文本標記語言(HTML)和基于AUTOSAR的拓展標記語言(ARXML)等。下圖就是一個ARXML文件的截圖例子,從中我們能讀到相關的變量信息,例如“AntiReplay”的屬性是“True”和幀的長度是64。但是每個ARXML中的變量定義都不一樣,例如有些幀沒有安全屬性,那么它們就會沒有“AntiReplay”的定義。
非結構化數據:
這種數據類別既沒有統一的定義規則,也沒有固定的數據變量。典型的例子就是我們微信朋友圈里的數據,里面既可能有數字、表情、多國語言文字、圖片、音視頻等多種數據類型,數據長度不確定,每天哪個人會發幾個朋友圈也是不確定的。
這三種數據類別,在現實中其數據總量是遞增的,但其處理難度也是遞增的。
結構化數據一目了然,最容易處理,但現實生活中這樣的數據占比是極少的。半結構化的數據我們可以通過編寫相對簡單的軟件程序來將其結構化。而非結構化的數據是我們生活中最常見的,理論上我們身邊所發生的一切都可以看作是這類別。這些非結構化數據需要我們找出讓其結構化的解決方法,例如人工標注和機器學習。
針對這不同的數據類別,有不同的數據存儲和計算手段。接下來我們看幾個典型的概念。
數據倉庫:
這是上世紀七八十年代就興起的存儲和處理手段,主要用于結構化數據。數據倉庫通常具有明確的結構,例如通過二維行列表格管理的數據庫。而且一般來說不同組織之間都有各自的數據倉庫,例如銷售部有自己的數據倉庫,研發部有自己的數據倉庫。但數據倉庫靈活性較差,當數據變化較快時,很容易會造成“空倉”現象。就是規則明確的數據倉庫空置在那沒人使用,因為數據變化太快,不滿足倉庫的輸入條件。
數據湖泊:
結構化、半結構化和非結構化的數據都可以進入到數據湖泊。在此基礎上可以部署分布式系統架構,例如Apache Hadoop就是一個典型的系統框架。在本世紀初亦因此掀起了一場大數據革命。但如果缺乏良好的維護機制,或者相同的數據以不同的格式和版本共存,又或者數據格式與應用軟件不匹配,那么數據湖泊就有可能變成“數據沼澤”。數據在沼澤中可能會丟失或者永遠找不到。
云:
在數據內容上,云與數據湖泊類似,各種類別的數據都可以進去。但是云的存儲、維護是基于網絡,而不是依賴于本地的某幾臺設備。當然云方案本質基于網絡,因而也存在數據和網絡安全、接入便捷度等問題。
霧:
有時也叫邊緣計算,指與云端連接的邊緣設備,也可以本地完成一部分數據存儲和處理。“霧”的隱喻也在于此,就是將云接地氣,讓云來到我們的身邊,成為“霧”。這種存儲和計算方法在數據安全和隱私等某些領域起到關鍵作用。例如我們熟悉的手機人臉識別,識別過程中會有通過網絡與云端交互的過程,但是前攝像頭拍攝的視頻等數據及其關鍵計算過程都可以在手機本地完成。隱私不上云,就可以讓我們省卻許多數據泄露的擔憂了。
寫在最后
大數據博大精深,亦是新常態。而為了迎接大數據的新一輪變革,我們有哪些事情可以著手準備起來呢?作為一名普通工程師,我建議可以進一步學習計算機及編程技術,Python和R都是大數據利器。另外,人工智能和機器學習也是和大數據契合的關鍵領域。這種契合除了會影響工程技術外,相信也會對銷售、采購、企業戰略規劃和決策等領域帶來變革。當然,與數據伴生的數據安全和網絡安全相信也會是未來的熱點方向。最后希望大家將來都能通過大數據收獲更多。
1、百度指數, https://index.baidu.com/v2/main/index.html#/trend/%E5%A4%A7%E6%95%B0%E6%8D%AE?words=%E5%A4%A7%E6%95%B0%E6%8D%AE,%20ai
2、What is Data Science, https://www.oracle.com/data-science/what-is-data-science/
3、The Role of the Data Scientist,https://science.nu/community/the-role-of-the-data-scientist/
4、Fog computing vs Cloud computing,http://www.e2matrix.com/blog/2017/10/26/fog-computing-vs-cloud-computing/