MongoDB複製集(Replication Sets)介紹

   近年來,隨着大數據愈來愈火,非關係型數據庫的重要性被愈來愈多的人所認知,愈來愈多的開發者逐漸加入到NoSQL的陣營中。咱們知道NoSQL是Not Only SQL的意思,既然如此,不少關係型數據庫所支持的特性在非關係型數據中也是一樣適用,好比複製集。數據庫


   MongoDB是支持數據複製的,它在複製集方面的優點與其餘數據複製集同樣,它經過將數據部署在多個不一樣的服務器上,防止因單機故障而形成數據的丟失,藉助數據冗餘來提升數據的可靠性和安全性。並且還能夠經過複製技術構建分佈式數據庫,提升系統的訪問性能和安全性。安全


   MongoDB的複製集模式是主從複製。在全部的數據庫服務的機器中,只有一臺機器擔當Primary角色,其他的機器均是Secondaries。擔當Primary角色的機器接收全部來自客戶端的寫(Write)操做請求,並完成該操做,從而保證了數據的一致性。擔當Primary角色的機器還可以把來自客戶端的讀(Read)操做分配給其餘機器(Secondaries),減輕主數據庫服務器的壓力。服務器


   那麼MongoDB是如何完成各機器上數據的複製的呢?異步


   原來,MongoDB的Primary數據庫在每次對數據進行update操做時,都會將這些操做記錄在oplog日誌文件裏。Secondaries數據庫經過異步操做讀取日誌中的記錄並在本地執行,生成數據來與Primary保持數據一致。分佈式


   當Primary數據庫不可用時,複製集會從Secondaries中選擇一個機器做爲Primary機器。默認狀況下,客戶端都是從Primary機器讀取數據,可是客戶端也能夠指定從哪臺副本上讀取數據。ide


   咱們也能夠配置一臺仲裁機,仲裁併無論理複製集,它也不能成爲Primary,它只是決定哪些副本集有權成爲Primary。性能

wKiom1Mxs1-iF_M4AAIEVaAmwhQ211.jpg

   以上就是MongoDB複製集(Replication Sets)的主要內容,若是您還有哪些地方不太理解,歡迎在評論中留言。大數據

相關文章
相關標籤/搜索