六月婷婷AV,国产偷窥猎奇福利二区,日韩三级片。,好吊色网站,日韩成人中文在线视频,国产亚洲午夜啪啪,亚洲欧美另类国产精品,国产成人av1,任你艹在线观看

毫秒級(jí)返回?cái)?shù)據(jù),58同城 DBA 團(tuán)隊(duì)選擇 TDengine 解決傳感器數(shù)據(jù)處理難題

小 T 導(dǎo)讀:在 58 同城的駕考業(yè)務(wù)上,需要存儲(chǔ)分析駕校教練車傳感器產(chǎn)生的數(shù)據(jù),這是典型的時(shí)序數(shù)據(jù)場(chǎng)景,開發(fā)人員對(duì)原有的 TiDB 性能并不是很滿意,因此 DBA 團(tuán)隊(duì)開始調(diào)研更具針對(duì)性的時(shí)序數(shù)據(jù)庫(kù)。基于自身的業(yè)務(wù)需求,他們?cè)?6 款時(shí)序數(shù)據(jù)庫(kù)中選擇了 TDengine Database,在經(jīng)過(guò)深入的調(diào)研測(cè)試之后,開始部署實(shí)踐,最終業(yè)務(wù)痛點(diǎn)問(wèn)題得到了解決。

企業(yè)簡(jiǎn)介

作為中國(guó)領(lǐng)先的生活服務(wù)平臺(tái),58 同城業(yè)務(wù)覆蓋招聘、房產(chǎn)、汽車、二手、本地生活服務(wù)及金融等各個(gè)領(lǐng)域。在用戶服務(wù)層面,58 同城不僅是一個(gè)信息交互的平臺(tái),更是一站式的生活服務(wù)平臺(tái),同時(shí)也逐步為商家建立起全方位的市場(chǎng)營(yíng)銷解決方案。目前,58 同城已經(jīng)成為中國(guó)全面服務(wù)本地商戶與用戶的線上商業(yè)服務(wù)平臺(tái)。

項(xiàng)目介紹

58 同城業(yè)務(wù)覆蓋了眾多不同的領(lǐng)域,比如 58 同城主站、安居客、趕集網(wǎng)、數(shù)科公司、中華英才網(wǎng)、駕校一點(diǎn)通等,基于此,DBA 團(tuán)隊(duì)也引入了不同類型的數(shù)據(jù)庫(kù)來(lái)支持上層業(yè)務(wù),其中包括 MySQL、Redis、MongoDB、ELK、TiDB、StarRocks、NebulaGraph,在服務(wù)規(guī)模上能達(dá)到每日請(qǐng)求幾萬(wàn)億次。在以上數(shù)據(jù)庫(kù)服務(wù)矩陣中,可以發(fā)現(xiàn)缺少了處理時(shí)序數(shù)據(jù)相關(guān)的數(shù)據(jù)庫(kù)。

在我們的駕考業(yè)務(wù)上,需要存儲(chǔ)分析駕校教練車傳感器產(chǎn)生的數(shù)據(jù),是典型的時(shí)序數(shù)據(jù)。該場(chǎng)景會(huì)涉及高并發(fā)插入,數(shù)據(jù)處理特點(diǎn)為寫多讀少,有特定時(shí)間段的聚合分析。我們此前使用的是 TiDB 存儲(chǔ),但開發(fā)人員對(duì) TiDB 的性能不是很滿意,業(yè)務(wù)具體需求是:日增千萬(wàn)數(shù)據(jù),毫秒級(jí)插入,并在1秒鐘以內(nèi)返回3萬(wàn)條符合時(shí)間分析條件的數(shù)據(jù)。

但這也不能怪 TiDB,目前在數(shù)據(jù)庫(kù)選型上其實(shí)就是不匹配的,這個(gè)業(yè)務(wù)場(chǎng)景是典型的車聯(lián)網(wǎng)設(shè)備傳感器數(shù)據(jù),而 TiDB 和時(shí)序類型數(shù)據(jù)庫(kù)(Time-Series Database)是兩種完全不同的數(shù)據(jù)庫(kù)服務(wù),在功能側(cè)重上也有較大區(qū)別。事實(shí)上,當(dāng)前沒(méi)有一種數(shù)據(jù)庫(kù)可以滿足所有需求場(chǎng)景,“All In xxDB” 這種脫離了場(chǎng)景談數(shù)據(jù)庫(kù)選型都是沒(méi)意義的。為了給上層業(yè)務(wù)提供更貼合的數(shù)據(jù)庫(kù)服務(wù),我們的 DBA 團(tuán)隊(duì)開始調(diào)研時(shí)序數(shù)據(jù)庫(kù)。

一、從需求看數(shù)據(jù)庫(kù)選型

選型要素

根據(jù)上述需求,DBA 團(tuán)隊(duì)調(diào)研了如下六款時(shí)序數(shù)據(jù)庫(kù),調(diào)研結(jié)果如下:

  • InfluxDB:最流行的時(shí)序數(shù)據(jù)庫(kù),單機(jī)開源,高可用集群收費(fèi)
  • OpenTSDB:集群方案成熟,依賴 HBase,運(yùn)維復(fù)雜,聚合分析能力弱
  • Prometheus:維護(hù)簡(jiǎn)單,集成監(jiān)控和報(bào)警功能,但沒(méi)有集群解決方案,聚合分析能力較弱
  • DolphinDB:運(yùn)行快,開發(fā)快,部署快。閉源,免費(fèi)版本限制 CPU 和內(nèi)存大小
  • ES:集群化,易于使用,維護(hù)成本低,但內(nèi)存耗用高,歷史數(shù)據(jù)計(jì)算時(shí)性能下降明顯
  • TDengine:性能強(qiáng)悍,國(guó)產(chǎn)自主研發(fā),集群版免費(fèi),也有附加功能的收費(fèi)版,還在持續(xù)迭代開發(fā)

