從 MongoDB 到 TDengine,沃太能源實現 18 倍寫入性能提升

導讀

沃太能源是國內領先儲能設備生產廠商,數十萬儲能終端遍布世界各地。此前使用 MongoDB 存儲時序數據,但隨著設備測點增加,MongoDB 在存儲效率、寫入性能、查詢性能等方面暴露出短板。經過對比,沃太能源選擇了專業時序數據庫 TDengine,生產效能顯著提升:整體上,數據壓縮率超 10 倍、寫入性能提升 18 倍,查詢在特定場景上也實現了數倍的提升。同時減少了技術架構復雜度,實現了零代碼數據接入。本文將對TDengine在沃太能源的應用情況進行詳解。

1、源起

在 2024 年前,我司使用 MongoDB 數據庫存儲時序數據,包括運行數據、秒級數據、功率數據、能量數據、收益數據、FFR 和 FACS 數據,涉及數十萬設備的千萬測點數據寫入存儲與實時設備狀態查詢與分析。使用場景對數據庫性能要求高,響應時延在毫秒級。

在實際使用中,隨著接入設備測點的增加,MongoDB 在處理時序數據方面的局限性逐漸顯現:

  • 存儲效率較低,單位數據存儲成本高:相較于專業時序數據庫,MongoDB 存儲數據壓縮率較低,在海量時序數據存儲時,存儲開銷大。且 MongoDB 尚不支持多級存儲,無法按數據價值,差異化使用存儲資源。

  • 寫入性能較低,海量數據寫入時間長:對于高頻數據(毫秒級)數據寫入,MongoDB 寫入性能在秒級,很難滿足我司儲能設備高頻數據采集性能要求,數據產生速度大于數據寫入速度。

  • 查詢性能較低,實時數據查詢時間長:MongoDB 對復雜查詢的支持全面,但實時查詢場景所需的實時數據返回,查詢性能仍不能滿足生產所需。

  • 技術架構復雜,實時場景技術棧復雜:因 MongoDB 實時處理能力有限,故在技術架構設計時,需要引入 Redis,來滿足實時查詢需求。技術環節多,數據流轉復雜,增加應用開發與技術管理復雜度。

2、探索

針對實時場景痛點,我司開始進行專業時序數據庫選型,要求存儲成本低寫入速度快查詢實時返回,并期望有效降低架構復雜度

經對市場多款時序數據庫調研,我司從技術可控降本增效架構簡潔性能優越生態豐富五個維度進行對比,最終比選出濤思數據的 TDengine 作為我司實時數據基礎數據庫平臺。

3、落地

我司 IT 團隊與 TDengine 服務團隊組成的項目實施團隊,經過近三個月的協同工作,分階段完成集群部署、MongoDB 數據遷移、數據庫調優,以及生產割接,最終完成了我司時序數據處理基礎架構從 MongoDB 向 TDengine 的遷移,在各方面均達成了項目預期目標。

例如:在設備綜合信息查詢場景,需要對具有 231 列的綜合數據信息表,在億級數據中查詢某單一設備綜合信息。此表存儲設備的電壓、電流、功率等信息。

使用 TDengine 后,單設備全天數據查詢時間縮短至十幾毫秒,單位時間業務數據查詢效率提升明顯,提升下游實時數據應用對客體驗。

另外就是存儲方面,TDengine 優秀的時序數據壓縮效率,大大提升了我司數據的存儲能力,壓縮率達到 10 倍以上,相比舊有 MongoDB,在硬件資源上有明顯的成本下降。

4、創新

在 TDengine企業版工具中,提供零代碼數據接入組件 taosX,可以通過界面配置接入 Kafka 等三方數據源數據。我司應用 taosX,直接對接 Kafka 消息,寫入數據至 TDengine,減少了系統復雜度,同時也降低了人力投入。

另我司基于 TDengine 時序數據查詢的優越性能,遷移原 Redis 實時報表數據應用至 TDengine,實踐效果完全滿足生產性能要求,驗證了 TDengine 可以在部分實時場景替代 Redis 實時數據查詢功能。

5、展望

TDengine在實時場景的投產成功,增強了我司實時數據處理能力,更高效地服務于廣大沃太儲能客戶。下一步,我司計劃進一步擴大TDengine 應用承載范圍,應用 TDengine 新發布的 TDgpt 與虛擬表等功能,深化時序數據應用場景,更好地服務于我司內外部客戶。

