MongoDB複製集(Replication Sets)簡介

來源:互聯網
上載者:User

    近年來,隨著大資料越來越火,非關係型資料庫的重要性被越來越多的人所認知,越來越多的開發人員逐漸加入到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機器讀取資料,但是用戶端也可以指定從哪台副本上讀取資料。
    我們也可以配置一台仲裁機,仲裁併不管理複製集,它也不能成為Primary,它只是決定哪些複本集有權成為Primary。
    以上就是MongoDB複製集(Replication Sets)的主要內容,如果您還有哪些地方不太理解,歡迎在評論中留言。


相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.