一、物聯網時代資料存儲的市場及趨勢
十四五規劃中,劃定物聯網作為7大重點數字經濟産業之一,推進市政公用設施、建築等物聯網應用和智能化改造;培育車聯網、醫療物聯網、家居物聯網産業。

數量越來越大,種類越來越多,速度越來越快,價值越來越重。
2021年IoT技術進入穩步爬升複蘇期,IoT平台數字孿生3~6年。
二、物聯網時代資料存儲的機會和挑戰
(一)挑戰一:資料協同
- 資料協同,營運治理複雜度高
如上圖所示,這是一個經典的物聯網場景下風力發電資料協同的問題。
從左往右看,分為三部分:裝置關系資料,裝置中繼資料,裝置運作時資料。
風機組由許多風機組成,風機間的關系稱為裝置關系資料。
每個風機上有自己特殊的裝置屬性,例如風機廠商、型号以及ID等,這些都屬于裝置中繼資料。
風機上有很多的傳感器,傳感器采集風速、功率、地理位置等,這些稱為裝置運作時資料。
對于這一系列的資料,需要具備一系列的處理能力。例如檢視裝置最新的狀态,檢視裝置間的層次關系,裝置采集資料類型動态改變以及裝置的事件服務等。
- 物聯網資料協同帶來的營運治理複雜
針對上述物聯網資料集,可以上圖概括。
中繼資料放到關系型資料庫MySQL中,運作時的追蹤資料、日志等資料放到HBase中,名額等資料放在時序型資料庫InfluxDB中,裝置關系資料放到圖型資料庫Neo4j中。事件報警處理、裝置中繼資料回溯等資料放到檢索分析服務中。
但是我們發現,上述方案在實際操作中遇到不少問題,如系統運維複雜、開發門檻高、資料在不同資料庫間備援搬遷、使用者體驗差、關聯查詢困難等。
(二)挑戰二:高并發吞吐
随着5G網絡的發展,許多業務更新帶來了爆炸性增長的資料,各種各樣高并發寫入查詢吞吐的場景随處可見,以物聯網平台和電網(工業網際網路)為例。
Ø 物聯網平台
1)10,000 裝置 x 200項監控名額
2)每5秒 1,000,000 點寫入
3)查詢指定裝置的部分監控名額
4)監控名額按條件聚合查詢
5)監控異常裝置分析,未來趨勢預測
Ø 電網(工業網際網路)
1)90,000,000 使用者 x 20項監控名額,每月采集一次名額,每年216億測點;
2)查詢所有使用者每月用電量總和
3)查詢所有使用者的指定名額
4)查詢各區域/線路總使用情況(按需聚合)
以上場景無論是寫入還是查詢,都将對底層網絡表的Scan、IO的開銷等帶來巨大的挑戰。
(三)挑戰三:極高的存儲成本
龐大的資料量也帶來極高的存儲成本,以車聯網為例。
Ø 車聯網(IoT)
1)20,000 輛車 x 60項監控名額;
2)每秒 1,200,000 點寫入,每小時73.8GB 資料;
3)查詢 20,000 輛車最新的某個名額;
4)查詢指定的 10 輛車,10個名額,1天、7天、1個月的平均值。
兩萬輛車每小時産生上百GB的資料,當發生事故時,可能需要回溯車輛一周、一個月甚至一年的曆史資料,這将帶來PB級别的存儲規模,這就對低成本的要求越來越高,解決的方法有冷熱分層、計算存儲資源解耦等,通過低成本的存儲建設,實作編碼壓縮,建立資料特征等。
(四)機會一:多模超融合
各種各樣的挑戰也帶來了許多機遇,例如多模超融合基礎架構。
縱觀目前最流行的資料庫TOP20,其中三分之二的資料庫都具有多模能力。是以,可以将物聯網場景中的資料通過不同的資料模型統一存儲,通過統一的接口通路,進而達到模型融合的能力。
(五)機會二:雲原生+分布式
在超融合基礎上統一存儲查詢和多模架構,我們希望進一步借助雲計算資源的紅利,實作雲原生+加分布式。分布式的擴充可以将資料擴充到上千台,達到千萬級别的通路能力。
同時,針對物聯網的特性,可以實作原生的特征,比如流式計算,把存儲和計算分離之後,把計算資源池化,然後資源按需按量的彈性響應。
未來網際網路資料由于其多樣化的特性與逐漸增大的規模,一定會帶來彈性擴充能力。通過分布式Serverless技術形态,可以做到規模從小到大的彈性伸縮。針對這些機會和挑戰,阿裡做了一款産品Lindorm,目前已經在物聯網的多個行業得到應用,下面闡述Lindorm在物聯網中的最佳實踐。
三、Lindorm在物聯網中的最佳實踐
(一)Lindorm産品介紹
如上圖所示,為了迎接物聯網和AIoT資料存儲挑戰,我們将多模引擎,包括寬表、時序、搜尋和檔案等四類引擎統一處理,底層通過統一的存儲引擎,上面通過統一的網絡接口,實作整套雲原生多模資料庫Lindorm,它主要解決物聯網時代海量資料低成本存儲和處理的問題。
Lindorm可以廣泛運用于物聯網AIoT、大資料存儲、資料湖存儲中心、互動實時存儲等場景。
在整體架構的基礎上,Lindorm具備了與物聯網時代相吻合的産品能力,如雲原生架構、靈活彈性、高效低成本、多模計算與開源生态相容。
(二)Lindorm面向物聯網的産品特性
1.超融合
如上圖所示,超融合能力分成不同的階段實作。
第一個階段是打通底層多模原生能力。我們看到時序、寬表、搜尋以及檔案等資料配合得越來越緊密的趨勢,在物聯網場景下,不同類型的資料使用不同的模式存儲。通過不同引擎,不同資料通路模型,實作多模引擎的統一和融合。
第二階段是統一通路生态相容。可以通過Lindorm SDK + 統一 SQL 通路,進而降低複雜度,然後實作一套接口的通路。對于開發者來說,對底層引擎的感覺度越來越低,甚至無感覺。
第三階段實作全鍊路生态融合,Lindorm面向整個開源生态不同品牌做無縫的融合。
2. 雲原生+分布式
Ø 物聯網原生特性
1)原生垂直引擎高吞吐
2)動态資料類型
3)多元檢索
4)狀态點查
5)流式預聚合
6)邊雲一體
Ø 雲+分布式
1)水準擴充至千萬級别規模
2)存儲計算分離
3)IoT雲資源深度內建
4)Serverless形态
3.低成本
冷熱分層存儲:記憶體、磁盤(本地盤、⾼高效雲盤、ESSD 雲盤)、OSS 資料分層存儲,降低存儲成本。
熱資料:近期熱資料緩存在記憶體,保障高效通路;基于時序特性,一份 Cache 同時用于讀寫。
溫資料:記憶體資料存儲到磁盤持久化,根據應用場景,可選擇标準型、容量型、性能型等不同特性的存儲。
冷資料:長期不通路的曆史資料,支援自動歸檔到 OSS 冷存儲
高效壓縮:定制化時序壓縮算法,壓縮比>10:1。
TTL:自定義資料保留政策,自動淘汰。
(三)物聯網場景
Lindorm相容多種開源标準接口,支援車聯網、工業物聯網等場景與Spark、Flink等多種計算引擎互聯互通,無縫對接主流資料生态。
1.物聯網平台
- 物聯網平台場景中的資料
上圖為一個物聯網平台業務架構圖,我們可以看到它是有很多采集,還有邊緣和雲。
邊緣上有一些硬體,由邊緣側自動同步到雲端去實作分析應用的賦能以及資料的管理,最後形成一個雲端的決策,下放到Local邊緣,并且指導整體業務的應用,做企業級的決策。
- Lindorm在物聯網平台中的資料存儲方案
如上圖所示,我們将物聯網上不同類型的資料分到不同的存儲類型資料庫上存儲,底層統一通過雲原生多模資料庫Lindorm去管理這些資料。
在物聯網平台下的高可用,我們内部做了一個通道去做資料的自動讀寫分離等能力。
2.工業網際網路
工業網際網路方案
可以看到,工業網際網路中主要是IT與OT的融合,去指導資産的評估,維護與修複整體流程。
電網方案(工業網際網路)
在這個方案中,Lindorm主要解決了以下客戶需求/痛點:
1)多樣化資料存儲,多套系統聯合解決;
2)混合雲為主,工業邊緣側、邊雲資料融合;
3)行業特征的計算能力。
3.車聯網
- 車聯網中的資料
汽車企業在生産系統中采用雲戰略實作上雲上平台,一方面可以解決過去難以解決的各個系統互聯互通問題,另一方面,可以通過推進産業網際網路平台,為各地域的工廠(不一定是同一家公司)之間共享資訊提供基礎條件。
- 車聯網中的資料存儲方案
使用Lindorm存儲車聯網中的行使軌迹、車輛狀況、精準定位等重要資料,提供低成本、彈性、靈活可靠的能力,幫助使用者建構高效的網約車、物流運輸、新能源車檢測等場景服務。
上方為一個典型的Lindorm車聯網的方案,通過智能終端、租賃裝置、傳感器等方式收集資料,接着通過實時流資料處理平台與批量資料處理平台傳到Lindorm中,最終實作裝置實時追蹤、運作期風險态勢感覺、使用者行為/體驗分析、實時安全管控等應用功能。