偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

MongoDB 6.0 引入新的遷移工具 MongoSync

原創(chuàng) 精選
開發(fā) 前端
MongoSync 是引入 MongoDB 6.0 的一個新的遷移工具,用于在不同 MongoDB 部署之間進(jìn)行數(shù)據(jù)遷移。它取代了之前的 mongoexport 和 mongoimport,以及 mongodump 和 mongorestore 的部分功能,提供了更為高效和安全的數(shù)據(jù)遷移體驗。

作者 | 吳守陽

審校 | 重樓

速覽

1、主要特點

2使用場景

3、限制

4注意事項

5、連接方式

6使用方法

7、參數(shù)詳解

8、總結(jié)

MongoSync 是引入 MongoDB 6.0 的一個新的遷移工具,用于在不同 MongoDB 部署之間進(jìn)行數(shù)據(jù)遷移。它取代了之前的 mongoexportmongoimport,以及mongodumpmongorestore 的部分功能,提供了更為高效和安全的數(shù)據(jù)遷移體驗。

1、主要特點

  • 實時數(shù)據(jù)遷移:MongoSync 支持實時數(shù)據(jù)遷移,可以在源和目標(biāo)數(shù)據(jù)庫之間同步數(shù)據(jù)更改,確保數(shù)據(jù)的一致性和實時性。
  • 增量遷移:它能夠進(jìn)行增量數(shù)據(jù)遷移,這意味著在初次遷移完成后,只遷移自上次遷移以來的更改,減少了數(shù)據(jù)傳輸量和遷移時間。
  • 斷點續(xù)傳:MongoSync 具備斷點續(xù)傳功能。如果遷移過程中出現(xiàn)中斷,可以從中斷的地方繼續(xù)遷移,避免了完全重新開始的需要。
  • 數(shù)據(jù)驗證:在遷移過程中,MongoSync 會進(jìn)行數(shù)據(jù)驗證,確保遷移后的數(shù)據(jù)與源數(shù)據(jù)一致。
  • 多線程和并發(fā)處理:MongoSync 支持多線程和并發(fā)處理,可以利用多核CPU并行處理數(shù)據(jù),提高遷移效率。
  • 安全性和加密:在數(shù)據(jù)遷移過程中,MongoSync 可以使用加密通道,保護(hù)數(shù)據(jù)在傳輸過程中的安全。

2、使用場景

  • 數(shù)據(jù)中心遷移:當(dāng)需要將數(shù)據(jù)從一個數(shù)據(jù)中心遷移到另一個數(shù)據(jù)中心時。
  • 云遷移:將本地部署的 MongoDB 數(shù)據(jù)遷移到云服務(wù)提供商(如 MongoDB Atlas)。
  • 數(shù)據(jù)庫升級:在進(jìn)行版本升級或架構(gòu)調(diào)整時,將數(shù)據(jù)從舊部署遷移到新部署。
  • 數(shù)據(jù)備份和恢復(fù):作為數(shù)據(jù)備份策略的一部分,定期將數(shù)據(jù)遷移到備用數(shù)據(jù)庫。

3、限制

  • 目標(biāo)集群必須為空。
  • MongoSync 不驗證集群或環(huán)境是否正確配置。
  • MongoSync 運行期間,其他客戶端不應(yīng)向目標(biāo)集群寫入數(shù)據(jù)。
  • 如果禁用了寫入阻塞,用戶在開始提交過程前必須阻止對源集群的寫入。
  • 不復(fù)制 system.* 類型的集合。
  • 不支持字段名以美元符號 ($) 開頭的文檔。
  • 不支持 MongoDB 無服務(wù)器(Serverless)集群。
  • 不支持 MongoDB 共享層(Shared Tier)。
  • 不支持可查詢加密(Queryable Encryption)。
  • 無法同步在相同字段上同時定義了唯一索引和非唯一索引的集合。
  • 在嘗試使用 MongoDB Atlas 集群前,應(yīng)禁用“所有查詢都需要索引”選項(M10+)。
  • MongoSync 不同步用戶或角色。
  • MongoSync 不復(fù)制在源集群上進(jìn)行的 applyOps 操作至目標(biāo)集群。
  • MongoSync 必須使用主讀取偏好從源集群讀取數(shù)據(jù)。
  • MongoSync 不支持同步 Atlas Search 索引。
  • MongoSync 僅支持使用 WiredTiger 存儲引擎的集群。

MongoDB 社區(qū)版

MongoDB 不測試社區(qū)版的集群間同步,并且在大多數(shù)情況下,不為社區(qū)部署提供集群間同步的支持。若想在 MongoDB 社區(qū)版中使用集群間同步,需聯(lián)系 MongoDB 銷售代表討論需求和定制化選項。

不支持的集合類型

  • 時間序列集合不受支持。
  • 設(shè)置了 expireAfterSeconds 的聚類集合不受支持。

