- 大數據理論與工程實踐
- 陸晟 劉振川 汪關盛等編著
- 1124字
- 2019-10-23 13:28:08
工程角度的大數據歷史
大家都知道,科技的發展不是孤立的,蘋果也不是憑空從天上掉下來的。在它砸在牛頓腦袋上之前,它總應該是長在某棵樹上的。按牛頓那句被曲解的名言所說,大家都是站在巨人的肩膀上的。
一般都認為大數據的發展源于Google在2003年年底發表的MapReduce一文。而實際上這篇論文只是把一類大數據問題抽象化,從而建立了一套實用的計算模型,極大地促進了大數據技術的發展。
而按照前文的基本處理模型,實際上很多的必要步驟和技術要素都已經經過了長時間的發展和完善,甚至很多技術都已經應用很久了。從這個角度而言,大數據也是一種新瓶裝舊酒的概念。當然,經過最近15年的發展,特別是和人工智能各項技術結合之后,大數據概念已經脫胎換骨,同使用某些類似技術的舊瓶概念相比,已經完全不同了。
圖1-1中所示的大數據基本處理模型同二十多年前的日志處理和分析系統的結構幾乎完全相同。當然,日志處理和分析系統的數據采集環節采集的都是日志信息;數據存儲環節使用的一般是文本文件或者關系型數據庫;數據分析環節有的用自行編寫的腳本,有的利用New Relic之類的分析工具;而數據使用也許會采用類似Crystal Report的通用報表展示系統,當然也可以自行編寫。事實上,目前的日志處理和分析已經形成了完整的框架,如使用ELK框架進行日志分析。其中的E、L、K分別代表Elasticsearch,Logstash, Kibana,分別解決日志處理中的查詢、存儲和展示問題。
在數據采集環節,即使不考慮日志采集類的技術和應用,物聯網也已經發展了很多年,傳感器的開發和應用也有超過二十年的歷史。同樣的,隨著攝像頭的廣泛部署,視頻采集技術和該技術相關的傳輸技術也發展了二十多年,如H.264標準發布之前就已經有了H.263及H.261等標準。
在數據存儲領域,NAS(Network Attached Storage)和SAN(Storage Area Network)發展了很多年。其中,大數據存儲使用的很多技術是和SAN相通的,包括分片、尋址、容錯、恢復、通信等。甚至在很多大數據應用中,人們會直接使用NAS服務或者專用存儲設備來存儲數據,如Glaster FS或者EMC的存儲設備。很多云服務商甚至提供了基于存儲網絡(Storage Network)原理的云存儲服務。同樣的,大數據處理集群也采用類似策略,只是數據的訪問對上層處理而言更加確定。當然,用戶仍舊不需要關心具體的存儲策略,直接使用即可。
在數據處理方面,大數據處理在本質上是分布式處理和相關通信技術、平臺的延伸。例如,20世紀著名的網格計算(Grid Computing)雖然和大數據常常依賴的云計算(Cloud Computing)有不同點,但它們都是分布式計算(Distributed Computing)的衍生技術。至于分布式計算的發展就更加久遠了,在20世紀六七十年代發展起來的ARPANET(Internet的前身)可以被看作是分布式計算的一種應用。
因此,目前快速發展的大數據技術是基于這些成熟的技術,為了解決具有前文列舉的特性的特定應用問題,通過建立和目前軟硬件水平相適應的存儲技術、計算模型,而逐步發展起來的。