大家好,關于mongodb副本集搭建很多朋友都還不太明白,今天小編就來為大家分享關于mongodb副本集本地的知識,希望對各位有所幫助!
如何做好mongodb的數據備份
文檔數據庫服務是云服務商重要的數據庫服務產品之一,而數據庫的備份與恢復功能是數據庫容災重要且必不可少的手段。文檔數據庫云服務提供了數據庫的備份與恢復功能,但我們要了解其背后的機制,文檔數據庫服務采用的是開源的mongoDB,自然就要先從mongoDB數據庫的備份和恢復機制入手。
mongoDB的數據庫備份恢復機制主要有兩種,
一是使用自帶的mongodump&mongorestore工具;
二是基于數據文件的備份和恢復。
現簡要闡述如下:
一、mongodump與mongorestore1、mongodump用于把數據庫內容以BSON文件備份,可用于備份實時運行的數據庫(無需鎖住或者關閉數據庫);備份命令行:$mongodump-hlocalhost--port27017執行后將數據默認備份到dump目錄,Dump目錄包含每個集合的所有文檔,包含定義用戶和索引的系統集合。但索引本身的數據不會包含到dump目錄里。這意味著恢復數據庫時索引需要重建。如果有很大的數據集,或者許多索引,則會花費很多時間。2、mongorestore用于讀取BSON文件并恢復它們;恢復命令行:$mongorestore-hlocalhost--port27017dump注意當恢復數據時,mongorestore不會刪除數據,所以如果恢復的是當前的數據庫實例,就確保使用-drop標記執行。
二、基于數據文件的備份大部分用戶會選擇基于數據庫文件的備份方式,直接把原始的數據庫文件拷貝到別的地方。這個方法比使用mongodump快得多,因為備份和恢復不需要轉換數據格式。這種方式唯一的問題就是它需要鎖住數據庫服務器,但是通常只是需要鎖住從節點,因此應該可以在備份過程中保證應用的正常運行。以下是同步和鎖庫的命令:>useadmin>db.fsyncLock()命令執行后,基于寫入鎖住數據庫,且數據文件同步到磁盤,此時,就可以安全的拷貝數據文件了。解鎖命令:>db.fsyncUnlock()也給大家提供了思維導圖的展現方式:三、文檔數據服務提供的備份恢復功能華為云&天翼云的文檔數據服務提供了單實例、副本集和集群三種方式,三種方式均提供了備份恢復功能。先說備份,創建實例完成時會執行一次全備份,根據備份策略,可以周期性的在設定的某個時間段執行自動備份,當然也提供了手動備份的功能。再說恢復,我發現只能恢復到新的實例,不能恢復到當前實例,,就意味著沒有辦法對當前實例進行災難恢復,只能講數據恢復到新的實例,這樣就存在數據庫切換的動作,感覺比較奇怪,查了產品手冊,確實如此。為了更深入了解備份和恢復的機制,打算尋求客服的幫助。
四、文檔數據服務提供的備份恢復機制針對不能恢復到當前實例的問題,我在華為云上提了工單,如下:工單提問:請問DDS備份的數據,執行恢復操作,是不是只能恢復到新建實例,不能恢復到當前實例?客服答復:您好,是只能恢復到新建實例,不能回復到當前實例這是文字答復,在我提了工單沒多久,華為云客服就給了我電話,在確認了只提供恢復到新實例后,就又問了為何不提供恢復到當前實例,客戶的答復說,因為恢復到當前實例可能存在恢復失敗的可能,但是在執行恢復操作前,會執行刪除數據的操作,這樣一旦失敗,就會對現有實例造成不可恢復的災難。想進一步了解華為云的備份恢復機制,又提了工單,如下:工單提問:請問DDS的備份和恢復功能后臺的實現機制是什么?是基于快照機制還是數據文件級的備份?另外能否實現基于時間點的恢復機制,謝謝!客服答復:集群和副本集是復制物理文件的方式,單實例為mongodump的方式。參照上面第一部分結算的內容就能理解客服答復的內容了。mongodb怎么查看集群,命令
1.導出需要遷移的數據;/usr/local/mongo/bin/mongodump--host172.16.8.134:29017-d201-o/data/data/mongo/tmp/--directoryperdb并且將該數據同步到131的/data/data/mongodb/tmp目錄中2.建立第一個副本集
elasticsearch(lucene)可以代替NoSQL(mongodb)嗎
首先需要明確一點的是,ElasticSearch和MongoDB是不同的技術選型,兩者定位不同,是不能混為一談和相互替代的。
ElasticSearch是企業級搜索引擎ElasticSearch是用Java語言基于Lucene開發的分布式搜索服務器,對外提供RESTfulAPI,而且慢慢演變成了數據分析和可視化系統(如:ELK)。
ES可以當成是一種特殊的NoSQL。
優點:查詢性能高、高效分詞、支持各類復雜檢索、支持海量數據存儲;
缺點:數據寫入性能差、缺乏權限機制、mapping一旦確定就不好變更(索引重建很麻煩)、field是可以動態添加的不利于數據規范。MongoDB是一款NoSQL數據庫MongoDB是用C++開發的一款NoSQL數據庫(面向文檔的數據庫,BSON格式存儲),雖然支持搜索功能,但是索引性能和精確度遠不如ElasticSearch。
優點:數據寫入性能優于ElasticSearch(但比不上Redis)、數據約束性強、完善的權限機制;
缺點:只適合數據存儲、雖有全文檢索但一個集合只能創建一個全文索引。
兩者通常搭配使用在實際項目中,我們通常是將ElasticSearch和MongoDB搭配使用的。MongoDB可作為持久化數據存儲倉庫,而ElasticSearch作復雜檢索工作。千萬不要把ES當數據庫來使用,因為ES數據結構是不嚴謹的,一旦涉及索引重建數據全部會丟失,另外也導出不了SQL。
以上就是我的觀點,對于這個問題大家是怎么看待的呢?歡迎在下方評論區交流~我是科技領域創作者,十年互聯網從業經驗,歡迎關注我了解更多科技知識!關于mongodb副本集搭建和mongodb副本集本地的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。