分片集群

  • MongoSync 不支持從分片集群到復(fù)制集的同步。
  • 從復(fù)制集到分片集群的同步有以下限制:
  1. 在同步過程中,MongoSync 允許用戶重命名 sharding.shardingEntriesStart 命令選項中包含的集合。
  2. 在同步過程中使用 sharding.createSupportingIndexes 選項創(chuàng)建支持分片鍵的索引后,不能在源集群上創(chuàng)建這些索引。
  3. 在一個集合內(nèi),_id 字段在集群所有分片上必須是唯一的。
  4. 同步期間不能使用 movePrimary 命令重新分配主分片。
  5. 區(qū)域配置不會被復(fù)制,MongoSync 只復(fù)制數(shù)據(jù),不繼承區(qū)域。
  6. 同步過程中不能添加或移除分片。
  7. MongoSync 僅同步所有分片上存在的索引。
  8. MongoSync 僅同步所有分片上具有一致索引規(guī)范的索引。
  9. 必須在整個遷移期間停止源和目標(biāo)分片集群的平衡器。
  10. 同步過程中不得在源或目標(biāo)集群上運行 moveChunkmoveRange 命令。
  11. 同步期間不能細(xì)化分片鍵或使用 reshardCollection 修改分片鍵。

反向同步

  • 若舊源集群上的唯一索引部分分布在分片上,反向同步可能會導(dǎo)致失敗,確保反向前所有分片上有唯一索引。
  • 源和目標(biāo)集群的分片數(shù)量必須相同,不同拓?fù)浠蛑饕姹镜募簾o法反向同步。

多個集群

  • MongoSync 不支持將多個源集群同步到單一目標(biāo)集群。
  • 一個集群不能同時作為 MongoSync 的源集群和目標(biāo)集群。

過濾同步

  • 過濾不支持反向同步。
  • 開始前目標(biāo)集群中不應(yīng)包含用戶數(shù)據(jù)。
  • 開始前目標(biāo)集群中不應(yīng)包含系統(tǒng)數(shù)據(jù)庫。
  • 不能修改正在使用的過濾器,要創(chuàng)建新過濾器,參考替換現(xiàn)有過濾器。
  • 只能在特定情況下重命名集合。
  • 如果過濾器包含視圖但不包含基礎(chǔ)集合,只有視圖元數(shù)據(jù)會被同步到目標(biāo)集群。
  • 過濾器中不能指定系統(tǒng)集合或系統(tǒng)數(shù)據(jù)庫。
  • 使用 $out 聚合階段或 mapReduce 命令(設(shè)置為創(chuàng)建或替換集合)時,必須配置過濾器以使用整個數(shù)據(jù)庫,不能限制過濾器到數(shù)據(jù)庫內(nèi)的集合。

限制集合

  • 自1.3.0版本起,集群間同步支持限制集合,但有一些限制。
  • convertToCappedcloneCollectionAsCapped 不受支持。
  • 源集群上的限制集合在同步期間正常工作。
  • 目標(biāo)集群上的限制集合在同步期間會有臨時變化,沒有文檔數(shù)量的最大限制,最大集合大小為1PB,MongoSync 在提交時恢復(fù)原始的最大文檔數(shù)量和最大文檔大小。

4、注意事項

當(dāng)源集群或目標(biāo)集群為分片集群時,停止 balancer,并且不要在整個生命周期內(nèi)運行 moveChunkmoveRange 命令 遷移。要停止均衡器,請運行 balancerStop 命令并等待命令完成。

5、連接方式

SRV 連接方案的形式為:

mongodb+srv://[username:password@][host.domain.TLD][:port][/defaultauthdb][?options]

標(biāo)準(zhǔn) URI 連接方案的格為:

mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]

在使用MongoSync 進(jìn)行集群間同步時,正確的連接字符串是至關(guān)重要的。無論是使用 SRV 還是標(biāo)準(zhǔn) URI 方案,你都需要確保提供足夠的信息來準(zhǔn)確地連接到源和目標(biāo)集群。對于復(fù)制集,直接指定 mongod 實例;而對于分片集群,則應(yīng)指定mongos 實例。通過遵循這些指南,你可以確保MongoSync 正確地初始化并執(zhí)行數(shù)據(jù)同步。

6、使用方法

MongoSync 集群到集群:

shard01遷移
mongosync \
 --cluster0 "mongodb://clusterAdmin:superSecret@clusterOne01.fancyCorp.com:27500,clusterOne02.fancyCorp.com:27500,clusterOne03.fancyCorp.com:27500" \
 --cluster1 "mongodb://clusterAdmin:superSecret@clusterTwo01.fancyCorp.com:27500,clusterTwo02.fancyCorp.com:27500,clusterTwo03.fancyCorp.com:27500" \
 --id shard01 --port 27181 

shard02遷移
mongosync \
 --cluster0 "mongodb://clusterAdmin:superSecret@clusterOne01.fancyCorp.com:27500,clusterOne02.fancyCorp.com:27500,clusterOne03.fancyCorp.com:27500" \
 --cluster1 "mongodb://clusterAdmin:superSecret@clusterTwo01.fancyCorp.com:27500,clusterTwo02.fancyCorp.com:27500,clusterTwo03.fancyCorp.com:27500" \
 --id shard02 --port 27182

