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

從 InfluxDB 到 TDengine,我們?yōu)槭裁磿?huì)做出這個(gè)選擇

小 T 導(dǎo)讀:為了實(shí)現(xiàn)業(yè)務(wù)更好地發(fā)展,我們有時(shí)必須做出數(shù)據(jù)庫(kù)替換的決定,這時(shí)要特別慎重。想要真正了解一款數(shù)據(jù)庫(kù)產(chǎn)品,調(diào)研和測(cè)試必不可少,需要耗費(fèi)大量時(shí)間和精力。在本篇文章中,作者描述了自己與 TDengine Database 從初識(shí)到了解再到深交的經(jīng)歷,將自己從調(diào)研階段到實(shí)際應(yīng)用之后的問(wèn)題、效果等做成了經(jīng)驗(yàn)匯總,分享出來(lái)以作參考。

一、與 TDengine 的開始

實(shí)際上,我從事 Java 開發(fā)的時(shí)間只有三年左右,在這個(gè)階段中,因?yàn)槲宜婕暗臉I(yè)務(wù)場(chǎng)景和行業(yè)都用不到時(shí)序數(shù)據(jù)庫(kù),所以我完全沒(méi)有接觸和了解過(guò)這種類型的產(chǎn)品,僅僅是聽說(shuō)過(guò)而已。

2021 年 5 月我換了一個(gè)行業(yè),從公司的第一個(gè)項(xiàng)目中認(rèn)識(shí)了時(shí)序型數(shù)據(jù)庫(kù) InfluxDB ,也算是對(duì)這種類型的數(shù)據(jù)庫(kù)有了初步的了解。與 TDengine Database 的結(jié)識(shí)還要從下一個(gè)項(xiàng)目說(shuō)起,這個(gè)項(xiàng)目是我全程參與的,項(xiàng)目類型和之前的類似,但技術(shù)選型發(fā)生了一些變化——要做時(shí)序數(shù)據(jù)庫(kù)的替換。

最初給我的任務(wù)是去調(diào)研了解一下 TDengine 是否能貼合我們的業(yè)務(wù)場(chǎng)景和使用需求,當(dāng)時(shí)我還是比較忐忑的,因?yàn)樽罱K調(diào)研的結(jié)果會(huì)直接影響到是否選用 TDengine 、選用結(jié)果的好壞、后續(xù)代碼編程是否會(huì)遇到一些不可預(yù)測(cè)的問(wèn)題。為了更加了解 TDengine,我開始與濤思數(shù)據(jù)的小伙伴們打起了交道,與 TDengine 的故事也就此拉開序幕。

對(duì) TDengine 進(jìn)行調(diào)研

就個(gè)人習(xí)慣而言,我首先會(huì)通過(guò)閱讀官網(wǎng)上的官方文檔來(lái)對(duì)一個(gè)全新的產(chǎn)品進(jìn)行學(xué)習(xí)和了解,并嘗試使用。

但我出師不利,剛走到 TDengine 的安裝和啟動(dòng)時(shí),就遇到了一個(gè)麻煩事(下圖所示),這個(gè)問(wèn)題我記在了使用筆記上,所以印象比較深刻。

"systemctl reset-failed toads.service" TDengine Database
問(wèn)題記錄 TDengine Database

在此給大家還原下事情的經(jīng)過(guò),本次操作是在 Linux 環(huán)境下,按照文檔的提示,我先下載好 TDengine 的安裝包進(jìn)行解壓安裝,安裝后點(diǎn)擊啟動(dòng),輸入 taos 命令,當(dāng)時(shí)我進(jìn)行了一下重新啟動(dòng)(現(xiàn)在也想不清重啟的原因了),之后就一直會(huì)出現(xiàn)“啟動(dòng)頻繁無(wú)法啟動(dòng)”的提示,我運(yùn)用了很多辦法都沒(méi)能解決,后面通過(guò)官網(wǎng)上的微信二維碼聯(lián)系上了 TDengine 官方小助手,把這些問(wèn)題匯報(bào)給了技術(shù)人員,但不知道是不是我的電腦虛擬機(jī)配置機(jī)制有問(wèn)題,反正依然沒(méi)有找到合適的解決方法,最后我還是選擇直接重置了虛擬機(jī),重新安裝 TDengine,問(wèn)題也就迎刃而解了。

做出重置的決定我也是下了很大決心的,由此也可以看出我對(duì) TDengine 進(jìn)行嘗試使用的堅(jiān)定想法。

