中文名:物聯網IoT平臺
英文名:Internet of Things Platform
核心:萬物互聯
縮寫:IoT Platform
目錄
物聯網IoT平臺的定義
物聯網IoT平臺是什么?物聯網(Internet of Things,簡稱IoT)是指通過互聯網將各種物理設備、傳感器、軟件和網絡連接起來,實現彼此之間的通信和數據交換的網絡系統。物聯網IoT平臺的核心理念是將物理世界與數字世界相連接,通過智能化和自動化的方式,實現設備之間的互操作性和智能化管理。[1]
物(wu)(wu)聯網IoT平(ping)臺(tai)的(de)基本原理(li)(li)是通(tong)過(guo)傳感器、標簽、RFID等技(ji)術(shu)將(jiang)物(wu)(wu)理(li)(li)設備與互聯網連接(jie)起來,使其能夠實時收集(ji)、傳輸和分析數據。這(zhe)些數據可(ke)以(yi)(yi)包括設備的(de)狀態、位(wei)置、溫度(du)(du)、濕度(du)(du)等各種(zhong)信息。通(tong)過(guo)云計算和大數據分析,這(zhe)些數據可(ke)以(yi)(yi)被處理(li)(li)和利用,以(yi)(yi)實現更高效、智能和自動化的(de)應用。
物(wu)聯(lian)網(wang)IoT平臺的(de)應用范(fan)圍廣(guang)泛,涵蓋了各(ge)(ge)個行業和(he)領域。例如,智(zhi)能(neng)家(jia)居可(ke)(ke)以通(tong)過物(wu)聯(lian)網(wang)技術(shu)將家(jia)庭中的(de)各(ge)(ge)種(zhong)設備和(he)系統(tong)連接起(qi)來,實現(xian)智(zhi)能(neng)化(hua)控制和(he)管(guan)理;智(zhi)能(neng)城市可(ke)(ke)以通(tong)過物(wu)聯(lian)網(wang)技術(shu)實現(xian)交通(tong)、能(neng)源、環境等各(ge)(ge)個方面的(de)智(zhi)能(neng)化(hua)管(guan)理;工業物(wu)聯(lian)網(wang)則可(ke)(ke)以實現(xian)工廠設備的(de)遠(yuan)程監控和(he)管(guan)理,提高生產效(xiao)率和(he)質量。
物聯(lian)網IoT平(ping)臺的(de)發展帶(dai)來(lai)了(le)許多機遇和(he)(he)挑戰。一方面(mian)(mian),物聯(lian)網IoT平(ping)臺可(ke)以(yi)帶(dai)來(lai)更高(gao)效、智(zhi)能(neng)和(he)(he)便(bian)捷的(de)生(sheng)(sheng)活(huo)(huo)和(he)(he)工作方式,改(gai)善人(ren)們的(de)生(sheng)(sheng)活(huo)(huo)品質(zhi)和(he)(he)提高(gao)生(sheng)(sheng)產效率。另一方面(mian)(mian),物聯(lian)網也(ye)面(mian)(mian)臨著數據安全、隱私保護、設備兼(jian)容性等(deng)方面(mian)(mian)的(de)挑戰,需要制定合(he)適的(de)政(zheng)策(ce)和(he)(he)標準(zhun)來(lai)解決這些問題。
總的(de)(de)來(lai)(lai)說,物聯網IoT平臺(tai)是(shi)一個(ge)連接和互聯各種物理設備和系統的(de)(de)網絡(luo)系統,通過(guo)收集、傳輸和分析數(shu)據,實現智能(neng)化(hua)(hua)和自動化(hua)(hua)的(de)(de)應(ying)用。它具有廣泛的(de)(de)應(ying)用前景(jing),將對(dui)社會、經濟和生活(huo)帶來(lai)(lai)深遠的(de)(de)影響。
物聯網IoT平臺發展歷程
早期(qi)發展(1990年(nian)代(dai)-2000年(nian)代(dai)初):物聯(lian)(lian)網IoT平臺(tai)的概念最(zui)早于1999年(nian)被提出,但在(zai)這一(yi)階段,技術和(he)基礎設(she)施仍然相對(dui)薄弱(ruo)。主要是一(yi)些技術先(xian)驅(qu)和(he)研究(jiu)機(ji)構(gou)開(kai)始探(tan)索和(he)研究(jiu)物聯(lian)(lian)網的概念和(he)技術。
技術推動(dong)(2000年代中期-2010年代初):這一階段,物(wu)聯網IoT平臺的發展(zhan)受益于無線通信技術的進步(bu),特別是(shi)無線傳感器網絡和RFID技術的發展(zhan)。這些技術的成(cheng)熟使得物(wu)聯網的應用開(kai)始擴大,包括智能(neng)(neng)家居、智能(neng)(neng)城市、智能(neng)(neng)交通等領域。
大規模應用(2010年代中(zhong)期至今):隨著(zhu)移(yi)動(dong)互聯(lian)網技術的(de)(de)普及(ji)和云計(ji)算技術的(de)(de)成熟,物聯(lian)網IoT平臺的(de)(de)發(fa)展進入了一個新的(de)(de)階(jie)段。越來越多的(de)(de)物理設(she)備和傳感器被連接到互聯(lian)網上,數據的(de)(de)收集和分析能(neng)力大大增強。物聯(lian)網的(de)(de)應用場景也更加多樣化,包括智(zhi)能(neng)健康、智(zhi)能(neng)農業、智(zhi)能(neng)工業等領域。
未來發展(zhan)(zhan)(未來):物(wu)(wu)聯網(wang)的(de)發展(zhan)(zhan)仍(reng)在不斷(duan)演進(jin)和(he)創新。隨(sui)著(zhu)5G技(ji)術(shu)的(de)普(pu)及和(he)邊緣(yuan)計算技(ji)術(shu)的(de)發展(zhan)(zhan),物(wu)(wu)聯網(wang)IoT平臺將更加強大和(he)智能(neng)化。預計物(wu)(wu)聯網(wang)將與(yu)人工智能(neng)、大數據、區塊鏈等技(ji)術(shu)相結合(he),進(jin)一步推動物(wu)(wu)聯網(wang)的(de)發展(zhan)(zhan),并為社會、經濟和(he)生活帶來更廣(guang)泛的(de)影響。
2021年7月13日,中國互聯網協會發布了《中國互聯網發展報告(2021)》,物聯網市場規模達1.7萬億元,人工智能市場規模達3031億元[2]。
2021年9月,工信部等八部門印發《物聯網新型基礎設施建設三年行動計劃(2021-2023年)》,明確到2023年底,在國內主要城市初步建成物聯網新型基礎設施,社會現代化治理、產業數字化轉型和民生消費升級的基礎更加穩固。[3]
物聯網IoT平臺數據的特征
物聯網(wang)IoT平臺領域各種類型(xing)的(de)設備和傳感器(qi)都會產生海(hai)量的(de)時序數據(ju),這些數據(ju)將占世界(jie)數據(ju)總量的(de) 90% 以上(shang)。
時序數據的特點[4]:
- 時間戳:每個數據點都帶有時間戳,這個時間戳對于數據的計算和分析十分重要。
- 結構化:與來自網絡爬蟲、微博、微信的海量數據不同,聯網設備或監控系統生成的數據都是結構化的。這些數據都具有預定義的數據類型或固定長度,比如智能電表采集的電流、電壓就可以用 4 字節的標準的浮點數來表示。
- 流式:數據源以近似恒定速率生成數據,如音頻或視頻流。這些數據流彼此獨立。
- 流量平穩可預測:與電商平臺或社交媒體網站的數據不同,時序數據的流量在一段時間內是穩定的,并且可以根據數據源的數量和采樣周期來進行計算和預測。
- 不變性:時序數據一般都是 append-only,類似于日志數據,一般不容許而且也沒有修改的必要。很少有場景,需要對采集的原始數據進行修改。
時序(xu)數據通常用于比較當前數據與(yu)歷(li)史數據、檢測(ce)異常、生成(cheng)實時警(jing)報以(yi)及預測(ce)未來趨勢。時序(xu)數據解決方案一般考慮以(yi)下問題(ti):
- 時序數據量通常很大,因此在執行存儲、索引、查詢、分析等操作時變得更加困難。
- 時序數據需要實時計算和分析,以便于實時檢測異常并告警。 延遲可能會導致故障和業務影響。
- 通常需要關聯來自不同傳感器和其他源的數據,這使情況變得更復雜。
- 不管是原始數據查詢、還是聚合數據查詢,時序數據的查詢一般都會帶上查詢時間范圍,一方面是根據時間范圍計算聚合時間窗口,另一方面是為了更高效的檢索數據,提高查詢效率,避免大量無效數據的掃描。
- 數據在一段時間內的變化趨勢比單個數據點重要得多。例如,考慮到網絡不可靠性或傳感器讀數異常,我們可能會在一段時間內的某個平均值超過閾值時設置警報,而不是在單個數據點上這樣做。
TDengine 這類時序數據庫,是基于時序數據(ju)(ju)的(de)特點(dian)以及(ji)應用的(de)特點(dian)進行優化(hua)和設計(ji)的(de),專為解決上述問題而生。這(zhe)類專業的(de)數據(ju)(ju)庫(ku)使時序數據(ju)(ju)的(de)處理變得更加高效(xiao),性(xing)能也比(bi)通用數據(ju)(ju)庫(ku)更好。
物聯網IoT平臺的處理流程
數據采集:
數據(ju)采集是物聯網應用(yong)的基礎層,一般是由各種(zhong)傳感(gan)器(qi),識(shi)讀(du)器(qi),讀(du)寫器(qi),攝像頭(tou),終端,GPS等(deng)(deng)(deng)智能模(mo)塊和設備(bei)構(gou)成。而(er)采集就(jiu)是通過(guo)這些模(mo)塊和設備(bei)來識(shi)別(bie),讀(du)取和采集來完成信息(xi)(xi)獲取,例如溫度(du)、濕度(du)、壓力(li)、位置等(deng)(deng)(deng)信息(xi)(xi)。其中所運(yun)用(yong)的技(ji)(ji)術主要包括RFID技(ji)(ji)術、傳感(gan)控(kong)制技(ji)(ji)術、短距(ju)離無線通信技(ji)(ji)術等(deng)(deng)(deng)。
數據傳輸:
傳輸(shu)層(ceng)是(shi)物(wu)聯網IoT平臺設備實(shi)現連接的(de)通(tong)道,承(cheng)擔連接終端設備、邊緣、云(yun)端的(de)職責,負責將感知層(ceng)識別和采集的(de)信息進一步(bu)傳遞(di),其(qi)中涉及到(dao)多種(zhong)網絡通(tong)信技(ji)術(shu)(shu),通(tong)信技(ji)術(shu)(shu)可分為無線(xian)傳輸(shu)技(ji)術(shu)(shu)和有線(xian)傳輸(shu)技(ji)術(shu)(shu),而根據實(shi)際應(ying)用(yong)發(fa)展(zhan)情況,無線(xian)傳輸(shu)是(shi)主要發(fa)展(zhan)趨(qu)勢,因此物(wu)聯網傳輸(shu)層(ceng)主要關注點在無線(xian)傳輸(shu)技(ji)術(shu)(shu)。
數據存儲:
數據存儲是將采集(ji)到的(de)數據保存在(zai)云端或本地(di)服務器中,以備后(hou)續(xu)的(de)數據分析和應用。存儲可以采用關系型數據庫、分布(bu)式(shi)數據庫、對(dui)象(xiang)存儲等不同的(de)技術方案(an)。
數據處理:
當數據(ju)傳輸至服務器端或云(yun)計算平臺(tai)(tai)后,接(jie)下來服務器或云(yun)計算平臺(tai)(tai)就(jiu)會對數據(ju)進行收集(ji)、記(ji)錄、分析、處理、提取、再處理,存儲、管理等,然后再將得(de)出的結論數據(ju),反(fan)饋(kui)給(gei)各個終端應用(yong)設備的過程。
數據分析:
在(zai)數(shu)據處理后,對(dui)數(shu)據進行分(fen)析(xi)和(he)挖(wa)掘,探索(suo)數(shu)據中(zhong)的(de)(de)模式、關(guan)聯和(he)趨勢。這(zhe)可(ke)以通過統計分(fen)析(xi)、機器學習、深度(du)學習等技術實現,從而提取有(you)價值的(de)(de)信(xin)息和(he)洞察。
數據應用:
等到服務器或云(yun)計算平臺得(de)出數(shu)(shu)據(ju)(ju)結論(lun)后,就會(hui)將結論(lun)數(shu)(shu)據(ju)(ju)下傳(chuan)至各(ge)個終端(duan)(duan)應用(yong)設備,而終端(duan)(duan)應用(yong)設備則根據(ju)(ju)這些數(shu)(shu)據(ju)(ju),來(lai)自(zi)動執行相應的(de)(de)指令和操作。最終以更快的(de)(de)速度,來(lai)智能(neng)和自(zi)動解決人們(men)的(de)(de)需求,或實現其目的(de)(de)。
專為物聯網IoT平臺處理而生的時序數據庫
隨著物(wu)聯網IoT平臺(tai)和(he)云的(de)(de)(de)出(chu)現,時(shi)序數(shu)據(ju)的(de)(de)(de)量開始(shi)以前(qian)所未有的(de)(de)(de)方式呈指數(shu)級增長(chang):1. 連接設(she)備和(he)物(wu)聯網的(de)(de)(de)興(xing)起,儀表、汽(qi)車、電梯、甚至自行車等(deng)(deng)(deng)設(she)備都(dou)(dou)在(zai)源源不斷地生成(cheng)數(shu)據(ju);2. IT 基礎設(she)施在(zai)高速增長(chang),物(wu)理服務器(qi)(qi)、虛擬機、容器(qi)(qi)、微服務等(deng)(deng)(deng)等(deng)(deng)(deng)都(dou)(dou)會生成(cheng)海量時(shi)序數(shu)據(ju)。龐大的(de)(de)(de)時(shi)序數(shu)據(ju)集是關系數(shu)據(ju)庫和(he) NoSQL 數(shu)據(ju)庫面(mian)(mian)臨的(de)(de)(de)主要挑戰(zhan),大體分為以下幾個(ge)方面(mian)(mian):
- 時序數據積累得非常快,每秒產生數百萬條數據,通用數據庫并不是為處理這種規模的數據而設計的。關系數據庫在非常大的數據集上表現很差,NoSQL 數據庫雖然解決了擴展能力,但是其通用的數據組織方式并不完全適用于對時序數據存儲和查詢需求,用戶必須根據實際應用場景,進行特殊設計甚至大量數據冗余存儲才能較好的利用資源處理請求。
- 隨著數據量的增加,訪問速度越來越慢。同時,大多數通用數據庫為了提升查詢性能,針對大量數據建立索引,由此消耗大量的系統資源。對于海量的時序數據,通用數據庫無法高速加載并滿足實時處理需求。
- 設備和應用在 7*24 小時不間斷地生成數據——有時一天的數據量就超過 1 TB。關系數據庫和 NoSQL 數據庫沒有針對時序數據的特點來壓縮這些數據,因此,存儲成本會變得很高。
上述問題主要是處(chu)理大數(shu)據集的效率問題,但通(tong)用數(shu)據庫往往連(lian)時序數(shu)據應用的一些基本(ben)需(xu)求都無法支持:
- 數據生命周期管理:時序數據具有時效性,超過一定時長的數據通常不再具有價值,時序數據一旦老化,就需要對超過保存時長的數據進行批量刪除處理,而不是針對單條數據的刪除。
- Roll-up:用戶定時聚合歷史數據保存至新的數據表。原始數據和 rolled-up 的數據可能具有不同的生命周期和保留策略。
- 特殊的分析功能:除了一般數據庫提供的功能外,數據庫還要針對時序數據的處理進行擴展,提供累計求和、時間加權平均、移動平均、變化率等眾多時序數據分析功能。
- 插值:時間序列分布會在一些時間線上,且序列會隨著時間的增長往后發展。本質上是在一個固定的時間點記錄數據,但如果要檢查某個具體時間的設備采集的某個量,而傳感器實際采集的時間不是這個時間點,這就要求數據庫能夠根據相鄰的數據點和規則對數據進行插值。
- 連續查詢:在時序應用的場景下,對于依照時間推進順序寫入的實時數據,用戶有時會希望每隔一段固定時間,就能夠按照一定的查詢條件對該時間范圍內的時序數據做一次計算(例如:對該時間范圍內的數據求一次聚合計算),并將計算結果另行保存下來。因此,數據庫需要提供連續查詢(即一種簡化的流計算能力),能夠在時間窗口結束后對窗口內的數據進行計算。
- 窗口查詢:時序數據常常需要根據采集時間對數據進行查詢,本質上是在時間軸上劃分出時間窗口,并對窗口內的數據進行聚合和查詢計算。在實際生產應用中,業務場景要求的查詢條件往往比這個更復雜,需要數據庫能夠按照不同規則、沿時間軸進行窗口劃分,并對各個窗口內的時序數據分別進行聚合、選擇計算等操作。
對于通用數據庫,研發人員需要投入精力通過編寫代碼來實現這些功能。不同場景,不同數據量都需要不同的解決方案,極大增加了研發成本。因此,無論數據集的大小如何,使用專門構建的時序數據庫都是最好的選擇。
物聯網IoT平臺時序數據處理面臨的挑戰及解決方案
物(wu)聯網存在海量的(de)設備、傳感(gan)器,時(shi)序數據處理的(de)傳統方案有如下(xia)問(wen)題:
- 數據入庫慢:單機寫入吞吐量低,很難滿足時序數據上千萬級的寫入壓力;
- 存儲成本大:在對時序數據進行壓縮時性能不佳,需占用大量機器資源;
- 維護成本高:單機系統,需要在上層人工進行分庫分表,維護成本高;使用 Pi 等組件則對點位數有限制,隨著點位增多需要更多的開銷;
- 非云原生:不支持分布式,對部署的平臺有限制,沒有好的擴展性、韌性、可觀測性,部分產品比如 Pi 有一定的;
- 查詢性能差:海量實時數據的聚合分析性能差。
- 數據孤島:邊云協同能力差。
TDengine 作為一款開源、高性能、云原生的時序數據庫(Time Series Database, TSDB),針對物(wu)(wu)聯網的(de)數據特點及讀寫(xie)需求做了特定的(de)優(you)化(hua),廣泛運用(yong)于物(wu)(wu)聯網各類場景(jing)中,并且提供(gong)基于數據訂閱的(de)數據同(tong)步工具 taosx 來支(zhi)撐異地多活、邊云(yun)協同(tong)。

