TDengine 介紹
TDengine 簡介
TDengine 是一款高性能、分布式、支持 SQL 的時序數據庫。而且除時序數據庫功能外,它還提供緩存、數據訂閱、流式計算等功能,最大程度減少研發和運維的復雜度,且核心代碼,包括集群功能全部開源(開源協議,AGPL v3.0)。與其他時序數據數據庫相比,TDengine 有以下特點:
-
高性能:通過創新的存儲引擎設計,無論是數據寫入還是查詢,TDengine 的性能比通用數據庫快 10 倍以上,也遠超其他時序數據庫,而且存儲空間也大為節省。
-
分布式:通過原生分布式的設計,TDengine 提供了水平擴展的能力,只需要增加節點就能獲得更強的數據處理能力,同時通過多副本機制保證了系統的高可用。
-
支持 SQL:TDengine 采用 SQL 作為數據查詢語言,減少學習和遷移成本,同時提供 SQL 擴展來處理時序數據特有的分析,而且支持方便靈活的 schemaless 數據寫入。
-
All in One:將數據庫、消息隊列、緩存、流式計算等功能融合一起,應用無需再集成 Kafka/Redis/HBase/Spark 等軟件,大幅降低應用開發和維護成本。
-
零管理:安裝、集群幾秒搞定,無任何依賴,不用分庫分表,系統運行狀態監測能與 Grafana 或其他運維工具無縫集成。
-
零學習成本:采用 SQL 查詢語言,支持 Python, Java, C/C++, Go, Rust, Node.js 等多種編程語言,與 MySQL 相似,零學習成本。
-
無縫集成:不用一行代碼,即可與 Telegraf, Grafana, EMQX, Prometheus, StatsD, collectd, Matlab, R 等第三方工具無縫集成。
-
互動 Console: 通過命令行 console,不用編程,執行 SQL 語句就能做即席查詢、各種數據庫的操作、管理以及集群的維護.
采用 TDengine,可將典型的物聯網、車聯網、工業互聯網大數據平臺的總擁有成本大幅降低。但需要指出的是,因充分利用了物聯網時序數據的特點,它無法用來處理網絡爬蟲、微博、微信、電商、ERP、CRM 等通用型數據。

TDengine 總體適用場景
作為一個 IoT 大數據平臺,TDengine 的典型適用場景是在 IoT 范疇,而且用戶有一定的數據量。本文后續的介紹主要針對這個范疇里面的系統。范疇之外的系統,比如 CRM,ERP 等,不在本文討論范圍內。
數據源特點和需求
從數據源角度,設計人員可以從下面幾個角度分析 TDengine 在目標應用系統里面的適用性。
| 數據源特點和需求 | 不適用 | 可能適用 | 非常適用 | 簡單說明 |
|---|---|---|---|---|
| 總體數據量巨大 | √ | TDengine 在容量方面提供出色的水平擴展功能,并且具備匹配高壓縮的存儲結構,達到業界最優的存儲效率。 | ||
| 數據輸入速度偶爾或者持續巨大 | √ | TDengine 的性能大大超過同類產品,可以在同樣的硬件環境下持續處理大量的輸入數據,并且提供很容易在用戶環境里面運行的性能評估工具。 | ||
| 數據源數目巨大 | √ | TDengine 設計中包含專門針對大量數據源的優化,包括數據的寫入和查詢,尤其適合高效處理海量(千萬或者更多量級)的數據源。 |
系統架構要求
| 系統架構要求 | 不適用 | 可能適用 | 非常適用 | 簡單說明 |
|---|---|---|---|---|
| 要求簡單可靠的系統架構 | √ | TDengine 的系統架構非常簡單可靠,自帶消息隊列,緩存,流式計算,監控等功能,無需集成額外的第三方產品。 | ||
| 要求容錯和高可靠 | √ | TDengine 的集群功能,自動提供容錯災備等高可靠功能。 | ||
| 標準化規范 | √ | TDengine 使用標準的 SQL 語言提供主要功能,遵守標準化規范。 |
系統功能需求
| 系統功能需求 | 不適用 | 可能適用 | 非常適用 | 簡單說明 |
|---|---|---|---|---|
| 要求完整的內置數據處理算法 | √ | TDengine 的實現了通用的數據處理算法,但是還沒有做到妥善處理各行各業的所有要求,因此特殊類型的處理還需要應用層面處理。 | ||
| 需要大量的交叉查詢處理 | √ | 這種類型的處理更多應該用關系型數據系統處理,或者應該考慮 TDengine 和關系型數據系統配合實現系統功能。 |
系統性能需求
| 系統性能需求 | 不適用 | 可能適用 | 非常適用 | 簡單說明 |
|---|---|---|---|---|
| 要求較大的總體處理能力 | √ | TDengine 的集群功能可以輕松地讓多服務器配合達成處理能力的提升。 | ||
| 要求高速處理數據 | √ | TDengine 的專門為 IoT 優化的存儲和數據處理的設計,一般可以讓系統得到超出同類產品多倍數的處理速度提升。 | ||
| 要求快速處理小粒度數據 | √ | 這方面 TDengine 性能可以完全對標關系型和 NoSQL 型數據處理系統。 |
系統維護需求
| 系統維護需求 | 不適用 | 可能適用 | 非常適用 | 簡單說明 |
|---|---|---|---|---|
| 要求系統可靠運行 | √ | TDengine 的系統架構非常穩定可靠,日常維護也簡單便捷,對維護人員的要求簡潔明了,最大程度上杜絕人為錯誤和事故。 | ||
| 要求運維學習成本可控 | √ | 同上。 | ||
| 要求市場有大量人才儲備 | √ | TDengine 作為新一代產品,目前人才市場里面有經驗的人員還有限。但是學習成本低,我們作為廠家也提供運維的培訓和輔助服務。 |

