TDengine是taosData的產品,taosData是由陶姓海歸創立的,目測是用自己的姓氏命名的。。。網站:https://www.taosdata.com/
TDengine號稱是專為物料網設計的平台,在我看來就是一個時序數據庫而已,就像influxDB,它也和influxDB進行對比,讀寫速度,存儲空間各方面性能都強於influxDB。
TDengine社區版免費,開源協議是AGPL協議,這個協議要求引用它的產品也遵從AGPL協議,即要將代碼開源出來。
TDengine用C/C++編寫的,在linux上以服務的方式運行,主要控制台命令是taos
TDengine是關系型數據庫,采用類SQL語句可以操作數據庫
TDengine中的數據模型
- 表(table),要求每個采集設備單獨建表,且每個表的第一列必須為時間戳類型,為自動為時間戳列建立索引。數據是用列式存儲方式保存
- 超級表(stable),可以理解為表(table)的模板,普通表示超級表的實例,創建超級表的時候指定tag則為超級表,tag最少一個,最多六個,tag主要存儲靜態屬性。
TDengine服務主要包含兩大模塊:管理節點模塊(MGMT) 和 數據節點模塊(DNODE)
為了更高效地利用資源,以及方便將來進行水平擴展,TDengine內部對數據節點進行了虛擬化,引入了虛擬節點(virtual node, 簡稱vnode)的概念,作為存儲、資源分配以及數據備份的單元。每一個表只存在於一個vnode中,vnode資源隔離,在磁盤上有獨立的存儲目錄,並且都有緩存。
TDengine寫入數據的流程,最重要的是預寫日志算法,接受到客戶端的數據后會現將數據寫入到預寫日志(什么東西?)中,然后定時或者當數據量達到一定規模后才會寫入到磁盤中。