簡介: 40年技術發展變革,物聯網行業的趨勢、現狀與挑戰
基礎設施的完善,推動應用形態不斷變遷
我們把過去四十年分為五個重要的技術發展階段,從時間軸上我們把它切分為:1980 - 2000,2000 - 2005,2005 - 2010,2010 - 2020 以及 2020 - 2025。今天的發布會和第五個階段的技術發展有關,從過去看未來,所以我們先回顧下技術發展史,先來看下前四個階段分別經歷了怎樣的技術發展?在技術應用上的主要場景是什么?主流的應用形態是什么?誕生了什么樣的新技術和新產品?
在 1980~2000 這個階段,是計算機技術發展和應用的階段。計算機能夠幫助企業更好的管理自己的數據,對提升流程效率有很大的幫助,所以這個階段的應用主要是企業信息系統。這個階段誕生了很多專為企業服務的科技公司,創造了很多偉大的商業產品。應用系統的數據主要存儲在數據庫內,數據庫以關系數據庫為主,這一階段是關系數據庫理論和產品的成熟期,誕生了像 Oracle、IBM DB2、微軟 SQL Server 等商業數據庫產品。
在 2000~2005 這個階段,是互聯網技術的初始發展階段。信息能夠通過互聯網更有效的傳遞,所以這個階段誕生了大量門戶類的網站,也就是 Web 1.0 時代。LAMP(Linux+Apache+MySQL+PHP) 是當時最流行的建站技術,是一個完全由開源產品組合的低成本解決方案。應用系統的數據存儲仍以關系數據庫為主,MySQL 以其開源和低成本的優勢替換商業關系數據庫,得到大規模的應用。隨着互聯網上的信息越來越多,人們獲取有效信息的訴求越來越強烈,所以搜索引擎作為一個新的應用形態誕生。搜索引擎是首個面臨大規模數據處理挑戰的應用,Google 作為一家偉大的技術公司首創了很多大數據處理技術。大家熟知的三駕馬車(GFS、Mapreduce 和 Bigtable),奠定了未來十年 NoSQL 和 Bigdata 技術的發展基礎。
在 2005~2010 這個階段,隨着個人 PC 得到普及,以及接入互聯網的成本逐漸降低,接入互聯網的『人』越來越多。有一些新的應用形態因此誕生,一是人們不再僅滿足於從互聯網上單向獲取信息,更渴望在互聯網上進行人與人之間的信息交流,於是促進了社交網絡的發展;二是圍繞『人群』的應用,一些 B2C 或 C2C 的電商網站開始發展。這個時代就是所謂的 Web 2.0 時代,『人』作為新的數據源開始在互聯網上產生大量數據。這個階段誕生了一些超大體量的互聯網公司,主要是在電商和社交網絡領域。這些公司面臨着如何支撐如此大規模數據在線服務,以及如何處理和分析這些海量數據的挑戰。彼時還沒有成熟可用的解決方案,所以這些公司不得不開始自研系統的開發,所以之后流行的一些 NoSQL 和 Bigdata 系統都是誕生或孵化自這個時代的超大體量互聯網公司,比如 Hadoop 最早在雅虎內部孵化,Cassandra 最早是應用在 Facebook 的收件箱搜索場景。
在 2010~2020 這個階段,隨着 4G 技術發展和智能手機的普及,移動互聯網開始發展。人們可以隨時隨地聯網,移動應用可以覆蓋到更廣的人群,滲透到更多的生活場景,比如支付、打車等。傳統互聯網應用逐步向移動應用形態轉換,產生了大量應用搭建的需求,雲平台作為低成本、易接入的數據中心被更多企業接受,這十年也是雲計算發展的黃金十年。雲計算徹底改變了應用的運行環境,與傳統 IDC 不同,在這個運行環境中,計算、存儲等資源是池化的,可彈性獲取多類型的存儲和計算資源。基於雲的彈性資源構建的應用即『雲原生』應用,越來越多的大數據、數據庫產品基於雲原生構建,而為了擁有彈性可擴展能力,分布式技術也得到大量的使用。現代的新的大數據和數據庫產品,分布式和雲原生一定是必備的能力。
最后在 2020~2025 這個階段,我們已經能看到 5G、IoT 技術逐漸成熟,又會誕生一個新的應用形態即物聯網。我們能看到的一些新的應用場景,包括車聯網、工業物聯網以及智能家居等。
總結下過去幾十年的技術和產品演進的規律(基礎設施技術 -> 信息化范圍變大 -> 更多場景、更大數據規模 -> 技術和產品發展):
每個階段都是由一個『基礎設施』的完善和普及作為起點,基礎設施的核心作用是讓信息化的范圍進一步變大。比如互聯網讓應用能與更多終端連接,移動互聯網直接打破了終端這個壁壘,直接讓應用能與更多人連接,而物聯網會把更多設備也加入這個連接。
隨着信息化的范圍變大,更多新的應用場景誕生,同時更大數量的『個體』產生更大規模的數據,成為基礎技術發展的推動力。
在這個過程中,往往基礎技術會落后於應用形態發展。但隨着分布式技術和雲計算的普及,基礎技術演進和普及的速度越來越快。我們也可以看到基礎技術產品形態的變化,從最早的商業型產品,到開源型產品,再到現在的雲原生產品。
那在物聯網這個新階段,設備的數量以及產生的數據會是更大的規模,會有更大的挑戰。那在這樣的挑戰下,又會推動怎樣的技術發展呢?
物聯網行業將迎來高速發展,會面臨怎樣的技術挑戰
我們來看下物聯網到底在經歷怎樣的高速發展,從以下兩個市場報告中來看下物聯網整體的增長態勢:
設備數的大規模增長:Gartner 預測到 2021 年物聯網內設備數增長到 250 億。如何管理如此海量的設備是第一大挑戰。
設備數據的大規模增長:IDC 報告中可以看到,到 2025 年物聯網數據規模達到 79.4 ZB,年平均增長率高達 34.91%。那如何存儲和分析如此海量的數據是第二大挑戰。
以車聯網場景為例,定義對數據存儲的具體需求
這次發布會的主題是物聯網存儲解決方案,所以我們來具體看下物聯網場景下對數據存儲的具體需求是什么。我們以一個車聯網中的一個真實應用場景為例,假如你是一家提供網約車服務的新能源車企,日常管理數十萬量新能源汽車提供網約車服務,你會遇到如下幾個具體的場景。
為便於對這些汽車進行管理,每輛汽車都得實時匯報自己的狀態,包括位置信息、剩余電量、行駛里程、行駛速度等等。除了這些動態信息外,每輛車還會有自己的一些靜態信息例如型號、車主等,每輛車的這些信息都需要在后端實時獲取和管理。
有了這些車輛的實時狀態信息后,就可為車主、乘客或者是后台提供車輛的實時狀態查詢服務。后台也會有一些計算任務依賴於實時狀態,例如根據位置信息或特定條件進行車輛圈選來進行特定任務的管理,或者是根據實時狀態來進行車輛調度。
除了車輛自身需要實時匯報狀態外,車輛與管理后台還需要保持一個消息通道。通過這個消息通道,車輛會匯報自身的一些異常事件,后台也可下發一些消息信息或者控制指令。
另外車輛的一些行駛信息會上報並存儲為軌跡數據,同時行駛中的一些傳感器數據也需要存儲。有了這些數據后,一方面可以對行駛軌跡進行查詢,另一方面是可以基於數據進行一些計算分析,挖掘更多的價值,比如通過分析歷史行駛數據來優化調度算法等。
從這幾個場景中可以看到,車輛相關的數據主要有三類,一是實時狀態數據,我們把這類數據歸類為『元數據』;二是消息通道,我們把這類數據歸類為『消息數據』;三是軌跡數據,我們將這類數據歸類為『時序數據』。這三類數據對底層存儲有不同的要求,『元數據』的特征是高頻更新,對查詢能力要求高,需要根據多字段條件進行數據查詢或篩選;『消息數據』的特征類似消息隊列,隊列數量極多,需要為每個設備維護一個獨立的對壘;『時序數據』的特征是高吞吐寫入,數據規模較大,比較偏重分析場景。
在傳統方案中,元數據一般使用 MySQL 存儲,但 MySQL 最大的問題是無法靈活支持多字段條件篩選,一般需要組合 Elasticsearch,依賴 Elasticsearch 來提供多字段檢索能力。消息數據雖然具備消息隊列的特征,但無法使用傳統消息隊列,因為傳統消息隊列無法支撐如此多數量的 Topic,所以一般也有選擇使用 MySQL 來模擬隊列實現。時序數據一般選擇使用 HBase 來存儲,能提供高吞吐寫入和支撐大規模存儲,但 HBase 不具備分析能力。
往往基礎技術會落后於應用形態發展,傳統架構是通過組合多款產品的方式來構建整個物聯網存儲系統。這種多組件的組合架構,架構復雜度高,帶來極高的運維成本。開發者需要理解和使用多款產品,且分布式組件的運維具備一定的難度,導致整體的成本非常高。另外每個組件並不是為物聯網場景設計和優化,我們可以看到物聯網場景下設備元數據、消息數據和時序數據都有非常典型的特征,且整體規模增長速度會遠超互聯網時代,可以預見老一代產品無法應對物聯網下更大數據規模的增長。
物聯網需要什么樣的存儲產品
根據過去幾十年技術產品發展的客觀規律,物聯網時代已經到來,當前的技術架構難以支撐未來物聯網規模的增長。面對物聯網下萬物互聯這一新的應用形態,在海量設備和海量數據的挑戰下,基於雲計算這一新一代基礎平台,我們利用雲原生、分布式等基礎技術,需要打造一個什么樣的新的基礎產品呢?
我們希望這個新的基礎產品具備以下幾個特性:
基於雲原生和分布式技術構建,具備可擴展性和彈性
滿足設備元數據、消息數據、時序數據的一站式存儲、檢索和分析需求
具備足夠低的成本來支撐如此海量數據
原文鏈接
本文為阿里雲原創內容,未經允許不得轉載。