最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MongoDB 主分片(primary shard)相關(guān)總結(jié)

 更新時間:2021年03月26日 08:43:01   作者:AsiaYe  
這篇文章主要介紹了MongoDB 主分片(primary shard)相關(guān)總結(jié)。幫助大家更好的理解和學(xué)習(xí)使用MongoDB,感興趣的朋友可以了解下

01 主分片是什么?

  分片集群中的每一個數(shù)據(jù)庫都有一個主分片,這個主分片上保存了當(dāng)前數(shù)據(jù)庫中沒有被分片的集合的數(shù)據(jù),主分片(primary shard)和主節(jié)點(primary)之間沒有任何關(guān)聯(lián)。

   主分片是由mongos選擇出來的,選擇的依據(jù)是每當(dāng)創(chuàng)建新數(shù)據(jù)庫的時候,mongos會從集群中選擇包含數(shù)據(jù)最少的分片作為新數(shù)據(jù)庫的主分片。具體的選擇方式是:

選擇listDatabase命令返回的totalSize字段作為選擇的準則。如下:

mongos> db.adminCommand("listDatabases")
{
  "databases" : [
    {
      xxxx
    },
    {
      xxxx
    },
    {
      xxxx
    }
  ],
  "totalSize" : 2842624,
  "totalSizeMb" : 2,
  "ok" : 1,
  "operationTime" : Timestamp(1610982469, 1),
  "$clusterTime" : {
    "clusterTime" : Timestamp(1610982469, 1),
    "signature" : {
      "hash" : BinData(0,"knqdZrxpyGFdSi0gljxCQG4LJ9U="),
      "keyId" : NumberLong("6894922308364795934")
    }
  }
}

   如果我們想手工的選擇某個數(shù)據(jù)庫的主分片,可以使用movePrimary命令,遷移主分片的過程會耗費一定的時間,在遷移完成之前,不應(yīng)該對數(shù)據(jù)庫或者對應(yīng)的集合進行訪問。遷移過程可能會影響整個集群的操作,所以這個命令一般不要主動去使用,如果必須使用,請務(wù)必考慮對網(wǎng)絡(luò)負載的影響。

   如果你部署的一個分片集群是由一個副本集修改配置而來的,那么副本集上原來的那些數(shù)據(jù)庫的主分片將會繼續(xù)留在原來的副本集上,之后創(chuàng)建的數(shù)據(jù)庫才可以將主分片設(shè)置在其他分片上。

02 如何遷移主分片

   下面我們演示如何使用movePrimary命令來遷移數(shù)據(jù)庫的主分片。

首先,我們來看,當(dāng)前new數(shù)據(jù)庫的test集合的主分片在sharding_yeyz這個分片上。它就是new.test的主分片,如下:

mongos> sh.status()
--- Sharding Status --- 
 shards:
  { "_id" : "sharding_yeyz", "host" : "sharding_yeyz/127.0.0.1:27018,127.0.0.1:27019,127.0.0.1:27020", "state" : 1, "tags" : [ "1_1000" ] }
  { "_id" : "sharding_yeyz1", "host" : "sharding_yeyz1/127.0.0.1:27024,127.0.0.1:27025,127.0.0.1:27026", "state" : 1, "tags" : [ "1000_", "1000_2000" ] }
 
 databases:
   ...
  { "_id" : "new", "primary" : "sharding_yeyz", "partitioned" : true, "version" : { "uuid" : UUID("68c70c64-f732-4478-8851-06dad4b94d6b"), "lastMod" : 1 } }
    new.test
      shard key: { "number" : 1 }
      unique: false
      balancing: true
      chunks:
        sharding_yeyz 3
        sharding_yeyz1 1
      { "number" : { "$minKey" : 1 } } -->> { "number" : 1 } on : sharding_yeyz Timestamp(2, 1) 
      { "number" : 1 } -->> { "number" : 1000 } on : sharding_yeyz Timestamp(1, 2) 
      { "number" : 1000 } -->> { "number" : 2000 } on : sharding_yeyz1 Timestamp(2, 0) 
      { "number" : 2000 } -->> { "number" : { "$maxKey" : 1 } } on : sharding_yeyz Timestamp(1, 5) 
       tag: 1_1000 { "number" : 1 } -->> { "number" : 1000 }
       tag: 1000_2000 { "number" : 1000 } -->> { "number" : 2000 }

