成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

關于MongoDB數據庫自動分片技術的詳細介紹

數據庫 其他數據庫 MongoDB
本文我們詳細介紹了MongoDB的自動分片技術,并給出了圖解和代碼,希望能對您有所幫助。

MongoDB數據庫自動分片技術就是將原先數據庫中集合依據一定的規則切分成若干小塊,這些分片小塊統一由mongos路由管理,當有請求查詢或寫入時,路由會依據分片shard key規則找到對應的分片操作。分片解決了寫密集操作,用于分散單一寫服務器負載。亦或者原先的存儲空間不夠了,這個時候可能通過分片操作將之后的數據寫入其它存儲空間上。可以看出,集合的分片和數據庫的分表類似,并且每個分片都支持寫操作。

由于分片的出現,導致數據被分布式的存儲到不同的服務器上,當某一服務器出現問題時就可能導致數據丟失,其次路由mongos也會出現問題,另外存儲分片的信息的配置服務器也可能會發生問題。當然我們可以利用master salve/Replica sets機制去備份每個分片、Mongos、configs 。如下官網配置圖示,即使我們使用服務器交叉備份也需要大量的服務器資源,因此分片是一件***耗費資源的事情。官網的配置圖示

關于MongoDB數據庫自動分片技術的詳細介紹

首先路由從config中讀取配置信息,發生的分片動態增加也會通過mongos寫入config servres中,當client有請求時通過mongos查找到對應的分片。可以看出分片使用的replica set備份模式,而mongos/config servrs則是多個服務器配置。下面就手動實現一下分片的過程。(換環境了繼續昨天未完成的,前2天在筆記本上)

1)創建configs服務器

  1. ....bin>mongod --dbpath "e:\mongodb\data\configs"  --port 23017   

2)創建mongos服務器 并指定依賴的配置服務器 (mongos依賴于配置服務器,mongos查詢的分片信息都存儲在configs中)

  1. ....bin>mongos  --port 25017  --configdb 127.0.0.1:23017 

3)創建多個分片服務器 (負責數據存儲)

  1. ....bin>mongod  --port 27017 --dbpath  "e:\mongodb\data\dbs\shard27017"  

為shard27017分片服務器 創建test庫foo集合,并且為foo集創建name索引。

關于MongoDB數據庫自動分片技術的詳細介紹

4)連接mongos服務器添加shard27017分片服務器到configs服務器中。

  1. >use admin  
  2.  
  3. >db.runCommand({addshard:"127.0.0.1:27017",allowLoacl:true})               //添加分片服務器,allowLoacl 充許本地部署 默認情況不充許本地部署多個分片的  

一旦分片添加成功,在mongos服務器中執行 show dbs就可以看到分片服務器的數據庫,并且可以操作分片服務器的數據 ,下面為分片服務器的test庫foo集合設置分片以及分片shard key。

  1. >db.runCommand({"enablesharding":"test"})     //對test庫啟用分片功能 

注意:需要分片的集合 的shard key必須是索引鍵, (我們也可以在mongos為分片foo集合創建索引)

  1. >db.runCommand({"shardcollection":"test.foo","key":{"name":1}})                       //數字代表排序 

至此自動分片就創建完成了,可以在mongos或configs服務器查詢分片信息。

當一個分片服務器存儲不夠時,通過像3)方式繼續添加分片服務器,monogs會自實現這些分片的集群工作。

當需要移除分片時運行下面的命令,同時mongos路由會將此分片服務器上的信息移到其它分片上。

  1. >db.runCommand({"removeshard":"127.0.0.1:27017"}) 

簡單的分析一下這個shard key,當不是寫密集操作時,而僅僅是因為存儲空間不夠了,這個shard key我們可以選用一些無上限范圍的key,如創建時間等,這樣新創建的記錄都會寫入新的分片服務器上。

當需要使每個分片均勻分布數據時,或者寫入密集時,***選用有一定范圍值的key ,當然這個范圍不能太小,像性別,真假等,這會導致只自動產生兩個分片,所以一定要選擇合適的shard key才能達到理想的效果。

關于MongoDB數據庫的自動分片技術就介紹到這里,希望通過本次的介紹能夠帶給您一些收獲。

【編輯推薦】

  1. MongoDB數據庫的備份與恢復詳解
  2. MongoDB中索引的創建和使用詳解
  3. Exchange數據庫的恢復問題和可用性介紹
  4. MongoDB權限管理之用戶名和密碼的操作
  5. MongoDB基于Java、PHP的一般操作和用戶安全設置
責任編輯:趙鵬 來源: 博客園
相關推薦

2011-08-05 13:17:34

Oracle數據庫閃回個性

2010-03-16 14:46:37

2011-03-21 13:21:23

數據庫開發規范

2009-12-23 11:09:57

軟交換技術

2009-08-28 13:03:55

C#壓縮Access數

2011-06-23 09:00:04

QT QODBC 數據庫

2022-07-27 08:32:01

數據庫MySQL

2011-02-25 09:37:35

2025-01-22 08:19:34

2011-08-02 18:38:19

MySQLINI文件

2011-08-05 16:32:29

MySQL數據庫ENUM類型

2011-09-01 09:30:27

Oracle數據庫控制語句

2023-09-01 10:20:05

數據庫解密

2011-07-27 11:08:49

Oracle數據庫EM Console重

2011-08-10 13:03:58

CJDBC數據庫集群

2011-08-18 10:06:10

2009-06-29 14:30:27

JSF技術

2024-11-19 13:11:19

2009-06-17 16:01:28

2010-05-26 17:39:38

Linux性能監控
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品国产乱码久久久久久果冻传媒 | 91久久国产综合久久 | 先锋影音资源网站 | 日韩一区二区在线播放 | 一区二区三区四区视频 | 777zyz色资源站在线观看 | 九九久视频| 日韩精品一区二区三区四区视频 | 亚洲精品无 | 欧美日韩网站 | 在线播放国产一区二区三区 | 欧洲精品码一区二区三区免费看 | 久久久久久艹 | 久久婷婷麻豆国产91天堂 | 久久精品亚洲国产奇米99 | 日韩成人免费av | 亚洲高清视频在线 | 亚洲午夜网 | 精品国产乱码久久久久久久久 | 丁香五月网久久综合 | 国产精品视频专区 | 毛片视频观看 | 国产精品亚洲欧美日韩一区在线 | 欧美精品一区二区三区蜜桃视频 | 亚洲精品一区在线观看 | 中文字幕av一区二区三区 | 亚洲电影第三页 | 一区二区三区中文字幕 | 亚洲午夜精品一区二区三区他趣 | av电影手机在线看 | 亚洲欧洲色视频 | 99久久精品免费看国产高清 | 久久精品国产亚洲 | 中文字幕亚洲一区二区三区 | 一区二区三区在线看 | 日本免费在线 | 亚洲va国产日韩欧美精品色婷婷 | 国产激情在线 | 亚洲国产精品久久久久久 | 综合国产 | 国产精品乱码一二三区的特点 |