<label id="uvas2"></label>

  • <button id="uvas2"></button><dd id="uvas2"></dd><dd id="uvas2"><noscript id="uvas2"></noscript></dd>
    1. 物聯網

      寫入速度提升數十倍,TDengine 在拓斯達智能工廠解決方案上的應用

      2025China.cn   2022年06月08日

        導讀:在拓斯達的智能工廠整體解決方案項目中,傳統的關系型數據庫已經無法高效處理時序數據,在加載、存儲和查詢等多個方面都遇到了挑戰,最終他們選擇了 TDengine 來匹配工業傳感器數據的應用分析場景。本文將講述他們應用 TDengine 的具體實踐。

      企業簡介

        廣東拓斯達科技股份有限公司(簡稱:拓斯達,股票代碼:300607)是廣東省首家登陸創業板的機器人骨干企業。拓斯達堅持“讓工業制造更美好”的企業使命,通過以工業機器人、注塑機、CNC為核心的智能裝備,以及控制、伺服、視覺三大核心技術,打造以核心技術驅動的智能硬件平臺,為制造企業提供智能工廠整體解決方案。

      項目介紹

        在工業領域, 生產、測試、運行階段都可能會產生大量帶有時間戳的傳感器數據,這都屬于典型的時序數據。時序數據主要由各類型實時監測、檢查與分析設備所采集或產生,涉及制造、電力、化工、工程作業等多個行業,具備寫多讀少、量非常大等典型特性。

        在我們的業務中,傳統的關系型數據庫(Relational Database)已經無法高效處理時序數據,在加載、存儲和查詢等多個方面都遇到了挑戰。主要問題可以匯總如下:

        ● 寫入吞吐低:單機寫入吞吐量低,很難滿足時序數據千萬級的寫入壓力;

        ● 存儲成本大:在對時序數據進行壓縮時性能不佳,需占用大量機器資源;

        ● 維護成本高:單機系統,需要在上層人工進行分庫分表,維護成本高;

        ● 查詢性能差:海量實時數據的聚合分析性能差。

        為了更好地滿足時序數據的處理需求,我們決定進行數據庫選型調研,最終選擇了時序數據庫(Time-Series Database)TDengine。事實證明,TDengine 針對時序數據的寫入、存儲、索引、查詢等方面都進行了特定的優化,從而實現了更優的數據加載、數據壓縮、查詢寫入性能,非常匹配工業傳感器數據的應用分析場景。

        01、選擇 TDengine 的理由

        與通用數據庫相比,TDengine 的壓縮率表現驚人,核心原因是其采用列式存儲,而且采用了二階段壓縮策略,還針對不同數據類型采取了不同的壓縮算法,這種壓縮機制使其壓縮率遠超其他數據庫。

        此外 TDengine 還擁有極高的讀寫性能,并且讀寫速度受數據存儲規模的影響微乎其微,要知道通用數據庫的數據量一旦過百萬級,讀寫速度就會有明顯下降,之前我們做過一次 MySQL 批量插入數據的測試,性能差距明顯,這也是在大量級數據存儲下我們會選擇 TDengine 的重要原因之一。具體來說,TDengine 優勢如下:

        ● 數據的讀寫速度快且自帶時間戳,使用 SQL 進行數據庫操作,簡單易學,支持復雜查詢

        ● 數據壓縮率高,大量級的數據也不會占據過多存儲空間,可導出數據進行備份

        ● 擁有交流社區和交流群,遇見問題可以和 TDengine 的其他使用者一起探討,而且官方的同學也能提供及時的幫助

        當然,世上沒有完美的數據庫,我們在應用之后總結出了兩點待改進的地方:

        ● 無法使用可視化軟件如 Navicat 等進行數據庫操作(TDengine GUI)

        ● 目前還沒有 Windows 版的服務端,像我們上一個客戶,只在本地 Windows 上使用程序,在沒有安裝虛擬機和部署到服務器的情況下,就無法部署 TDengine

        但每一款產品都是在發現問題和改進問題的步伐中逐漸進步的,而且對于我們的業務實現來說,TDengine 不存在明顯的短板。沒有最優的數據庫,在場景匹配的情況下,我們最終采用了 TDengine。

        02、落地實踐

        ● 平臺架構

        我們是通過網關采集設備數據推送到 MQTT,Java 后端監聽到后會寫入 TDengine,在后端按需求查詢處理后再把數據返回給前端。

        具體來說,網關會先讀取后臺發布的上行規則,在采集到設備數據后,使用上行規則對數據進行處理計算后再將結果返回給下行規則模塊,后臺監聽到后,會連接 TDengine 進行數據庫表的創建修改和數據寫入。之前在云平臺我們使用過 Kafka 進行數據的發布訂閱,現在所有環境都改為 MQTT 了。

        ● 超級表及建模思路

        在應用 TDengine 時,我們建立了流水數據庫 "iot_platform" 用來存儲網關傳來的數據,便于日后查詢使用。我們遵循“一個采集點一張表,一類數據一個超級表”的思路來建表,在具體實踐上設計了兩張超級表,一張是用于存儲 log 指令內容的“logs”表,另一張是用于存儲其它指令內容的“datas”表,數據類型基本為電流電壓、設備狀態等。在進行數據存儲時首先會對數據加以判斷,再決定將數據存儲到哪張表里。

        03、落地效果

        運行一段時間后,TDengine 的查詢、寫入速度完全可以滿足我們目前的客戶需求,最慢的分鐘級,最快的能達到 1 秒一條;一個設備一天最多能寫入近十萬條數據,近千個設備同時寫入也完全沒有問題,相較于之前,寫入速度提升了數十倍。查詢數據在以月為單位的時間范圍內沒有過于明顯的延遲,整體的數據壓縮比大概是 1/10,目前每天產生的數據量在數 G 左右。

        ● 流水數據查詢

        查詢某一時間段內的流水數據,使用查詢語句:

        ● 聚合函數計算一天的數據

        使用 TDengine 的函數計算每天的用電量,再通過每天的去計算月和年數據,查詢語句為:

        ● 計算某一時間段內的數據

        04、寫在最后

        在工業互聯網快速發展的大背景下,工業生產現場投放了大量的設備傳感器和監控系統,二者提供的實時數據能夠反映設備的狀態和生產的進度,其中的大多數據都是按照時間順序形成的實時數據,這些海量實時數據有著多樣化的分析需求和重要的參考價值。

        未來希望 TDengine 可以提供更復雜的流式計算、查詢分析以及監測預警等能力,可以為產品的可視化運維、預測性維護、遠程智能管理等方面提供數據依據,從而降低人員、時間等成本,加速工業化與信息化的深度融合,促進復雜重型裝備制造業的轉型升級,產生社會經濟效益。

      (轉載)

      標簽:TDengine 智能工廠 我要反饋 
      進博會專題
      西克
      專題報道
      魏德米勒電源解決方案
      魏德米勒電源解決方案

      12月26日14:00-16:00魏德米勒行業應用專家將為廣大行用戶帶來具有高性價比、功能強大的創新電源產品,及高效電源

      ABB廈門工業中心零排放愿景項目之旅
      ABB廈門工業中心零排放愿景項目之旅

      隨著國家雙碳戰略發布,能源變革勢在必行。ABB作為電力行業領導者,使命擔當,賦能企業踐行低碳轉型。履行集團可持續發展“M

      跨越邊際,智能互聯--SICK 2022傳感智能暨新品發布大會
      跨越邊際,智能互聯--SICK 2022傳感智能暨新品發布大會

      2022年12月23日,SICK “跨越邊際,智能互聯”傳感智能暨新品發布大會,將在線上與您見面。邀您一起了解SICK在

      亚洲国产精品无码一区二区三区

      <label id="uvas2"></label>

    2. <button id="uvas2"></button><dd id="uvas2"></dd><dd id="uvas2"><noscript id="uvas2"></noscript></dd>