接下來我們使用movePrimary命令,使用之前,我們需要知道它的執(zhí)行過程:

1、首先在集群元數(shù)據(jù)中修改主分片信息

2、然后移動所有的沒有分片的集合到指定的主分片中

**它只能在mongos上執(zhí)行。

命令的用法是:

db.adminCommand( { movePrimary: <databaseName>, to: <newPrimaryShard> } )

舉例:
db.adminCommand( { movePrimary : "new", to : "sharding_yeyz1" } )

我們執(zhí)行完:

db.adminCommand( { movePrimary : "new", to : "sharding_yeyz1" } )

之后,結(jié)果如下:

mongos> sh.status()
--- Sharding Status --- 
 shards:
  { "_id" : "sharding_yeyz", "host" : "sharding_yeyz/127.0.0.1:27018,127.0.0.1:27019,127.0.0.1:27020", "state" : 1, "tags" : [ "1_1000" ] }
  { "_id" : "sharding_yeyz1", "host" : "sharding_yeyz1/127.0.0.1:27024,127.0.0.1:27025,127.0.0.1:27026", "state" : 1, "tags" : [ "1000_", "1000_2000" ] }

 databases:
  { "_id" : "new", "primary" : "sharding_yeyz1", "partitioned" : true, "version" : { "uuid" : UUID("68c70c64-f732-4478-8851-06dad4b94d6b"), "lastMod" : 2 } }
    new.test
      shard key: { "number" : 1 }
      unique: false
      balancing: true
      chunks:
        sharding_yeyz 3
        sharding_yeyz1 1
      { "number" : { "$minKey" : 1 } } -->> { "number" : 1 } on : sharding_yeyz Timestamp(2, 1) 
      { "number" : 1 } -->> { "number" : 1000 } on : sharding_yeyz Timestamp(1, 2) 
      { "number" : 1000 } -->> { "number" : 2000 } on : sharding_yeyz1 Timestamp(2, 0) 
      { "number" : 2000 } -->> { "number" : { "$maxKey" : 1 } } on : sharding_yeyz Timestamp(1, 5) 
       tag: 1_1000 { "number" : 1 } -->> { "number" : 1000 }
       tag: 1000_2000 { "number" : 1000 } -->> { "number" : 2000 }

可以看到,主分片已經(jīng)遷移完成了。