收益與價值
高性能:可以支持百萬(wan)級別的(de)并發(fa)寫入、萬(wan)級的(de)并發(fa)讀(du)取,大量聚合查(cha)詢時依然有高性能表現
高可用:可(ke)支持集群部署(shu),可(ke)橫向擴展,不存(cun)在單點故障(zhang),為生產環境穩定運(yun)行提供基礎
低成本:數(shu)據庫對硬件資源要求低,數(shu)據壓縮率高,平均至少(shao)節省70%的硬件資源
高度一體化:具備消息隊列(lie)、流(liu)式(shi)計算和緩(huan)存的功能,大(da)幅簡化(hua)架構
易上手:使用 SQL 進行數據庫操作(zuo),簡(jian)單易學,支持復雜(za)查詢(xun),減少開發難度和運維壓力
自帶邊云協同組件:輕松跨隔離同步數據(ju)
物聯網IoT平臺企業案例
至數搖光 x TDengine
目前改造工作已經全部完成,改造后有大約 80% 左右的指標模型放到了 TDengine 中,20% 左右的主數據或維表數據存放在 MySQL 數據庫中。相較于改造前的 80% 指標模型存放在 MySQL 中,20% 指標數據存放在 OpenTSDB 數據庫中,結果剛好進行了顛倒,服務器資源使用情況也有所下降。應用整體的頁面影響速度顯著提高,數據模型及數據指標上也可以更加地靈活多變。[5]
業務背景
至數物聯網平臺場景多、數據模型復雜,改造前數據庫采用 OpenTSDB+MySQL 結合的方式實現,由于 OpenTSDB 無法滿足復雜查詢場景,因此 80% 的場景指標只能基于 MySQL 數據庫來實現,這樣帶來的問題就是 MySQL 數據庫的數據增長迅速,需要定時做冷熱數據分離及數據庫表維護動作。在對 TDengine 進行充分調研后,至數搖光決定從時序數據庫 OpenTSDB 遷(qian)移到 TDengine,并基于 TDengine 的特性對系(xi)統進(jin)行徹底性的改(gai)造。
架構圖

