天天看點

TiDB在威銳達遠端診斷大資料中心的應用

作者:minght​

一、業務概述

威銳達遠端診斷大資料中心是以風場端WindCMS風機振動線上監測系統為前端基礎,配合在離線資料回收工具,在威銳達公司内建構的一個滿足人工故障診斷、機器學習與資料挖掘、BI可視化統計等各種業務資料需要的綜合大資料中心,宗旨是以盡可能小的成本最高效地提供按需資料響應。整個中心的業務資料流如下圖所示:

​​

TiDB在威銳達遠端診斷大資料中心的應用

​​

中心的資料是風場端WindCMS風機振動線上監測系統從風機振動監測采集單元采集到的工業振動資料,會每4小時左右産生一組,這些時序資料通過離線資料回收工具回收到中心,而進入中心的資料還會呈現出随時間流逝通路熱度也随之逐漸降低的特點。目前,中心可線上穩定接入全國具備接入條件的所有風場線上振動監測資料,對于不具備接入條件的風場,還支援曆史資料的在離線回收,線上接入資料涵蓋了100多個風場、4000多個機組,日接入資料主要包括280w多條特征值趨勢資料、28w多條波形及其索引資料,除此之外還有10w多條資料回收中繼資料。如果有曆史資料回收任務進行的話,接入資料規模還會進一步加大。

面對全國風場的在離線資料接入需求,使用傳統的“單機關系資料庫+檔案系統”方式顯然不能很好滿足接入吞吐和效率的要求,另外,随着接入時間的持續,源源不斷的接入資料也會進一步拖慢單機資料庫、檔案系統的運作效率,同時磁盤剩餘空間也會被慢慢吃完。為此,選擇一種分布式的、可按需擴充的資料存儲方案勢在必行!

二、TiDB 資料庫優勢特點

TiDB資料庫是一款分布式分析/事務混合型NewSQL資料庫,其優勢特點如下:

  • 支援容量及性能的水準彈性擴縮
  • 相容 MySQL 協定,幾乎無須修改代碼即可無縫遷移切換
  • 滿足業務故障自恢複的高可用,且易維護
  • 強一緻的分布式事務處理
  • 支援 Spark,可支撐大體量資料查詢與機器學習應用
  • 叢集狀态可視化監控,友善運作維護

三、TiDB 應用結合點

基于上述業務和TiDB資料庫自身優勢特點的分析,我們分布式、可擴充的資料存儲方案最終選擇将TiDB資料庫作為關系資料存儲。TiDB資料庫在我們實際使用中,主要有下面兩方面的結合點:

1. 分布式關系 - 鍵值對混合型二級資料存儲方案

中心需要接入的線上振動監測資料主要是特征值趨勢資料和原始振動波形資料。前者是一條條的關系資料記錄,接入到中心後适合存儲到關系資料庫表中,後者是一個存儲大小在500KB左右的數值清單,而其在業務使用時又是通過機組ID、測點位置、采集時間等組合屬性來定位的,由此可見其資料通路使用具有典型的索引+鍵值對通路特性。基于上述資料本身及其使用的特點,我們對資料的存儲方案選擇了“特征值趨勢、波形索引存儲于TiDB,波形存儲于鍵值對資料庫”的分布式關系-鍵值對混合型二級資料存儲方案。其中,TiDB特征值趨勢主要用于進行趨勢圖展示、BI可視化統計,TiDB波形索引主要用于進行資料定位和其他一些基于關系的資料統計;鍵值對資料庫波形則用于基于鍵的波形展示。

​​

TiDB在威銳達遠端診斷大資料中心的應用

​​

通過基于TiDB和鍵值對資料庫的分布式關系-鍵值對混合型二級資料存儲方案落地實施,中心資料接入能力得到了全面的提升,各項資料接入工作得以有序、高效地開展推進。

2. 基于 SparkSQL 彈性分布式記憶體計算的自助互動式分析查詢

​​

TiDB在威銳達遠端診斷大資料中心的應用

​​

圍繞着中心資料的通路使用,上遊的BI可視化統計等業務資料通路需求具有典型的自助互動式通路特性,要求資料查詢響應時長不宜太長,且不會因資料量的增大而明顯變長。這對一般的“PDServer+TiKVServer+TiDBServer”TiDB查詢架構構成挑戰,實際運作使用過程中經常會因為自助互動式查詢送出的資料查詢過大而導緻TiDBServer資源不夠用而中止請求的情況,這不僅導緻目前進行的自助互動式分析無法進行,還影響了别的線上資料查詢請求。為了避免此問題和更好地滿足這種靈活的自助互動式查詢需求,引入基于TiSpark的Spark SQL分布式資料查詢支援。TiSpark運作架構如下圖所示:

TiDB在威銳達遠端診斷大資料中心的應用

由于此種查詢方式基于SparkSQL分布式記憶體計算架構,同時直接對接TiKVServer存儲層,不僅充分利用了Spark分布式彈性記憶體計算的高性能、高可擴充特性,還最大程度地保證了資料查詢的快捷性。而實際使用中也确實如此,SparkSQL互動式查詢上線後,對上遊的大體量互動式資料查詢響應更快了,也能接受處理更多請求了,基于SparkSQL彈性分布式記憶體計算确實給BI自助互動式分析查詢提供了更強大的支援。

四、TiDB 部署架構

相比于威銳達 WindRDS 遠端診斷與運維中心前期項目,本中心在原有部署架構基礎上主要做了如下調整變化:

  • PDServer節點數由2個擴充到3個
  • TiKVServer節點數由3個擴充到4個,并将每個節點記憶體更新至128G
  • TiDBServer節點數由1個擴充到2個

變化後的TiDB部署架構如下圖所示:

TiDB在威銳達遠端診斷大資料中心的應用

五、未來展望

未來随着更多風場資料的陸續接入和所有已接入風場資料的源源不斷積累,中心積累的資料将會明顯增長到一個新的水準,為了更好地確定中心更可靠、穩定、高效地運作,計劃從以下兩個方面來對現有的TiDB叢集進行改進優化:

1. 建立跨網際網路的異地容災分中心

繼續閱讀