鍍金池/ 問答/數(shù)據(jù)庫/ mongod對多條同時(shí)到達(dá)的插入請求是怎么處理的?

mongod對多條同時(shí)到達(dá)的插入請求是怎么處理的?

mysql對多條同時(shí)到達(dá)的插入請求會進(jìn)行排隊(duì)一個(gè)個(gè)處理,最多維持1000個(gè)請求隊(duì)列。

mongodb對同時(shí)到達(dá)的多條插入請求,是和mysql的處理方式一樣,還是可以多條同時(shí)插入而不排隊(duì)?

回答
編輯回答
淺淺

一樣有隊(duì)列,但是WiredTiger的鎖是文檔級的,所以只有當(dāng)請求嘗試更新同一個(gè)文檔的時(shí)候,才會有實(shí)際的“鎖”存在。其余時(shí)候都是盡可能快地寫入數(shù)據(jù)庫。一般情況下除非硬件限制,隊(duì)列都不可能太長,經(jīng)驗(yàn)值來看大部分情況下都在10以內(nèi)。所以WT內(nèi)部只有128個(gè)讀和128個(gè)寫的Ticket,只有拿到Ticket的請求才有可能進(jìn)行讀寫。

2017年6月1日 02:51