您當前的位置:首頁 > 文化

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

作者:由 yMatrix 發表于 文化時間:2021-05-24

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

在物聯網和實時數倉場景中,資料的高速寫入能力至關重要,直接影響產品方案的可用性、可靠性和擴充套件性。以物聯網為例,當面臨千萬甚至上億裝置、平均每個裝置採集幾十個到幾百個指標時,每秒生成的資料將達到數十億至數百億。能否及時可靠的插入這種量級的資料,是評價一個時序資料庫的核心要素和第一需求。據統計,物聯網時序資料具有寫多讀少特徵,其中95%甚至99%以上是資料寫入操作,從這個意義上講,怎麼重視資料寫入能力都不為過。

為了應對這種高通量資料寫入需求,一些產品採用無事務或者弱事務的方式來提高寫入速度,這樣造成錯誤資料、重複資料或者丟失資料。MatrixDB透過MatrixGate元件,創新性的在保證事務嚴格一致性(ACID)的前提下,支援大吞吐量資料高速寫入。同時,產品具有良好的線性擴充套件性,可以透過新增節點的方式,線性提升系統的寫入速度,滿足車聯網、工業網際網路、智慧家居、智慧城市等各種物聯網場景的資料寫入需求。

這篇部落格將詳細介紹在同樣環境下MatrixDB、InfluxDB和TDengine三個產品的寫入能力,方便使用者選型。本文采用行/每秒衡量資料寫入能力,有的文章使用資料點/秒,這兩種方式可以互換,譬如一張表有時間列、裝置ID列和5個指標列,那麼插入一行資料就意味著插入5個數據點,如果一秒插入1000行,那麼寫入能力是每秒5000個數據點。

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

根據不同的使用者使用場景,我們定義了小規模、中規模和大規模三種不同的測試場景,資料採集間隔均為60秒。具體特徵如下:

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

針對每種測試用例,分別使用三種產品各自推薦的快速寫入方式取得最高值,測試結果如下(單位: 行/秒),其中小規模選擇100萬裝置1列指標資料、中等規模選擇10萬裝置400列指標資料、大規模選擇100萬裝置800列指標資料:

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

MatrixDB與兩個產品的寫入速度之比分別是:

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

值得一提的是,三個產品的事務支援是不一樣的,MatrixDB在單節點和叢集多節點都支援完整嚴格的事務,包括原子性(A)、一致性(C)、隔離性(I)和永續性(D),InfluxDB和TDengine不支援事務。測試時,也注意到不同產品記憶體消耗不同,MatrixDB記憶體佔用較小較平穩,InfluxDB記憶體佔用較多,TDengine記憶體消耗最多並且與裝置數正相關,例如在500萬裝置時,記憶體佔用會超過80G。

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

MatrixDB、InfluxDB、TDengine均採用單機部署。 機器配置如下:

機器配置

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

軟體版本

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

引數調整

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

資料透過tsbs_generate_data工具生成。tsbs_generate_data是開源時序資料測評基準tsbs中的資料生成工具。MatrixDB團隊擴充了該工具以支援大規模裝置場景,透過引數——use-case=“massiveiot”來使用,可以在百度網盤

https://

pan。baidu。com/s/1BFYcQR

3DzqVLiy8ymXu9eg

(提取碼:8cba)下載該工具。

tsbs_generate_data 命令常用引數說明如下:

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

小規模檔案大小

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

2.中等規模檔案大小

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

3. 大規模檔案大小

如果全量生成的話,估算資料容量如下

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

由於InfluxDB/TDEngine在列數超過100列時較慢,為避免寫入時間過長,測試中採取限定時間範圍方法:

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

限定時間範圍後,實際資料大小如下:

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

每種產品使用的寫入方式如下:

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

1. 小規模資料寫入對比

值越大代表寫入效能越好

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

MatrixDB與InfluxDB寫入速度對比

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

MatrixDB與TDengine寫入速度對比

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

2. 中等規模資料寫入效能資料

值越大代表寫入效能越好

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

MatrixDB與InfluxDB寫入速度對比

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

MatrixDB與TDengine寫入速度對比

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

3 .大規模資料寫入效能資料

值越大代表寫入效能越好

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

MatrixDB與InfluxDB寫入對比

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

MatrixDB與TDengine寫入速度對比

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

四維縱橫

https://

ymatrix。cn

) 是全球超融合時空資料庫開創者,專為物聯網、車聯網、工業網際網路和智慧城市提供一站式資料平臺。

MatrixDB為首款PB級超融合時空資料庫,基於自主研發的多項專利技術,MatrixDB可以同時完美支援傳統的關係型資料和物聯網海量時空資料的快速採集、高效儲存、實時分析以及深度學習(ML+AI),為萬物互聯的智慧時代提供堅實、簡潔的智慧資料核心基礎設施。MatrixDB為公司自主研發的國產資料庫,公司擁有該產品的全部智慧財產權。

公司創始團隊均來自於Oracle、IBM、Teradata、Greenplum等國際一線資料庫企業,擁有數百人年的資料庫核心開發積累,是國內擁有全球頂級資料庫核心開發經驗,並能駕馭資料庫核心各模組的團隊。

時序資料庫插入效能評測:MatrixDB是InfluxDB的78倍,TDEngine的38倍

關 注 我 們

yMatrix官方使用者群現已正式對外開放,我們誠摯地期待您的加入。

在這裡,您可以瞭解到最前沿的創新技術,掌握最In的科技資訊,獲取專業的技術解答,還可以有機會與大咖面對面的互動和交流。

您還在等什麼?快快點選下方連結,加

小M助手

為好友即可入群。

www。ymatrix。cn/contact

-END-

標簽: 寫入  MatrixDB  資料  InfluxDB  TDengine