關于沃太能源

沃太能源股份有限公司自 2012 年成立以來專注于儲能產品的研發、生產和銷售,掌握 BMS、EMS、系統集成、云管理平臺等儲能核心控制技術,是行業領先的全功率段儲能系統提供商,致力于為家庭、 工商業園區、電網、發電站、電力公司等提供綜合的新能源智慧解決方案。

公司擁有國家級“專精特新”重點小巨人、國家高新技術企業認證、國家知識產權示范企業等多項榮譽,主要產品涵蓋微型、戶用、工商業和大型四大儲能核心領域,廣泛應用于電力系統的發電、輸電、配電、用電等環節,可幫助降低用電成本、 提高新能源電力使用率、減少碳排放,為可持續發展做出積極貢獻。

關于作者

沃太能源云平臺開發部主要負責 Alpha 儲能平臺的軟件、通訊以及物聯網平臺開發,實現儲能系統與設備的互聯互通,提供能源管理、數據分析及遠程管控等功能,實現儲能平臺數智化運營。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/72947.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/72947.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/72947.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數據庫基本建表操作

1.登錄數據庫并創建數據庫db_ck 創建完成后使用到我們創建的數據庫。 2.創建表t_hero 根據hero屬性包括(id,name,nickname,age,gender,address,weapon,types) 創建完…

OkHttp 之任務調度模塊源碼分析

一、引言 在現代網絡應用開發中,高效的任務調度機制對于提升系統性能和用戶體驗至關重要。OkHttp 作為一款廣泛使用的高性能 HTTP 客戶端庫,其任務調度模塊在處理網絡請求的并發、排隊和執行等方面發揮著關鍵作用。本文將深入 OkHttp 源碼,詳…

復現無人機的項目,項目名稱為Evidential Detection and Tracking Collaboration

項目名稱為Evidential Detection and Tracking Collaboration,主要用于強大的反無人機系統,涉及新問題、基準和算法研究。下面介紹項目的復現步驟: 安裝環境:使用Anaconda創建并激活名為edtc的虛擬環境,Python版本為3…

QwQ-32B 開源!本地部署+微調教程來了

今天,通義千問開源了推理模型QwQ-32B QwQ-32B 在一系列基準測試中進行了評估,測試了數學推理、編程能力和通用能力。以下結果展示了 QwQ-32B 與其他領先模型的性能對比,包括 DeepSeek-R1-Distilled-Qwen-32B、DeepSeek-R1-Distilled-Llama-7…

如何利用 Excel 表格實現精準文件批量重命名教程

在處理大量文件時,有時需要根據特定規則對文件名進行調整。如果您的文件名和新名稱之間存在一對多的關系,并且這種關系可以通過 Excel 表格來管理,那么使用“簡鹿文件批量重命名”軟件中的“匹配對應名稱命名”功能將是一個高效的選擇。接下來…

開關模式電源轉換器 EMI/EMC 的集成仿真

介紹 在電力電子領域,電磁干擾 (EMI) 和電磁兼容性 (EMC) 問題可以決定設計的成敗。開關模式電源轉換器雖然高效且緊湊,但卻是電磁噪聲的常見來源,可能會對附近的組件和系統造成嚴重破壞。隨著…

Android 藍牙工具類封裝:支持經典藍牙與 BLE,兼容高版本權限

為了優化經典藍牙(Classic Bluetooth)和低功耗藍牙(Bluetooth Low Energy, BLE)的操作,我們可以將功能封裝到一個工具類中,支持掃描、連接、通信,并兼容高版本 Android 的動態權限申請。以下是完…

STM32 CAN模塊原理與應用詳解