在 TDengine 的使用過(guò)程中,我遇到了第二個(gè)問(wèn)題,起因是我想通過(guò)可視化工具對(duì)數(shù)據(jù)庫(kù)進(jìn)行相應(yīng)的操作,官網(wǎng)文檔提供的是利用 IDEA 進(jìn)行可視化操作,我自己本身也是通過(guò) IDEA 工具進(jìn)行編程的,按理說(shuō)應(yīng)該很順暢,但我使用 IDEA 有報(bào)錯(cuò)信息,無(wú)法成功進(jìn)行可視化操作。其實(shí)無(wú)法進(jìn)行可視化操作倒也不會(huì)影響我對(duì)數(shù)據(jù)庫(kù)的操作,但如果可視化實(shí)現(xiàn)了就可以更高效地操作數(shù)據(jù)庫(kù)了。

為了解決這個(gè)問(wèn)題,我先是進(jìn)入 TDengine 的 GitHub 開源地址(https://github.com/taosdata/TDengine)尋找了下答案,尋找無(wú)果后通過(guò)郵件方式將這個(gè)問(wèn)題遞交給 TDengine 的研發(fā)人員進(jìn)行相關(guān)咨詢,所幸經(jīng)過(guò)一系列溝通,這個(gè)問(wèn)題得到了比較好的解決。

郵件截圖 TDengine Database

通過(guò)官方人員發(fā)給我的可視化工具(現(xiàn)在我們開發(fā)也在經(jīng)常使用這個(gè)工具),可視化問(wèn)題得到了解決。在我將 TDengine 升級(jí)為 2.1.0.0 后,就可以直接通過(guò) IDEA 進(jìn)行可視化操作了,由此可見,官方確實(shí)是在用心聽取用戶聲音,進(jìn)行產(chǎn)品迭代。

值得一提的是,TDengine 的 SQL 語(yǔ)法還是很贊的,部分的 SQL 語(yǔ)法跟我經(jīng)常使用的 MySQL 類似,學(xué)習(xí)成本比較低,很好上手,這部分都是后面根據(jù)實(shí)際業(yè)務(wù)場(chǎng)景編寫的,遇到問(wèn)題的時(shí)候我們就會(huì)及時(shí)去官網(wǎng)看看語(yǔ)法,或者去咨詢相應(yīng)的技術(shù)人員,不得不說(shuō),TDengine 的社區(qū)支持力度還是值得稱贊的。在這塊的學(xué)習(xí)上,就是超級(jí)表和普通表的概念需要我仔細(xì)研讀下,目前也已經(jīng)很好地運(yùn)用在我們的工業(yè)業(yè)務(wù)場(chǎng)景上了。

另外還有一個(gè)要解決的問(wèn)題就是我們自身的 Java 如何和 TDengine 相結(jié)合去使用,最終我們是要通過(guò) Java 編程和 TDengine 進(jìn)行交互的,TDengine 的技術(shù)人員很完美的解決了這個(gè)問(wèn)題—— 以 Spring Boot + MyBatis 結(jié)合 TDengine 和 JDBC,成功實(shí)現(xiàn)了 Demo ,這個(gè)在 TDengine 官網(wǎng)上有文檔,大家有需要可以直接參考。

最后就是性能方面的考量,從 TDengine 的官網(wǎng)上我們獲得了一個(gè)可以創(chuàng)建超多數(shù)據(jù)的 SQL ,首先基于此體驗(yàn)了一下查詢速度,速度確實(shí)是很快,其次我們發(fā)現(xiàn)存儲(chǔ)如此龐大的數(shù)據(jù)量,占用的磁盤空間卻并不是非常大,節(jié)省了更多存儲(chǔ)空間。關(guān)于性能的體驗(yàn),后面我會(huì)輔以實(shí)際案例再詳細(xì)說(shuō)明一下。

、最終的選擇

在進(jìn)行這么多了解和嘗試后,我們也跟 InfluxDB 做了一個(gè)對(duì)比,綜合考量下來(lái),就決定選擇 TDengine 了。

首先,超級(jí)表普通表的概念非常契合本次項(xiàng)目的業(yè)務(wù)場(chǎng)景。此前我們的項(xiàng)目是一個(gè)站點(diǎn)一個(gè)單元對(duì)應(yīng)多個(gè)測(cè)點(diǎn),現(xiàn)在是多站點(diǎn)多單元下面對(duì)應(yīng)多個(gè)測(cè)點(diǎn),利用超級(jí)表普通表就可以做到超級(jí)表對(duì)應(yīng)某個(gè)站點(diǎn)某個(gè)單元,下面跟著 n 個(gè)普通表,普通表就是此站點(diǎn)此單元下對(duì)應(yīng)的測(cè)點(diǎn),業(yè)務(wù)在創(chuàng)建表時(shí)會(huì)更加便利。

其次,它可以很好地跟 Java 進(jìn)行結(jié)合,通過(guò) JDBC 連接,跟之前操作其他類型的數(shù)據(jù)庫(kù)類似,不需要學(xué)習(xí)太多就可以上手,讓沒(méi)有很深入了解過(guò) TDengine 的人上手也比較快,學(xué)習(xí)成本顯著降低。

第三,搭建集群的成本更低廉。眾所周知,InfluxDB 集群功能是閉源的,如果后續(xù)業(yè)務(wù)發(fā)展需要用到集群時(shí)會(huì)帶來(lái)很大的不便,然而 TDengine 的集群功能是開源的,可以顯著降低集群的使用成本,從而減少項(xiàng)目上的使用成本。

第四,從更大的角度說(shuō),我們應(yīng)該響應(yīng)政策號(hào)召多支持國(guó)產(chǎn)開源,而且從技術(shù)支持的角度來(lái)說(shuō),選用國(guó)外的數(shù)據(jù)庫(kù)會(huì)讓我們非常被動(dòng),但是國(guó)內(nèi)的開源數(shù)據(jù)庫(kù)是由國(guó)人開發(fā)和維護(hù)的,遇到問(wèn)題時(shí)就可以直接通過(guò)微信/郵箱等工具進(jìn)行交流,溝通上更加有效方便。

第五,性能表現(xiàn)突出,從之前的項(xiàng)目和現(xiàn)在的項(xiàng)目對(duì)比來(lái)看,部分使用能感受到明顯差異,此處表現(xiàn)放在后面的章節(jié)上詳說(shuō),整體上性能表現(xiàn)上是良好的。

項(xiàng)目使用上的感受



1. 我們有一個(gè)歷史數(shù)據(jù)的查看功能,會(huì)直接在頁(yè)面展示一個(gè)歷史曲線。之前使用 InfluxDB 的時(shí)候,如果你的時(shí)間段和時(shí)間間隔選擇很龐大或者間隔非常細(xì)膩的時(shí)候,查詢數(shù)據(jù)會(huì)變得非常緩慢,更直接的表現(xiàn)就是會(huì)直接造成頁(yè)面的卡死,需要重新打開相應(yīng)的瀏覽器。但是用了 TDengine 之后,目前的使用過(guò)程中暫時(shí)沒(méi)有發(fā)生過(guò)這樣的現(xiàn)象,并且查詢所需要花費(fèi)的時(shí)間非常非常的短,很好地保證了接口的響應(yīng)速度。

接口響應(yīng)速度 TDengine Database

2. TDengine 能夠與 MyBatis 很好地結(jié)合,開發(fā)結(jié)合起來(lái)非常方便,我們也是寫了非常多的工具類的方法實(shí)現(xiàn) TDengine 創(chuàng)建表、獲取數(shù)據(jù)等的便利性,超級(jí)表和普通表讓我們?cè)趧?chuàng)建表時(shí),設(shè)計(jì)上變得更加簡(jiǎn)單,也能讓測(cè)點(diǎn)之間更好地做出區(qū)分。

