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

如何把數(shù)據(jù)從 TDengine 2.x 遷移到 3.x ?

遷移背景

隨著時序數(shù)據(jù)庫(Time Series Database) TDengine 3.0 的發(fā)布至今,我們除了在持續(xù)地優(yōu)化產(chǎn)品質(zhì)量的本身,也一直在努力地提升用戶體驗。但由于 3.0 底層有大量的重構(gòu)優(yōu)化,導致開源版的 2.0 用戶無法通過常規(guī)途徑來升級到 3.0 ,本期文章將會協(xié)助大部分開源版用戶解決這個問題。
目前,我們可以提供兩種遷移方案:

  1. TDengine 官方工具 taosdump;
  2. 開源數(shù)據(jù)遷移解決方案:dataX TDengine reader/writter;

前者會把數(shù)據(jù)根據(jù)配置導出壓縮存儲到本地,產(chǎn)品屬性更傾向于備份/恢復工具。后者則會在內(nèi)存中直接傳輸數(shù)據(jù),偏向數(shù)據(jù)遷移工具。本篇文章的主體為前者的 taosdump,dataX 的使用方式可以通過這篇文章來了解:http://m.fjzmyy.cn/engineering/16401.html

首先,我們先說下 taosdump 為什么是協(xié)助“大部分”開源版用戶解決這個問題:

taosdump 的導出行為的本質(zhì)其實是使用 SQL 進行查詢,將數(shù)據(jù)壓縮后輸出到本地,導入行為則是通過 STMT 接口再把導出的數(shù)據(jù)導入新的環(huán)境。在內(nèi)部,它嵌入了一個 TDengine 客戶端,通過 -T 參數(shù)的線程數(shù)配置,并發(fā)地把所有 SQL 請求發(fā)給數(shù)據(jù)庫,此后,后續(xù)的查詢工作就是數(shù)據(jù)庫自己的事情了。鑒于以上原因,所以它的導出導入的性能都十分依賴于數(shù)據(jù)庫本身的部署建模是否科學,硬件資源是否充足等因素。

舉個簡單例子:假如某用戶在建表的時候,對于一列本應(yīng)使用 binary(100) 就足夠的數(shù)據(jù)使用了 nchar(2000),那么等到導出 SQL 執(zhí)行的時候,性能就會被拖累很多。

因此,能夠順利完成數(shù)據(jù)導出的用戶,應(yīng)盡量擁有如下幾個特征:

  1. 擁有足夠磁盤空間——因為硬盤上的數(shù)據(jù)是列式壓縮,而導出數(shù)據(jù)為行式壓縮。如果選擇一次性導出全部數(shù)據(jù),建議需要至少留出 du -sh $dataDir/vnode –exclude=’wal’ 大小的 3 倍空間(多多益善)。但如果是按照庫/表為單位分批導出,或者指定時間范圍導出的話,就比較靈活了。
  2. 數(shù)據(jù)庫日常使用負載不高,在大量導出 SQL 執(zhí)行時,數(shù)據(jù)庫仍有充足資源可以保障正常生產(chǎn)使用。
  3. 待遷移的 2.0 數(shù)據(jù)為測試環(huán)境不需擔心影響業(yè)務(wù),或者生產(chǎn)環(huán)境的業(yè)務(wù)間歇期足夠完成數(shù)據(jù)的導出——這兩點需要結(jié)合當前導出速度自己評估。

總結(jié)

導出/導入數(shù)據(jù)的快慢是由 SQL 執(zhí)行效率來決定的,而 SQL執(zhí)行效率的背后又是由部署建模,硬件資源等因素決定的。

只要磁盤空間充足,時間充足,就可以完成導出操作。導入則相對簡單,沒有額外需求,按照正常的數(shù)據(jù)庫部署思路即可。

因為 taosdump 本身的產(chǎn)品特征決定了在上述特殊情況下,遷移數(shù)據(jù)會有效率問題,因此這也是我們開發(fā)專業(yè)的企業(yè)版數(shù)據(jù)遷移工具 taosX 的原因之一。

遷移操作

導出方:

