亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1861 | 回復(fù): 0
打印 上一主題 下一主題

[MongoDB] MongoDB管理:慎用local、admin數(shù)據(jù)庫 [復(fù)制鏈接]

求職 : Linux運(yùn)維
論壇徽章:
203
拜羊年徽章
日期:2015-03-03 16:15:432015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:182015年亞洲杯之約旦
日期:2015-04-05 20:08:292015年亞洲杯之澳大利亞
日期:2015-04-09 09:25:552015年亞洲杯之約旦
日期:2015-04-10 17:34:102015年亞洲杯之巴勒斯坦
日期:2015-04-10 17:35:342015年亞洲杯之日本
日期:2015-04-16 16:28:552015年亞洲杯紀(jì)念徽章
日期:2015-04-27 23:29:17操作系統(tǒng)版塊每日發(fā)帖之星
日期:2015-06-06 22:20:00操作系統(tǒng)版塊每日發(fā)帖之星
日期:2015-06-09 22:20:00
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2016-03-09 17:43 |只看該作者 |倒序?yàn)g覽
MongoDB副本集默認(rèn)會(huì)創(chuàng)建local、admin數(shù)據(jù)庫,local數(shù)據(jù)庫主要存儲(chǔ)副本集的元數(shù)據(jù),admin數(shù)據(jù)庫則主要存儲(chǔ)MongoDB的用戶、角色等信息。

慎用local數(shù)據(jù)庫

local數(shù)據(jù)庫,從名字可以看出,它只會(huì)在本地存儲(chǔ)數(shù)據(jù),即local數(shù)據(jù)庫里的內(nèi)容不會(huì)同步到副本集里其他節(jié)點(diǎn)上去;目前l(fā)ocal數(shù)據(jù)庫主要存儲(chǔ)副本集的配置信息、oplog信息,這些信息是每個(gè)Mongod進(jìn)程獨(dú)有的,不需要同步到副本集種其他節(jié)點(diǎn)。

在使用MongoDB時(shí),重要的數(shù)據(jù)千萬不要存儲(chǔ)在local數(shù)據(jù)庫中,否則當(dāng)一個(gè)節(jié)點(diǎn)故障時(shí),存儲(chǔ)在local里的數(shù)據(jù)就會(huì)丟失。

另外,對(duì)于重要的數(shù)據(jù),除了不能存儲(chǔ)在local數(shù)據(jù)庫,還要注意MongoDB默認(rèn)的WriteConcern是{w: 1},即數(shù)據(jù)寫到Primary上(不保證journal已經(jīng)寫成功)就向客戶端確認(rèn),這時(shí)同樣存在丟數(shù)據(jù)的風(fēng)險(xiǎn)。對(duì)于重要的數(shù)據(jù),可以設(shè)置更高級(jí)別的如{w: "majority"}來保證數(shù)據(jù)寫到大多數(shù)節(jié)點(diǎn)后再向客戶端確認(rèn),當(dāng)然這對(duì)寫入的性能會(huì)造成一定的影響。

慎用admin數(shù)據(jù)庫

當(dāng)Mongod啟用auth選項(xiàng)時(shí),用戶需要?jiǎng)?chuàng)建數(shù)據(jù)庫帳號(hào),訪問時(shí)根據(jù)帳號(hào)信息來鑒權(quán),而數(shù)據(jù)庫帳號(hào)信息就存儲(chǔ)在admin數(shù)據(jù)庫下。

mongo-9551RIMARY> use admin
switched to db admin
mongo-9551RIMARY> db.getCollectionNames()
[ "system.users", "system.version" ]
system.version存儲(chǔ)authSchema的版本信息
system.users存儲(chǔ)了數(shù)據(jù)庫帳號(hào)信息
如果用戶創(chuàng)建了自定義的角色,還會(huì)有system.roles集合
用戶可以在admin數(shù)據(jù)庫下建立任意集合,存儲(chǔ)任何數(shù)據(jù),但強(qiáng)烈建議不要使用admin數(shù)據(jù)庫存儲(chǔ)應(yīng)用業(yè)務(wù)數(shù)據(jù),最好創(chuàng)建新的數(shù)據(jù)庫。

admin數(shù)據(jù)庫里的system.users、system.roles2個(gè)集合的數(shù)據(jù),MongoDB會(huì)cache在內(nèi)存里,這樣不用每次鑒權(quán)都從磁盤加載用戶角色信息。目前cache的維護(hù)代碼,只有在保證system.users、system.roles的寫入都串行化的情況下才能正確工作,詳情參考官方issue SERVER-16092

從代碼中我們可以看出,MongoDB將將admin數(shù)據(jù)庫上的意向?qū)戞i(MODE_IX)直接升級(jí)為寫鎖(MODE_X),也就是說admin數(shù)據(jù)庫的寫入操作的鎖級(jí)別只能到DB級(jí)別,不支持多個(gè)collection并發(fā)寫入,在寫入時(shí)也不支持并發(fā)讀取。如果用戶在admin數(shù)據(jù)庫里存儲(chǔ)業(yè)務(wù)數(shù)據(jù),則可能遭遇性能問題。

          if (supportsDocLocking() || enableCollectionLocking) {                 
                   if (supportsDocLocking() || enableCollectionLocking) {
+
+            // The check for the admin db is to ensure direct writes to auth collections
+            // are serialized (see SERVER-16092).
+            if (_id == resourceIdAdminDB && !isRead) {
+                _mode = MODE_X;
+            }
+
              _lockState->lock(_id, _mode);               
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP