前言
本文正在參與“擁抱開源|濤思資料TDengine 有獎征稿”,活動連結。
跟濤思資料曾在boss直聘上有過一面之緣,因為都是做物聯網方向的,是以了解了一下。本文将講講
TDEngine
吸引開發者的地方以及
TDengine
在工業物聯網上的應用前景。
一.為什麼要用時序型資料庫
物聯網不同于網際網路, 網際網路是人與人之間的互聯,能夠産生的資料量确實也很大,但物聯網就更有甚之了,萬物之間相聯,産生的資料量肯定要比人與人之間的聯系産生的資料的資料量大出幾個數量級。
物與物相聯産生的資料如何存儲,才能更友善的管理呢?
我們可以從時間次元上入手,将資料按時間順序分類存儲,能勝任此工作的資料庫引擎,就是時序型資料庫。
時序型資料庫,資料結構大體如下:
time | column1 | column2 |
---|---|---|
2021-07-01 17:00:01 | 資料1 | 資料1 |
2021-07-01 17:00:02 | 資料2 | 資料2 |
2021-07-01 17:00:03 | 資料3 | 資料3 |
2021-07-01 17:00:04 | 資料4 | 資料4 |
2021-07-01 17:00:05 | 資料5 | 資料5 |
差別于傳統關系型資料庫來說,時序型資料庫的主鍵,強制使用時間。即所有的資料,都要跟時間有個對應關系。
通過時序型資料庫,我們可以很清晰的維護物聯網産生的各種實時資料,畢竟當今世界最重要的不是土地,而是資料,可謂得資料者,得天下!
二.TDengine的同類競品InfluxDB
提起資料庫,不得不想到起步較早的開源時序型
InfluxDB
,想要學習和了解
InfluxDB
時序型資料庫的,可以參考我寫的教程:《InfluxDB系列教程》
InfluxDB
有出色的吞吐量,能滿足了常見的物聯網資料的使用,單機版免費,叢集是收費的,而且叢集價格高昂,一般創業公司很少支付的起。
時序型不用叢集可以嗎?
從三年多的時序型資料庫的使用經驗中來看,如果業務中有大量的存儲或者大量的查詢功能的話,強烈建議用叢集,因為單機版的
單節點問題
會在大批量的寫入和查詢業務中頻繁暴露,導緻資料庫經常挂。是以,使用
InfluxDB
進退兩難。
三.叢集——TDengine的重磅武器!
開頭描述了這麼多,相比
TDengine
最吸引實用主義開發者的就是叢集免費,這也是
TDengine
的最強的競争力的地方,也可能使得
TDengine
的由
A Time series database
變成
the Time series database
。
叢集配置可參考:《TDengine的叢集配置》
不出意外,叢集的優勢在于,可以避免單節點過熱或者當機。
TDengine
同樣支援多節點的負載均衡:
1.當一個新資料節點添加進叢集時,系統将自動觸發負載均衡,一些節點上的資料将被自動轉移到新資料節點上,無需任何人工幹預。
2.當一個資料節點從叢集中移除時,系統将自動把該資料節點上的資料轉移到其他資料節點,無需任何人工幹預。
3.如果一個資料節點過熱(資料量過大),系統将自動進行負載均衡,将該資料節點的一些vnode自動挪到其他節點。
可以看出,無論是增加節點還是有節點下線,還是有節點過熱,
TDengine
都能很好的支援。最關鍵的是叢集是
免費的
。
總結
時序型資料庫,将是所有做物聯網行業繞不過去的資料存儲工具,國産開源的的
TDengine
不但單機版開源,而且叢集版也是免費的使用的,相信
TDengine
會在物聯網資料源的上遊站穩,成為物聯網資料治理的一個不錯的解決方案。
本文正在參與“擁抱開源|濤思資料TDengine 有獎征稿”,活動連結。