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

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

遷移背景

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

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

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

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

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

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

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

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

總結(jié)

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

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

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

遷移操作

導(dǎo)出方:

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

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

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

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

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

導(dǎo)入方:

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

示例:

原本的建庫(kù)語句:

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í)行導(dǎo)入操作了,導(dǎo)入操作本身是比較簡(jiǎn)單的,具體操作可參考:https://docs.taosdata.com/2.6/reference/taosdump/。舉例:

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

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

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