初識MongoDB -

MongoDB是一個開源的文檔數(shù)據(jù)庫(文檔數(shù)據(jù)庫是NOSQL的重要組成部分)它提供了高性能,高能用性和自動伸縮比的功能。

MongoDB是把數(shù)據(jù)記錄在一個文檔中,里面的數(shù)據(jù)結(jié)構(gòu)有點類似JSON。這個值由dield:value組成,有點類似鍵值形式。

優(yōu)勢:

1.文檔符合非強制數(shù)據(jù)類型的編程語言

2.嵌入式的文檔減少了像關(guān)系數(shù)據(jù)庫一樣的內(nèi)聯(lián)

3.動態(tài)模式支持了多態(tài)性

4.嵌入式的數(shù)據(jù)模型有助于減少IO的消耗在數(shù)據(jù)庫體系中

5.索引有著更快query能力,可以包含嵌入式文檔的key


分片群集:

MongoDB由三個板塊組成一個完整的體系(sharded cluster分片群集)。

1.shard(shardsvr)? 切片

切片相當(dāng)于關(guān)系數(shù)據(jù)庫中的存儲端,它包含了一個切片數(shù)據(jù),并且一個切片應(yīng)有多個副本集,它們存著相同的數(shù)據(jù)當(dāng)作備份。一個庫中數(shù)據(jù)可能會被切分成多份分給多個切片,一個群集中所有切片數(shù)據(jù)加起來就是全部數(shù)據(jù)了。

登陸命令

mongod --shardsvr --dbpath c:\mongodb\shard1-3\data --port 1114 --bind_ip=127.0.0.1 --replSet=replcopy1


2.mongos 路由服務(wù)器

它提供一個接口給用戶應(yīng)用,并且會把數(shù)據(jù)分享給他們。

登陸命令

mongod --configsvr --replSet=conf --port 4446 --dbpath C:\mongodb\conf\config3\data --logpath C:\mongodb\conf\config3\log.log --bind_ip=127.0.0.1 --journal


3.config servers? 配置服務(wù)器

配置服務(wù)器存儲了元數(shù)據(jù)和集群的配置信息。在3.4版本之后,配置服務(wù)器就應(yīng)建立副本集了。

登陸命令

mongos --configdb conf/127.0.0.1:4444,127.0.0.1:4445,127.0.0.1:4446 --port 30000 --bind_ip=127.0.0.1 這里的conf要配置多個


結(jié)構(gòu)介紹

Database ->數(shù)據(jù)庫

collection ->表

document ->數(shù)據(jù)

shard Keys:當(dāng)要分配collection中的數(shù)據(jù)給片時,需要一個key作為標(biāo)準(zhǔn),它可以規(guī)定從哪里開始分從哪里結(jié)束分。

chunks:數(shù)據(jù)塊。MongoDB會把被分享的data劃分成多個數(shù)據(jù)塊。每個數(shù)據(jù)庫都有一個最小和最大的shard key。

shard優(yōu)勢

MongoDB支持讀寫分離,并且

Both read and write workloads can be

scaled horizontally across the cluster by adding more shards.(通過增加shard可以在集群中橫向增加讀寫效率)

Asharded clustercan continue to perform partial read / writeoperations even if one or more shards are unavailable. While the subset ofdata on the unavailable shards cannot be accessed during the downtime, readsor writes directed at the available shards can still succeed.(就算有機器停止運行,讀寫工作都能在部分繼續(xù)經(jīng)行)

分組方式

hashed sharding

哈希會為key計算一個哈希值,通過哈希值來對數(shù)據(jù)經(jīng)行分類并放在不同的chuck中

randed sharding

排列分享,將相近的數(shù)據(jù)放在同一個chuck中


分析片

https://blog.csdn.net/long12310225/article/details/77689460

分片的維護

https://blog.csdn.net/yisun123456/article/details/78284128

常見操作和java調(diào)用api

https://blog.csdn.net/u011191463/article/details/70060806

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容