華自科技 x TDengine
當前項目數據測點大概在 18 萬左右,改造后數據存儲周期由原來的 5 分鐘減少到 1 秒鐘,存儲的數據維度更精細了,能為平臺的智能診斷、智能分析服務提供更準確的數據支持,同時各業務場景下的計算查詢性能也提升了不少,數據庫服務器由原來的 6 臺減少到目前的 3 個節點集群。[6]
業務背景
華(hua)自科技旗(qi)下的(de)物聯網數(shu)據(ju)平(ping)(ping)(ping)臺(tai)是電(dian)站(zhan)及(ji)泵站(zhan)智慧運維平(ping)(ping)(ping)臺(tai)的(de)核心組成。在數(shu)據(ju)存儲(chu)上,此前(qian)其采用(yong) MySQL 分庫分表方(fang)案(an)(an)(an)來存儲(chu)歷史數(shu)據(ju),使用(yong) Redis 來存儲(chu)實(shi)時數(shu)據(ju),在測點(dian)數(shu)較少或者集控需(xu)求不是很多的(de)場景下,基本滿足需(xu)求,但隨(sui)著平(ping)(ping)(ping)臺(tai)業務的(de)發(fa)展,接入(ru)的(de)站(zhan)點(dian)越來越多,運維難、開發(fa)難、成本高等問(wen)題逐(zhu)漸凸顯。為了(le)解決這些問(wen)題,華(hua)自科技決定(ding)重新進行(xing)技術選(xuan)(xuan)型,尋找替代(dai)方(fang)案(an)(an)(an),升級目前(qian)數(shu)據(ju)庫存儲(chu)方(fang)案(an)(an)(an)。結合平(ping)(ping)(ping)臺(tai)實(shi)際(ji)需(xu)要,其調研了(le) InfluxDB、庚(geng)頓、麥杰、TimescaleDB、TDengine 這幾(ji)款數(shu)據(ju)庫產品,最終選(xuan)(xuan)擇了(le) TDengine。
改造遷移
由于 TDengine 采(cai)用了類 SQL 的(de)(de)語法(fa),支持 MyBatis 等 ORM 框架,因(yin)此老(lao)業務(wu)在代(dai)碼層面的(de)(de)改動(dong)非(fei)常(chang)少,改動(dong)最多的(de)(de)就(jiu)是(shi)將原(yuan)(yuan)來的(de)(de) MySQL 函(han)數(shu)結合應用代(dai)碼的(de)(de)一些(xie)計算邏輯(ji)直(zhi)接用 TDengine 的(de)(de)函(han)數(shu)替換掉。在通過(guo)業務(wu)系統觀(guan)察和驗證各(ge)項功(gong)能正常(chang)之后,就(jiu)可(ke)以進行歷史數(shu)據(ju)的(de)(de)遷(qian)移(yi)了。由于 TDengine 的(de)(de)表結構與原(yuan)(yuan)來的(de)(de) MySQL 存儲結構基本類似,因(yin)此物聯網數(shu)據(ju)平(ping)臺開發(fa)人(ren)員直(zhi)接采(cai)用 DataX 的(de)(de) TDengine 插件,歷史數(shu)據(ju)就(jiu)很(hen)輕松地遷(qian)移(yi)過(guo)來了。
睿信物聯網平臺 x TDengine
TDengine 的安裝部署非常簡單,配合 Docker 容器,在幾分鐘內就能完成。遷移到 TDengine 之后,我們的運營監控工作也變簡單了,只需要對 TDengine 的幾個進程進行監控,占用的磁盤空間減少到了原來的 1/5,使用的主機也減少到原來的 1/5,極大節省了資源開銷。遇到技術難題,不僅可以直接在官方渠道 提 issue,也可以在 TDengine 的技術社區提問,TDengine 的技術專家響應非常快。[7]
業務背景
睿信物(wu)聯網平臺(tai)此前采(cai)用 OpenTSDB 進行(xing)時序數據(ju)的存儲,功能上基本(ben)滿(man)足現有(you)需求,但是由于 OpenTSDB 架構復(fu)雜,體量過重,給開(kai)發(fa)測試、安(an)裝(zhuang)部(bu)署以(yi)及(ji)運維(wei)管理等工作帶來了(le)不小的麻煩。隨著(zhu)業務的發(fa)展(zhan),問題(ti)逐漸凸顯,開(kai)始影響工作效率(lv),具體可以(yi)歸納(na)為安(an)裝(zhuang)難(nan)、調試難(nan)、運維(wei)難(nan)、成本(ben)高(gao)四大問題(ti)。從業務發(fa)展(zhan)的角度出發(fa),睿信開(kai)發(fa)人員決定重新進行(xing)技術選型,尋找 OpenTSDB 的替代方案,分別對 InfluxDB、TimescaleDB 和 TDengine 三款(kuan)時序數據(ju)庫進行(xing)調研。
架構圖

蒼穹數碼 x TDengine
我們以近 10 年全省的雨量站小時雨量數據為測試數據,從常用的應用場景對 TimescaleDB 和 TDengine 兩款數據庫進行對比分析,歷史數據批量入庫場景中 TimescaleDB 用時 24 小時,TDengine 用時僅僅 2 小時;入庫后數據文件大小對比結果中 TimescaleDB 是 38GB,TDengine 是 698MB;常見查詢場景比對中 TDengine 也均優于 TimescaleDB。從入庫、壓縮比及查詢 3 個維度來看,TDengine 都是完勝。[8]
業務背景
在(zai)地災專業(ye)監測(ce)物(wu)聯(lian)網平臺(tai)項(xiang)目中,首先需要解決的(de)就(jiu)是(shi)(shi)海量(liang)時(shi)(shi)序(xu)數(shu)據(ju)的(de)存儲(chu)和計(ji)算問題,其(qi)有著(zhu)體量(liang)大、時(shi)(shi)間長,寫入、查詢(xun)要求高(gao)(gao)等(deng)特點(dian),傳(chuan)統關系型(xing)數(shu)據(ju)庫已(yi)經無法滿足實時(shi)(shi)寫入與(yu)高(gao)(gao)性(xing)能查詢(xun)要求。該項(xiang)目在(zai) 2018 年創建之初采用的(de)是(shi)(shi)大型(xing)企(qi)業(ye)級數(shu)據(ju)庫 Oracle,目前已(yi)經無法滿足實時(shi)(shi)寫入與(yu)高(gao)(gao)性(xing)能查詢(xun)要求,特別是(shi)(shi)當雨(yu)季來臨,傳(chuan)感器數(shu)據(ju)采集(ji)頻率提高(gao)(gao)到秒級、毫秒級別,數(shu)據(ju)入庫就(jiu)會阻塞,效率非常低下。蒼穹(qiong)數(shu)碼選(xuan)擇(ze)接(jie)入 TDengine 以解決海量(liang)時(shi)(shi)序(xu)數(shu)據(ju)的(de)存儲(chu)和計(ji)算問題。
架構圖