shard03遷移
mongosync \
 --cluster0 "mongodb://clusterAdmin:superSecret@clusterOne01.fancyCorp.com:27500,clusterOne02.fancyCorp.com:27500,clusterOne03.fancyCorp.com:27500" \
 --cluster1 "mongodb://clusterAdmin:superSecret@clusterTwo01.fancyCorp.com:27500,clusterTwo02.fancyCorp.com:27500,clusterTwo03.fancyCorp.com:27500" \
 --id shard03 --port 27183

檢查進(jìn)度

curl mongosync01Host:27181/api/v1/progress -XGET

暫停實例MongoSync

curl mongosync01Host:27181/api/v1/pause -XPOST --data '{}'

恢復(fù)同步

curl mongosync01Host:27181/api/v1/resume -XPOST --data '{}'

mongosync01Host為創(chuàng)建mongosync的實例地址

7、參數(shù)詳解

--cluster0 value

用于指定第一個集群的URI,該集群可以作為數(shù)據(jù)源或目標(biāo)。

--cluster1 value

用于指定第二個集群的URI,同樣可以作為數(shù)據(jù)源或目標(biāo)。

--verbosity value

設(shè)置日志的詳細(xì)程度級別,可選值包括:TRACE, DEBUG, INFO, WARN, ERROR, FATAL, PANIC(默認(rèn)值為 DEBUG)。

--logPath DIRECTORY

指定日志輸出的目錄路徑。

--port value

設(shè)置HTTP API服務(wù)器的端口號(默認(rèn)值為 27182)。

--id value

當(dāng)使用多個 mongosync 實例時,該標(biāo)志應(yīng)設(shè)置為 mongosync 將負(fù)責(zé)追蹤的源分片ID。如果僅使用單個 mongosync 實例,則不應(yīng)設(shè)置此標(biāo)志。

--config value

指定配置文件的路徑。

--version, -v

打印 mongosync 的版本信息。

--disableTelemetry

如果設(shè)置,將禁用遙測跟蹤(默認(rèn)值為 false)。

--loadLevel value

控制內(nèi)部并行度參數(shù)的數(shù)字,范圍從 1(最小并行度)到 4(最大并行度)(默認(rèn)值為 3)。

總結(jié)

MongoSync 是 MongoDB 6.0 提供的一種強大且靈活的數(shù)據(jù)遷移工具,它簡化了數(shù)據(jù)遷移的過程,提高了遷移的效率和安全性,是進(jìn)行數(shù)據(jù)庫遷移項目的理想選擇。如果你正計劃進(jìn)行數(shù)據(jù)遷移,MongoSync 值得考慮。不過,在使用之前,建議先在測試環(huán)境中試驗,以熟悉其操作流程并評估其性能影響。

作者介紹

吳守陽,51CTO社區(qū)編輯,擁有8年DBA工作經(jīng)驗,熟練管理MySQL、Redis、MongoDB等開源數(shù)據(jù)庫。精通性能優(yōu)化、備份恢復(fù)和高可用性架構(gòu)設(shè)計。善于故障排除和自動化運維,保障系統(tǒng)穩(wěn)定可靠。具備良好的團(tuán)隊合作和溝通能力,致力于為企業(yè)提供高效可靠的數(shù)據(jù)庫解決方案。

責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2009-11-23 19:50:12

PHP6.0

2023-08-11 08:34:40

開發(fā)工具

2014-05-14 11:46:54

服務(wù)器應(yīng)用應(yīng)用遷移AppZero

2023-03-16 08:01:43

CephWeb

2013-10-28 14:05:05

StartOSStartOS 6.0

2021-05-12 09:00:04

微軟 Windows Linux

2017-06-15 14:16:39

2021-11-15 16:09:07

微軟Windows 11命令行

2022-02-11 21:01:18

GoNetip網(wǎng)絡(luò)庫

2009-02-09 09:38:41

新特性MySQL 6.0MySQL

2019-01-25 19:19:28

數(shù)據(jù)工具互聯(lián)網(wǎng)

2020-05-14 17:41:40

Redis 6.0多線程數(shù)據(jù)庫

2020-10-12 09:38:46

iPhone數(shù)據(jù)遷移蘋果

2020-08-11 11:08:24

云端云計算業(yè)務(wù)遷移

2011-10-09 14:50:27

MongoDB

2011-07-15 10:01:02

Active DireADMT

2012-08-06 15:59:17

MongoDB

2020-04-20 08:08:23

MongoDBElasticsear數(shù)據(jù)庫

2018-11-15 14:05:24

MongoDB數(shù)據(jù)庫事務(wù)

2019-03-26 09:41:57

iOS應(yīng)用系統(tǒng)
點贊
收藏

51CTO技術(shù)棧公眾號