以上就是MongoDB 主分片(primary shard)相關(guān)總結(jié)的詳細內(nèi)容,更多關(guān)于MongoDB 主分片(primary shard)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • mongodb中使用distinct去重的簡單方法

    mongodb中使用distinct去重的簡單方法

    怎么在mongodb中實現(xiàn)類似于SQL中distinct的功能,查詢某一個字段所有的值,今天我們就來探討下這個問題。
    2015-05-05
  • 關(guān)于MongoDB謹防索引seek的效率問題詳析

    關(guān)于MongoDB謹防索引seek的效率問題詳析

    這篇文章主要給大家介紹了關(guān)于MongoDB謹防索引seek的效率問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用MongoDB具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • MongoDB開啟權(quán)限認證的方法步驟詳解

    MongoDB開啟權(quán)限認證的方法步驟詳解

    MongoDB已經(jīng)使用很長一段時間了,基于MongoDB的數(shù)據(jù)存儲也一直沒有使用到權(quán)限訪問(MongoDB默認設(shè)置為無權(quán)限訪問限制),最近深入學(xué)習(xí)了下,所以下面這篇文章主要給大家介紹了關(guān)于MongoDB開啟權(quán)限認證的相關(guān)資料,需要的朋友可以參考下。
    2018-02-02
  • MongoDB的復(fù)合通配符索引及應(yīng)用場景

    MongoDB的復(fù)合通配符索引及應(yīng)用場景

    MongoDB的復(fù)合通配符索引為處理復(fù)雜和多變的數(shù)據(jù)結(jié)構(gòu)提供了靈活的索引解決方案,通過合理使用復(fù)合通配符索引,可以顯著提高查詢效率并減少索引維護成本,本文給大家介紹MongoDB的復(fù)合通配符索引,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • MongoDB開發(fā)規(guī)范與數(shù)據(jù)建模詳解

    MongoDB開發(fā)規(guī)范與數(shù)據(jù)建模詳解

    在MongoDB中,遵循良好的開發(fā)規(guī)范和數(shù)據(jù)建模技巧可以提升數(shù)據(jù)庫性能,簡化數(shù)據(jù)管理,并減少潛在的錯誤,這篇文章主要介紹了MongoDB開發(fā)規(guī)范與數(shù)據(jù)建模,需要的朋友可以參考下
    2024-08-08
  • Spark整合Mongodb的方法

    Spark整合Mongodb的方法

    Spark 是一個通用,快速,適用于大規(guī)模數(shù)據(jù)的處理引擎。接下來通過本文給大家分享Spark整合Mongodb的方法,感興趣的朋友一起看看吧
    2017-11-11
  • Mongodb增加、移除Shard Server實例

    Mongodb增加、移除Shard Server實例

    這篇文章主要介紹了Mongodb增加、移除Shard Server實例,shard服務(wù)器(Shard Server).Shard服務(wù)器是存儲實際數(shù)據(jù)的分片,每個Shard可以是一個mongod實例,也可以是一組mongod實例構(gòu)成的Replica Sets,需要的朋友可以參考下
    2015-01-01
  • centos6.5中安裝mongodb簡明總結(jié)

    centos6.5中安裝mongodb簡明總結(jié)

    這篇文章主要介紹了centos6.5中安裝mongodb簡明總結(jié),本文簡單的總結(jié)了安裝過程中的6個步驟,需要的朋友可以參考下
    2014-10-10
  • SpringBoot系列之MongoDB?Aggregations用法詳解

    SpringBoot系列之MongoDB?Aggregations用法詳解

    MongoDB?中使用聚合(Aggregations)來分析數(shù)據(jù)并從中獲取有意義的信息,本文重點給大家介紹SpringBoot系列之MongoDB?Aggregations用法,感興趣的朋友跟隨小編一起看看吧
    2022-02-02
  • MongoDB數(shù)據(jù)去重與保存最新數(shù)據(jù)操作指南

    MongoDB數(shù)據(jù)去重與保存最新數(shù)據(jù)操作指南

    在 MongoDB 數(shù)據(jù)庫中,我們經(jīng)常需要進行數(shù)據(jù)去重并保留最新的數(shù)據(jù),本文將介紹如何使用 MongoDB 聚合操作完成這一任務(wù),并將結(jié)果保存到新的集合或者覆蓋原有的集合,感興趣的小伙伴跟著小編一起來看看吧
    2024-01-01

最新評論

宜都市| 噶尔县| 开化县| 东阳市| 屯昌县| 莱州市| 九台市| 军事| 岢岚县| 江门市| 贵溪市| 临洮县| 前郭尔| 双辽市| 闽清县| 大理市| 平武县| 彭山县| 霸州市| 寿光市| 临湘市| 屏东县| 海盐县| 绿春县| 来凤县| 宁陵县| 凤山县| 特克斯县| 平山县| 柳林县| 衡阳市| 香格里拉县| 阳高县| 凤台县| 江孜县| 千阳县| 宁都县| 辽阳县| 来凤县| 重庆市| 大邑县|