基于以上所考慮的問(wèn)題點(diǎn),在經(jīng)過(guò)初步分析后,我們最終選定了對(duì) TDengine Database 進(jìn)行深入調(diào)研測(cè)試。

1. 測(cè)試環(huán)境

集群架構(gòu):3 副本 + 負(fù)載均衡

容錯(cuò):先寫數(shù)據(jù)庫(kù)日志文件,成功后再寫數(shù)據(jù)文件

測(cè)試工具:官方 taosdemo

2. 機(jī)器配置

TDengine database測(cè)試環(huán)境

3. 寫入并發(fā) 50:

字段數(shù)綁定參數(shù)設(shè)備數(shù)數(shù)據(jù)量寫入平均響應(yīng)時(shí)間
3100001億12120036.84 records/second2.49ms
3100001億5932514.09 records/second6.86ms
20100001億5883183.51 records/second5.09ms
20100001億2078181.61 records/second19.20ms
2010000010億2673966.95 records/second174.34ms
2010000010億2621617.26 records/second57.08ms
5010000010億1216557.03 records/second57.19ms

4. 服務(wù)器最大負(fù)載:

CPU LOAD內(nèi)存磁盤IO網(wǎng)絡(luò)
ALL<10<7G<10%<280M

從以上測(cè)試結(jié)果可以看出,TDengine Database 在響應(yīng)時(shí)間、插入性能、服務(wù)器負(fù)載及運(yùn)維便宜成都上都可以滿足上述業(yè)務(wù)需求。部署和運(yùn)維細(xì)節(jié)這里就不展開了。

二、生產(chǎn)環(huán)境部署架構(gòu)與效果展示

在實(shí)際生產(chǎn)環(huán)境部署上,我們沒(méi)有采用官方推薦的單機(jī)單實(shí)例部署,而是單機(jī)多實(shí)例部署,為三節(jié)點(diǎn)+三副本架構(gòu),監(jiān)控上使用的是 TDinsight + Grafana。

單機(jī)多實(shí)例

在實(shí)際應(yīng)用上,基于業(yè)務(wù)情況我們調(diào)低了步長(zhǎng)和子表數(shù),希望可以達(dá)成更高的并發(fā)能力。針對(duì)之前應(yīng)用 TiDB 時(shí)的痛點(diǎn)問(wèn)題,業(yè)務(wù)方反饋在代碼未調(diào)整的情況下TDengine可以在1秒內(nèi)返回所需數(shù)據(jù),業(yè)務(wù)代碼調(diào)整過(guò)后在300毫秒內(nèi)即可返回所需數(shù)據(jù)。此外借助 TDengine 的已有函數(shù),很輕松就打通了向量分析的邏輯,避免再去編寫業(yè)務(wù)代碼,省時(shí)省力。

當(dāng)然,在應(yīng)用過(guò)程中,我們也遇到了一些問(wèn)題,在此也匯總一下,作為給 TDengine 研發(fā)團(tuán)隊(duì)的一些改進(jìn)建議:

  • 我們使用的單機(jī)多實(shí)例部署方式,在目前已發(fā)布版本中還沒(méi)有很好的命令支持,日志輸出的位置也需要顯式指定。業(yè)務(wù)的發(fā)展會(huì)有不確定的變化,從資源成本角度來(lái)看,應(yīng)該初期可預(yù)估、后期可調(diào)整,希望未來(lái) TDengine 也能有更靈活多變的部署方式。
  • TDinsight 可以很直觀地監(jiān)控 TDengine 的性能,但一個(gè)視圖模式下只對(duì)一套集群,如果有幾十套、幾百套集群,集成的 TDinsight 組件目前還無(wú)法添加,只能手動(dòng)一個(gè)個(gè)修改 Grafana 視圖變量,這個(gè)比較麻煩,建議官方優(yōu)化集成的 TDinsight 組件。
  • 在進(jìn)行 taosdump 導(dǎo)入時(shí),更換庫(kù)名后無(wú)法利用原庫(kù)名的備份文件進(jìn)行導(dǎo)入,建議官方修改支持。

三、寫在最后

基于 58 集團(tuán)眾多的業(yè)務(wù)場(chǎng)景,TDengine Database 已經(jīng)成為 DBA 團(tuán)隊(duì)為上層業(yè)務(wù)提供數(shù)據(jù)庫(kù)服務(wù)矩陣的可選方案之一,讓時(shí)序數(shù)據(jù)也有了專業(yè)的處理方案,后續(xù)監(jiān)控服務(wù)的數(shù)據(jù)也會(huì)陸續(xù)轉(zhuǎn)移到 TDengine 進(jìn)行存儲(chǔ)。未來(lái)我們將會(huì)與 TDengine 一起探索更多維度的生態(tài)合作,為集團(tuán)提供更好的底層數(shù)據(jù)服務(wù)支持。

作者簡(jiǎn)介

張廣元,58 集團(tuán) DBA,十年數(shù)據(jù)庫(kù)運(yùn)維管理老兵一枚。