- 應用shutdown kill -2/-4
- use admin; db.shutdownServer();
- kill -9 可能會導致數據丟失、文件損壞、之後需要進行修復;
- 跨平臺數據庫
-
- Linux、Unix、Max、Windows
- 整體架構相同
- MongoDB Server
-
- 實例、數據庫及對應關係
- 數據邏輯結構(面向用戶的)
-
- 文檔、集合、數據庫
- 數據存儲
-
- 元數據、實際數據
- 數據庫數據組成:db.ns、db.0、db.1.....
- 數據存儲預分配空間(2倍增加,最小64MB、最大文件2G)
- 命名空間(集合、索引、*.ns、*.0、*.1存儲表及索引)
- 命名空間分配大小遞增
- 集羣構成
-
- mongod
- mongos
- config server
- arbiter server
- 主從複製模式(Master、Slave or Slaves),支持任意節點從節點,備份;人工故障轉移、故障恢復困難;oplog僅存在主節點上
- 副本集模式(Arbiter、Primary、Secondary);自動話管理(故障轉移、活躍節點選舉、讀擴展、智能化);
- 分片模式(數據拆分、分散存儲到多臺機器上、手工分片(自動分片));意義:單機性能瓶頸,內存
- 部署方式(Master-Slave:不推薦、實驗部署;Replica Set:推薦方式、數據量不大;ReplicatSet+Sharding方式:推薦部署方式、數據量大、需要分片);
- MongoDB集羣部署實踐
-
- 數據量大
- 可靠性較高;
- 併發讀寫;
- Replica Set+Sharding
- 動態增加ShardingServer
- 讀寫分離
- 故障轉移
- 庫級sharding(move primary)
- 表級是手動sharding
- auto-sharding(凌晨)
start mongod.exe --config=../config/m1/s1_1
start mongod.exe --config=../config/m1/s1_2
start mongod.exe --config=../config/m1/c1_1
start mongod.exe --config=../config/m1/a1_1
start mongod.exe --config=../config/m1/a1_2
rem m2
start mongod.exe --config=../config/m2/s2_1
start mongod.exe --config=../config/m2/s2_2
start mongod.exe --config=../config/m2/c2_1
start mongod.exe --config=../config/m2/a2_1
start mongod.exe --config=../config/m2/a2_2
rem m3
start mongod.exe --config=../config/m3/s3_1
start mongod.exe --config=../config/m3/s3_2
start mongod.exe --config=../config/m3/c3_1
start mongod.exe --config=../config/m3/a3_1
start mongod.exe --config=../config/m3/a3_2
start mongos.exe --config=../config/m1/s1
start mongos.exe --config=../config/m2/s2
start mongos.exe --config=../config/m3/s3