通(tong)過上面幾個實踐我們也能(neng)看到,時序數(shu)據(ju)(ju)積(ji)累得非常快,每秒產生數(shu)百萬條數(shu)據(ju)(ju),通(tong)用數(shu)據(ju)(ju)庫(ku)并不是為處理(li)這種規模(mo)的數(shu)據(ju)(ju)而設(she)計(ji)的——關(guan)系數(shu)據(ju)(ju)庫(ku)在非常大(da)的數(shu)據(ju)(ju)集上表(biao)現很差,NoSQL 數(shu)據(ju)(ju)庫(ku)雖然解決了擴展(zhan)能(neng)力,但是其通(tong)用的數(shu)據(ju)(ju)組織方式并不完(wan)全(quan)適用于對時序數(shu)據(ju)(ju)存儲和查詢需求,用戶(hu)必須根據(ju)(ju)實際應用場景,進行特殊設(she)計(ji)甚(shen)至大(da)量數(shu)據(ju)(ju)冗(rong)余存儲才能(neng)較好的利用資(zi)源處理(li)請求。
而在時序數據庫(Time Series Database)的選擇上,企業也要擦亮雙眼,進行充分的調研測試,選擇性能最好資源使用率最高的產品,此前我們基于第三方性能基準測試平臺 TSBS 測試發布的 IoT 場景下 TDengine 3.0 性能對比分析報告,大家也(ye)可做參考。如果你正(zheng)面臨數(shu)據處理難(nan)題,歡迎添(tian)加小T微信(tdengine)尋求幫助。
參考文獻
[1] 《》.嚴晨晨-《數碼設(she)計》
[2] 《》.中國互聯網協會
[3]《物聯網新型基礎設(she)施建設(she)三年行動計劃(2021-2023年)》.工(gong)業和信(xin)息化部(bu)(bu)等(deng)部(bu)(bu)門(men)印發(fa)
[4]《物聯網、工業互聯網大數據的特點》.陶建輝-//yakult-sh.com.cn/tdengine-engineering/105.html
[5]《從 OpenTSDB 到 TDengine,至數物聯網平臺技術改造之路》.李友龍-//yakult-sh.com.cn/tdengine-user-cases/5007.html
[6]《服務器減少一半,TDengine 在華自科技的落地實踐》.寧龍-//yakult-sh.com.cn/tdengine-user-cases/3358.html
[7]《基于 TDengine 進行睿信物聯網平臺的遷移改造》.RisingStar-//yakult-sh.com.cn/tdengine-user-cases/2455.html
[8]《助力地質災害專業監測,他們選擇將 Oracle 替換為 TDengine》.小牛-//yakult-sh.com.cn/tdengine-user-cases/6550.html
相關文章








