對于 2.0 一側(cè),首先要準備好最新版本的 TDengine 和 taosdump 工具,具體操作如下:

  1. 把數(shù)據(jù)庫升級到 2.6.0.34,升級注意事項以及操作步驟都可以參考這篇文章:http://m.fjzmyy.cn/engineering/10222.html。(注意:RPM 和 Deb 包不含 taosdump ,它需要通過安裝 taosTools 包獲得。所以建議大家直接使用包含 TDengine 的 Tar 包完成升級。)TDengine 安裝包需從 2.6 版本的文檔去下載:http://m.fjzmyy.cn/all-downloads 。如果使用了 RPM 和 Deb 的話,同樣需要通過上述鏈接下載最新版的 taostool 獲取 taosdump工具(當前最新版為 2.4.5)。
  2. 使用 taosdump 把數(shù)據(jù)導出:具體操作可參考:https://docs.taosdata.com/2.6/reference/taosdump/。舉例:
taosdump -o /test  -D test  -T 4

這條命令會把 test 庫的數(shù)據(jù),用 4 個線程導出到 /test 目錄下面,文件形式如下:

如何把數(shù)據(jù)從 TDengine 2.x 遷移到 3.x ? - TDengine Database 時序數(shù)據(jù)庫

接下來,我們需要把 test 路徑下的導出文件,遷移到 3.0 的環(huán)境中,準備數(shù)據(jù)導入。

導入方:

  1. 3.0 這一側(cè),新環(huán)境我們建議使用最新版,各方面都更好(當前最新版為 3.0.4.1),正常安裝部署即可。(同樣:RPM 和 Deb 包不含 taosdump ,它需要通過安裝 taosTools 包獲得。 所以建議大家直接使用包含 taosdump 的 tar 包完成部署,下載鏈接:https://docs.taosdata.com/releases/tdengine/)但是如果只能使用 RPM 或者 Deb ,taosTools 則需要從 3.0 的文檔單獨下載,地址:https://docs.taosdata.com/releases/tools/ (當前最新版為 2.5.0)
  2. 導入之前,我們首先要進入導出文件目錄下的標紅目錄,打開里面的 dbs.sql,針對建庫 SQL 做一些針對性的調(diào)整。尤其需要注意的是 VGROUPS 參數(shù),這是 3.0 的新增參數(shù),代替了此前 2.0 的一系列建表邏輯,默認是 2 ,代表著這個庫有 2 個 VGROUP 。如果原本的 2.0 環(huán)境使用了 4 個 VGROUP,那么就需要手動添加 “VGROUPS 4” 到建庫語句后面,即可保持和 2.0 版本一樣的 VGROUP 數(shù)量了。(其他參數(shù)同理,直接在建庫 SQL 后添加即可,至于該語句中 2.0 時代的舊參數(shù)則會被導入程序自動屏蔽掉。具體的 3.0 建庫參數(shù)細節(jié)可參考:https://docs.taosdata.com/taos-sql/database/
如何把數(shù)據(jù)從 TDengine 2.x 遷移到 3.x ? - TDengine Database 時序數(shù)據(jù)庫

示例:

原本的建庫語句:

CREATE DATABASE IF NOT EXISTS test REPLICA 1  QUORUM 1 DAYS 10 KEEP 3650 CACHE 16 BLOCKS 6 FSYNC 3000  PRECISION 'ms'  MINROWS 100 MAXROWS 4096 COMP 2 ;

添加參數(shù)后:

CREATE DATABASE IF NOT EXISTS test REPLICA 1  QUORUM 1 DAYS 10 KEEP 3650 CACHE 16 BLOCKS 6 FSYNC 3000  PRECISION 'ms'  MINROWS 100 MAXROWS 4096 COMP 2 VGROUPS 4;

修改完 dbs.sql 后,便可以執(zhí)行導入操作了,導入操作本身是比較簡單的,具體操作可參考:https://docs.taosdata.com/2.6/reference/taosdump/。舉例:

這條命令會把 /test 目錄下的數(shù)據(jù),用 4 個線程導入到當前環(huán)境下面,地址默認為 localhost,線程數(shù)可根據(jù)機器配置酌情設(shè)置。

導入完畢之后檢驗數(shù)據(jù)內(nèi)容,確認無誤之后,開源版 TDengine 2.0 至 3.0 數(shù)據(jù)遷移便完成了。

如果上述兩種遷移方案都不能幫助我們完成數(shù)據(jù)遷移,歡迎聯(lián)系 TDengine 企業(yè)版團隊做定制化的支持服務(wù)。