MongoDB複製集和分片

2021-09-11 07:27:01 字數 918 閱讀 8148

複製集:

複製提供了兩方面的好處: 高效能 和 高可用性

奇數: 應確保伺服器為奇數,這樣更容易選舉出主伺服器

複製策略:

副本集數量:

容錯: 

部署副本集:

1.  

2.  為複製集 中的每個伺服器配置 replset值。

可以在檔案 mongodb.conf 中指定,也可以在命令列中指定。

mongod --port 27017  --dbpath  /srv/mongodb/db0 --replset rs0

3. 啟動副本集

shell 中執行命令 rs.initiate()

4.  對每個備份伺服器執行如下命令:

rs.add()

5. 在每台伺服器上使用 rs.conf()

6. 在應用程式中,為從副本集讀取資料的操作指定讀取首選項。將首選項設定為 primary, primarypreferred , secondary,  secondarypreferred 或nearest

案例todo:

分片集群:

服務組成:

分片伺服器;

查詢路由器 ;乙個mongos 例項

配置伺服器;

選擇片鍵,要考慮的方面:

易於拆分; 隨機性; 復合鍵 - 應盡可能使用單字段片鍵;

基數- cardinality - 獨一無二的程度。如果是 社保號,則這個字段基數就高,通常基數較高的字段更適合用作片鍵。

以查詢為嚮導:

選擇分割槽的方法:

基於範圍的分片;

基於雜湊的分片;

部署分片集群步驟:

1. 建立配置伺服器

2. 啟動查詢路由器

3. 在集群中新增分片伺服器

4. 對資料啟用分片

5. 對集合啟用分片

MongoDB 事務,複製和分片的關係

本文嘗試對mongo的複製和分布式事務的原理進行描述,在必要的地方,對實現的正確性進行論證,希望能為mongodb核心愛好者提供一些參考。如何選擇更早的時間點,需要滿足下面的規則,寫規則 事務執行順序如下所示是 t1 commited and committs 1 t2 start t2 set c...

MongoDB複製集架構搭建

mkdir p data r0 data r1 data r2 bin mongod port 27017 dbpath home workspace data r0 smallfiles replset rsa fork logpath home workspace logs mongo0.log...

Linux 建立 Mongodb 複製集

參考文章 解壓完成後 修改檔案名字 mv mongodb linux x86 64 4.0.0 mongodb 進入目錄 cd mongodb 然後建立資料夾 conf db log mkdir conf db log 進入資料夾db,建立三個資料夾 rs1 rs2 rs3 mkdir rs1 rs...