目錄 概述 一、CAN模塊核心原理 1. CAN協議基礎 2. STM32 CAN控制器結構 3. 波特率配置 二、CAN模塊配置步驟(基于HAL庫) 1. 初始化CAN外設 2. 配置過濾器 3. 啟動CAN通信 三、數據收發實現 1. 發送數據幀 2. 接收數據幀(中斷方式…

PostgreSQL_安裝部署

一、Windows系統下安裝 1.下載安裝包 登錄PostgreSQL: Downloads官網: 選擇14.12版本,點擊下載: 2.安裝PostgrSQL14.12 雙擊exe安裝包程序,準備安裝: 選擇安裝路徑: 選擇想安裝的工具: 選擇數…

init arry的作用,可以沒有init arry嘛?(面試題)

https://bbs.kanxue.com/thread-282657.htm 對init_array段調用的方法進行Hook https://bbs.kanxue.com/thread-191092.htm init_array原理簡單說明 https://bbs.kanxue.com/thread-280135.htm frida hook init_array自吐新解 init_array 的作用,以及是否可以沒有 i…

藍橋杯真題0團建dfs+哈希表/鄰接表

dfs鄰接表儲存或者哈希表的運用,考察我們對數據的存儲 本題核心就是在求從根節點開始的兩棵樹相同的最長序列,首先確定用dfs進行深搜,對于節點的形式可以用鄰接表,鄰接矩陣,哈希表來進行存儲數據。下面看代碼 鄰接表 …

使用 AIStor、MLflow 和 KServe 將模型部署到 Kubernetes

在之前幾篇關于 MLOps 工具的文章中,我展示了有多少流行的 MLOps 工具跟蹤與模型訓練實驗相關的指標。我還展示了他們如何使用 MinIO 來存儲作為模型訓練管道一部分的非結構化數據。但是,一個好的 MLOps 工具應該做的不僅僅是管理您的實驗、數據集和模型…

kali linux web掃描工具

Kali Linux是一款專為網絡安全領域而打造的操作系統,提供了眾多優秀的安全工具,其中就包括了強大的web掃描工具。Web掃描是網絡安全檢測的一個重要環節,它可以幫助安全專家檢測網站的漏洞,提升網站的安全性。 Kali Linux中集成了…

Linux losetup循環設備

好的,以下是命令的中文解釋和使用步驟: 命令解釋: losetup -r /dev/loop0 /system/app.bin: losetup 是一個用于將文件與循環設備(loop device)關聯的命令。-r 選項表示將循環設備設置為只讀模式。/dev/lo…

【js逆向】

地址:aHR0cHM6Ly93d3cud2VpYm90b3AuY24vMi4wLw f12進入 debugger,過debugger 查看預覽數據 全局搜索 請求網址中的 api.weibotop.cn 在下方疑似找到了加密和解密的函數 斷點調試 控制臺輸出 那個n就是 常見的 cryptoJs庫 const cryptoJs require(cry…

1.Intel BIOS 開發指南詳細介紹

1. 引言 目的: Intel BIOS 開發指南旨在為開發者提供詳細的指導,幫助他們理解和實現 Intel 平臺上的 BIOS 功能。 適用對象: 適用于希望開發、調試和優化 BIOS 的硬件工程師、軟件工程師和系統集成商。 版本信息: 確保你使用的是最新版本的指南,以獲取最新的信息和最佳實…

deepseek在pycharm中的配置和簡單應用

對于最常用的調試python腳本開發環境pycharm,如何接入deepseek是我們窺探ai代碼編寫的第一步,熟悉起來總沒壞處。 1、官網安裝pycharm社區版(免費),如果需要安裝專業版,需要另外找破解碼。 2、安裝Ollama…

【論文閱讀】多模態——LSeg

文獻基本信息 標題:Language-Driven Semantic Segmentation作者:Boyi Li、Kilian Q. Weinberger、Serge Belongie、Vladlen Koltun、Ren Ranftl單位:Cornell University、University of Copenhagen、Apple、Intel Labs會議/期刊:…

【MySQL基礎-1】MySQL 用戶管理指南:創建用戶、修改密碼與權限分配

MySQL 作為廣泛使用的關系型數據庫管理系統,用戶管理和權限分配是其核心功能之一。合理創建用戶、修改密碼以及分配權限,不僅能保障數據庫的安全性,還能有效控制用戶的操作范圍。本文將詳細介紹如何在 MySQL 中創建用戶、修改用戶密碼以及分配…

影刀RPA編碼版與流程版解析

影刀RPA編碼版是影刀RPA的一個高級版本,它結合了流程版的可視化操作和編碼版的強大靈活性,以下是對影刀RPA編碼版的詳細介紹: 1. 功能對比 流程版: 可視化操作:通過拖拽式流程設計器,用戶可以像搭積木一樣…