3. 我們的業(yè)務(wù)場(chǎng)景會(huì)涉及到對(duì)測(cè)點(diǎn)數(shù)據(jù)進(jìn)行每秒數(shù)據(jù)新增和插入的觀察,只要通訊在,每秒都會(huì)有很多條數(shù)據(jù)的新增,以目前的表現(xiàn)看 TDengine 性能是 OK 的,后續(xù)還要看一下在實(shí)際的工作站運(yùn)行是什么表現(xiàn)。

、不負(fù)彼此的努力

目前我們的項(xiàng)目已經(jīng)接近尾聲,后面本項(xiàng)目會(huì)在實(shí)際工地進(jìn)行部署使用,實(shí)際的效果需要實(shí)踐去證明。未來(lái)可能還有許多事情要做,比如是否需要搭建集群等??偟膩?lái)說(shuō),因?yàn)檫x擇了 TDengine Database,我們的項(xiàng)目很平穩(wěn)地度過(guò)了測(cè)試階段,在 TDengine 的使用上也沒(méi)有遇到特別大的瓶頸,我相信在后面的合作中,我們對(duì) TDengine 的了解也會(huì)更加深入。

整個(gè)過(guò)程是酸甜苦辣并存的,在這里非常感謝“羅格濤思”和“小 T ”的技術(shù)幫助和耐心解答,正是因?yàn)橛兴麄兊膸椭?,才讓我在此次調(diào)研過(guò)程中遇到問(wèn)題能夠不慌不忙,最終這些問(wèn)題也實(shí)現(xiàn)了較好地解決,衷心的感謝!

我們與 TDengine 的故事還在繼續(xù),敬請(qǐng)期待。