去年,我們發布了 IoTDB 多項性能表現位居國際數據庫性能測試排行榜 benchANT(Time Series: DevOps)第一名的好消息。
剛剛落幕的數據庫頂級會議 VLDB 上,我們又收獲了一則重磅喜訊:IoTDB 原廠團隊基于 Apache IoTDB 開發的企業級產品 TimechoDB 成功打破世界紀錄,登頂權威性能基準榜單 TPCx-IoT。
對我們而言,登頂 TPCx-IoT 是一件非常重要的事。那么,為什么這次成績如此重要,登頂 TPCx-IoT 又意味著什么?
在后續梳理 TimechoDB 在 TPCx-IoT 的基準測試流程前,我們想先為大家解答兩個基礎且重要的問題……
01 What:什么是 TPCx-IoT?
在介紹 TPCx-IoT 之前,我們首先了解一下 TPC 是什么。TPC 是國際事務處理性能委員會的簡稱,英文全稱為“Transaction Processing Performance Council”。
TPC 成立于 1988 年 8 月,是一個由全球數十家計算機軟硬件廠家創建的非營利性組織,專注于為管理數據為中心的數據庫等系統制定測試標準規范,用于測量和比較不同系統的性能與價格,并管理測試結果的發布。
早在上個世紀 80 年代,當計算機應用于商業社會時,諸多的數據庫廠商開始競速宣傳,每個廠商都站在自己的優勢立場,宣傳自己的系統是最好的,而當時又沒有一個統一的標準能說明如何評判系統的性能。
后來,雖然 1985 年學術界提出了 Debit Credit 測試標準,同期 IBM 也提出了 TP1(Transaction Process)測試標準,但統一的標準并沒有完全解決問題,因為沒有一個公共認可的權威機構來監督測試的執行過程與結果。
這也就導致有些廠商根據自己的優勢,隨意修改標準中的關鍵要求來改善他們的測試結果,這樣的結果顯然是不客觀、不具備參考性的。
直到 1988 年 8 月,工程師 Omri Serlin 成功說服了 8 家數據庫廠商成立了 TPC,來制定一個統一且行業認可的標準,并對標準的執行進行監督,“王婆賣瓜自賣自夸”的局面才逐漸結束。
現在,TPC 已經成為國際上最權威的數據庫性能測評基準組織之一。國際上絕大多數知名數據庫廠商及企業版產品,都參與了其設立的基準測評,如甲骨文 Oracle、微軟 SQLServer、IBM DB2、Databricks 等等。
而 TPCx-IoT 是由 TPC 制定的第一個專門用來衡量物聯網場景系統性能的行業標準基準。該標準模擬了工業電力場景下數千個發電站的傳感器數據負載,在評估軟件寫入性能的同時,也將運行軟件與相應硬件/云平臺成本考慮在內,以客觀預估實現軟件性能所需的成本。
TPCx-IoT 定義的三個主要評估指標為:
性能指標(IoTps):系統的有效數據吞吐量。計算方法為獲取的數據量(Scale Factor)/獲取所用時間(秒)。
性價比指標($/kIoTps):系統達到該吞吐性能指標需要的軟件與硬件成本情況,以 3 年為系統生命周期,也是衡量成本的時間單位。計算方法為 1000*系統總成本/IoTps。
系統商業化可用日期:系統能夠復現榜單中的性能、性價比指標數字,并可以進行商業化部署的起始日期,以此給工業領域用戶使用參考。

從左至右分別為性能指標、性價比指標、系統商業化可用日期
02 Why:為什么我們選擇 TPCx-IoT?
代表性的物聯網基準測試包括 TPCx-IoT、IoT-Benchmark、TSBS 和 SmartBench 等。而我們之所以選擇 TPCx-IoT,是因為它的權威性與公正性。這主要體現在以下三個方面:
公開、統一標準下進行測試:每個系統廠商負責測試自己的產品,杜絕了單個廠商測試多個系統的情況,從而避免可能通過技術手段使得自己產品性能遠高于其他產品,產生不公平結果的可能性。
由第三方機構進行驗證:TPC 委員會會對測試工具的擴展實現進行審核,保證實現的公平;也會對測試流程、軟件、硬件進行審核,保證測試過程和參數配置的公平,測試結果的客觀性能夠進一步得到保障。
商業層面參考度高:TPCx-IoT 模擬的數據負載與現實世界的物聯網應用非常相似,設置指標與工業用戶的需求和利益緊密相關。這意味著基于該基準的測評結果不是空中樓閣,而是參考度高的、可商業化驗證的。
除了榜單本身的權威性與公正性,IoTDB 研發團隊也進行了非常嚴謹的測試過程。在 TPCx-IoT 官方網站發布的榜單上,我們注意到有些系統在測試期間啟用了預寫日志(WAL),而其他系統則沒有。
物聯網場景需求各異,啟用數據庫的 WAL 可以提供數據的持久性,但會影響數據的寫入性能;而當前置模塊能保證數據持久性、又追求更高性能的場景下,可以關閉數據庫的 WAL。
為了更全面、更有說服力地驗證 TimechoDB 的性能,IoTDB 團隊在 TPCx-IoT 數據負載下進行了兩類測試:一類啟用 WAL,一類關閉 WAL,并在每個測試場景運行了 5 次,以確保測試結果始終可復現。
TPCx-IoT 榜單中涵蓋了 TimechoDB 兩種配置的測試結果。結果可見,TimechoDB 關閉 WAL 情況下排名榜單第一,TimechoDB 開啟 WAL 情況下排名榜單第二,兩個版本在性能和性價比兩個維度上都超過了所有其他系統。

排名第一為關閉 WAL 結果,第二為啟用 WAL 結果
03 更多細節:特邀論文發布!
值得一提的是,在 TPC 組織的年度會議 TPCTC 上,IoTDB 團隊就技術創新、應用場景,以及在 TPCx-IoT 榜單的測試流程、結果對比、未來展望等內容做了特邀報告。
成果也以論文《Performance Evaluation of TimechoDB using TPCx-IoT Benchmark》形式,發表于計算機科學領域著名期刊:Lecture Notes in Computer Science(LNCS)。
后續我們也將會把此篇論文中披露的測試細節整理發布,以便大家更好地了解 IoTDB 的優異性能表現,敬請期待!
更多內容推薦:
? 了解如何使用 IoTDB 企業版
? 了解更多 IoTDB 應用案例