亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MongoDB > 正文

MongoDB范圍片鍵和哈希片鍵有什么區別?

2024-09-07 00:22:35
字體:
來源:轉載
供稿:網友
      這篇文章給大家介紹MongoDB片鍵,主要介紹范圍片鍵和哈希片鍵以及兩者的不同,對大家學習和理解MongoDB有一定的參考價值,感興趣的朋友就繼續往下看吧。
01 片鍵
      MongoDB的片鍵決定了集合中存儲的數據在集合中的分布情況,具體的方法是使用片鍵值的范圍來對集合中的數據進行分區。舉個例子:
 
      需要注意的是,在一個集合中,被選為片鍵的這個字段上必須有一個支持片鍵的索引,或者是必須有一個以這個字段開頭的聯合索引。通常情況下,我們給字段添加的索引,最常見的是普通索引或者哈希索引,普通的索引字段如果作為片鍵,那么這個片鍵我們稱為范圍片鍵;哈希索引字段如果作為片鍵,那么這個片鍵我們稱為哈希片鍵。下面我們來看二者的不同之處:
 
02 范圍片鍵(遞增片鍵)
      范圍片鍵,顧名思義,就是將數據根據片鍵劃分到連續的范圍里面,在這個模型中,那些值"相似"的文檔可能位于同一個片中。例如下面這樣:
 
      好處:
 
      可以高效的讀取連續范圍內的目標文檔。如果你使用范圍查詢,則可以比較快速的拿到所有的結果值。因為數據所在的數據chunk比較少。
 
      壞處:
 
      如果我們寫入的數據都幾種在某一個分片區間,那么讀寫性能都可能因為片鍵劃分不均勻而降低。(例如下圖中,數據的基數大部分在20~maxKey,則大部分都在chunk C的位置,本身分布不均勻),Chunk C的寫入壓力將會增大。
 
 
 
      在下列場景中,使用范圍片鍵比較合適:
 
      1、數據的基數比較大
 
      2、分片的寫入頻率比較低(插入較少不容易產生chunk的搬運)
 
      3、非單調變化的分片(如果單調寫,則會分到同一個塊里面,容易達到chunk割裂的條件,產生chunk的搬運)
 
      如果數據滿足上面的三個條件,則我們寫入的數據可能是這樣的:
 
 
 
      就是比較均勻的寫入到了數據塊中。
 
03 哈希片鍵
      哈希片鍵使用哈希索引在共享集群中對數據進行分區。哈希索引計算單個字段的哈希值作為索引值,該值用作片鍵(注意,這里并不是字段本身的值,而是hash之后的值)。
 
 
      作為哈希片鍵的索引字段應該有如下特點:
 
      1、具有大量不同的值
 
      2、哈希索引適合單調變化的字段,例如自增值,時間值等(因為可以將單調的字段通過hash函數映射到不同的塊上去,從而分散寫入壓力,例如下圖,雖然數據連續,但是寫入了不同的數據塊中)
 
      下面是分片創建從無到有的過程舉例:
 
1、創建表,只有一個字段name,并插入數據
mongos> use aaa
switched to db aaa
mongos> db.aaa.insert({name:1})
WriteResult({ "nInserted" : 1 })
mongos> db.aaa.insert({name:2})
WriteResult({ "nInserted" : 1 })
mongos> db.aaa.insert({name:3})
WriteResult({ "nInserted" : 1 })
mongos> db.aaa.insert({name:4})
WriteResult({ "nInserted" : 1 })
mongos>
 
2、查看數據
mongos> db.aaa.find()
{ "_id" : ObjectId("5fdb7d54d91f2f9bae3b09a1"), "name" : 1 }
{ "_id" : ObjectId("5fdb7d56d91f2f9bae3b09a2"), "name" : 2 }
{ "_id" : ObjectId("5fdb7d59d91f2f9bae3b09a3"), "name" : 3 }
{ "_id" : ObjectId("5fdb7d5cd91f2f9bae3b09a4"), "name" : 4 }
 
3、允許數據庫分片
mongos> sh.enableSharding("aaa")
{
 "ok" : 1,
 "operationTime" : Timestamp(1608220038, 3),
 "$clusterTime" : {
  "clusterTime" : Timestamp(1608220038, 3),
  "signature" : {
   "hash" : BinData(0,"shemm3xvSYrMiy9t7gSYcVtFUuE="),
   "keyId" : NumberLong("6894922308364795934")
  }
 }
}
mongos>
 
4、在name字段創建hash索引
mongos> db.aaa.createIndex({name:"hashed"},{background:true})
{
 "raw" : {
  "sharding_yeyz/127.0.0.1:27018,127.0.0.1:27019,127.0.0.1:27020" : {
   "createdCollectionAutomatically" : false,
   "numIndexesBefore" : 1,
   "numIndexesAfter" : 2,
   "ok" : 1
  }
 },
 "ok" : 1,
 "operationTime" : Timestamp(1608220115, 3),
 "$clusterTime" : {
  "clusterTime" : Timestamp(1608220115, 3),
  "signature" : {
   "hash" : BinData(0,"S3Wz9G26eJyOcwa1OLS6TVYu6SE="),
   "keyId" : NumberLong("6894922308364795934")
  }
 }
}
 
