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

從 InfluxDB 到 TDengine,我們?yōu)槭裁磿龀鲞@個選擇

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

一、與 TDengine 的開始

實際上,我從事 Java 開發(fā)的時間只有三年左右,在這個階段中,因為我所涉及的業(yè)務場景和行業(yè)都用不到時序數(shù)據(jù)庫,所以我完全沒有接觸和了解過這種類型的產(chǎn)品,僅僅是聽說過而已。

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

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

對 TDengine 進行調研

就個人習慣而言,我首先會通過閱讀官網(wǎng)上的官方文檔來對一個全新的產(chǎn)品進行學習和了解,并嘗試使用。

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

"systemctl reset-failed toads.service" TDengine Database
問題記錄 TDengine Database

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

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

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

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

郵件截圖 TDengine Database

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

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

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

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

、最終的選擇

在進行這么多了解和嘗試后,我們也跟 InfluxDB 做了一個對比,綜合考量下來,就決定選擇 TDengine 了。

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

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

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

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

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

、項目使用上的感受



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

接口響應速度 TDengine Database

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

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

、不負彼此的努力

目前我們的項目已經(jīng)接近尾聲,后面本項目會在實際工地進行部署使用,實際的效果需要實踐去證明。未來可能還有許多事情要做,比如是否需要搭建集群等??偟膩碚f,因為選擇了 TDengine Database,我們的項目很平穩(wěn)地度過了測試階段,在 TDengine 的使用上也沒有遇到特別大的瓶頸,我相信在后面的合作中,我們對 TDengine 的了解也會更加深入。

整個過程是酸甜苦辣并存的,在這里非常感謝“羅格濤思”和“小 T ”的技術幫助和耐心解答,正是因為有他們的幫助,才讓我在此次調研過程中遇到問題能夠不慌不忙,最終這些問題也實現(xiàn)了較好地解決,衷心的感謝!

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