5、以name字段作為片鍵創建哈希分片
mongos> sh.shardCollection("aaa.aaa",{name:"hashed"})
{
 "collectionsharded" : "aaa.aaa",
 "collectionUUID" : UUID("20a3895e-d821-43ae-9d28-305e6ae03bbc"),
 "ok" : 1,
 "operationTime" : Timestamp(1608220238, 10),
 "$clusterTime" : {
  "clusterTime" : Timestamp(1608220238, 10),
  "signature" : {
   "hash" : BinData(0,"qeQlD3jsSvRZkyamEa2hjbezEdM="),
   "keyId" : NumberLong("6894922308364795934")
  }
 }
}

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久久久久网站| 国产精品18久久久久久麻辣| 国产精品美女久久久久久免费| 亚洲成人三级在线| 国产日韩欧美在线观看| 久久69精品久久久久久久电影好| 中文字幕av一区二区| 欧美中在线观看| 欧美日韩另类视频| 精品中文字幕在线| 色爱av美腿丝袜综合粉嫩av| 啪一啪鲁一鲁2019在线视频| 国产精品精品久久久久久| 欧美日韩福利在线观看| 永久555www成人免费| 亚洲毛片在线免费观看| 成人欧美在线观看| 久久99亚洲精品| 国产91色在线|免| 国产精品999999| 久久久噜噜噜久久中文字免| 欧美在线视频在线播放完整版免费观看| 2019亚洲日韩新视频| 中文日韩在线视频| 欧美黑人巨大xxx极品| 午夜精品一区二区三区在线播放| 欧美中文在线字幕| 欧美大尺度在线观看| 欧美精品在线第一页| 亚洲国产日韩欧美在线图片| 国产精品美女午夜av| 欧美亚洲成人精品| 久久久久久亚洲| 91社区国产高清| 黑人精品xxx一区| 欧美成人精品激情在线观看| 精品国产91久久久| 欧美一区二区大胆人体摄影专业网站| 亚洲综合中文字幕68页| 久久精品视频中文字幕| 日本道色综合久久影院| 亚洲专区中文字幕| 久久久久久噜噜噜久久久精品| 欧美电影免费观看大全| 国产精品一香蕉国产线看观看| 18性欧美xxxⅹ性满足| 久久精品亚洲一区| 亚洲欧美精品伊人久久| 成人免费在线网址| 欧美性xxxx极品hd欧美风情| 日本国产一区二区三区| 国产精品久久久久久久久影视| 午夜欧美不卡精品aaaaa| 欧美日韩高清在线观看| 疯狂欧美牲乱大交777| 欧美性xxxxhd| 亚洲精品v天堂中文字幕| 欧美一级淫片丝袜脚交| 国产做受69高潮| 国产网站欧美日韩免费精品在线观看| 日韩国产一区三区| 国产精品爽黄69天堂a| 国产精品美女主播在线观看纯欲| 亚洲精品资源美女情侣酒店| 国产精品久久久久久网站| 久久99精品久久久久久噜噜| 中文字幕综合在线| 欧美视频不卡中文| 久久中文字幕在线视频| 日韩欧美国产黄色| 精品国产一区二区三区四区在线观看| 久久精品久久久久| 成人精品一区二区三区电影黑人| 日韩av综合网| 精品久久久久久电影| 日韩精品视频在线观看网址| 日韩精品一区二区视频| 中文字幕亚洲情99在线| 国产97色在线|日韩| 91亚洲永久免费精品| 欧美极品在线视频| 日av在线播放中文不卡| 欧美在线免费看| 91亚洲精品一区二区| 精品国产福利视频| 日韩国产精品亚洲а∨天堂免| 色偷偷偷综合中文字幕;dd| 青青草一区二区| 国产精品久久久久久久久久新婚| 中文字幕av一区中文字幕天堂| 九九久久久久久久久激情| 成人国产精品久久久久久亚洲| 亚洲人成网站999久久久综合| 成人有码视频在线播放| 亚洲在线视频观看| 91爱爱小视频k| 欧美大片欧美激情性色a∨久久| 亚洲经典中文字幕| 成人免费福利视频| 成人国产精品一区二区| 国产亚洲精品激情久久| 538国产精品一区二区在线| 日韩av免费在线观看| 亚洲精品大尺度| 日韩免费中文字幕| 国产91精品最新在线播放| 久久影视免费观看| 国产精品久久中文| 欧美日韩成人在线观看| 久久久在线免费观看| 亚洲一区二区在线播放| 久久久精品久久久久| 国产精品99一区| 美女撒尿一区二区三区| 69久久夜色精品国产69| 亚洲国产精品悠悠久久琪琪| 91在线观看免费高清完整版在线观看| 国产男人精品视频| 欧美午夜片在线免费观看| 日本午夜在线亚洲.国产| 亚洲香蕉成人av网站在线观看| 欧美日韩一区二区三区在线免费观看| 日韩亚洲成人av在线| 国产美女扒开尿口久久久| 久99九色视频在线观看| 亚洲女人初尝黑人巨大| 日韩午夜在线视频| 亚洲视频免费一区| 国产mv免费观看入口亚洲| 欧洲亚洲女同hd| 亚洲999一在线观看www| 91美女高潮出水| 91香蕉电影院| 九色91av视频| www.久久草.com| 日韩精品一二三四区| 欧美重口另类videos人妖| 亚洲福利在线看| 97视频在线观看免费| 精品一区二区三区四区在线| 色综合天天狠天天透天天伊人| 欧美与黑人午夜性猛交久久久| 久久久人成影片一区二区三区| 日韩在线国产精品| 欧美日韩国产va另类| 国模极品一区二区三区| 欧美精品videos| 久久久在线观看| 91精品国产91久久久久久最新| 国产成人亚洲综合| 久久免费国产视频| 日韩中文字幕在线播放| 国产91亚洲精品| 日韩免费在线观看视频| 午夜精品美女自拍福到在线| 日韩av有码在线| 中文字幕亚洲一区二区三区五十路| 久久免费福利视频| 91精品在线看| 日韩中文字幕第一页| 国产精品jvid在线观看蜜臀| 欧美极品少妇xxxxx| 日本免费在线精品| 久久久国产影院|