MongoDB數(shù)據(jù)庫存儲(chǔ)模式為文檔數(shù)據(jù)存儲(chǔ)庫,存儲(chǔ)方式是將文檔存儲(chǔ)在集合之中。
MongoDB數(shù)據(jù)庫是開源數(shù)據(jù)庫,同時(shí)提供具有附加功能的商業(yè)版本。
MongoDB中的數(shù)據(jù)是以鍵值對(key-value pairs)的形式顯示的。在模式設(shè)計(jì)上,數(shù)據(jù)庫受到的約束更少。這對于具有快速增長或其他變化需求的數(shù)據(jù)來說是非常有利的。
MongoDB提供了預(yù)定義的結(jié)構(gòu),用戶可以按需采用其結(jié)構(gòu)。
北亞企安數(shù)據(jù)恢復(fù)—MongoDB數(shù)據(jù)庫數(shù)據(jù)恢復(fù)
每個(gè)MongoDB數(shù)據(jù)庫都包含了以“順次存放”的方式填充的文檔集合。這些文檔本身包含了各種字段和信息類型,因此MongoDB數(shù)據(jù)庫能夠存儲(chǔ)的內(nèi)容和數(shù)據(jù)大小是極其豐富的。
MongoDB數(shù)據(jù)庫的安全特性包括:基于角色的訪問控制、身份驗(yàn)證、授權(quán)和審核等。當(dāng)然,如果需要加密,MongoDB數(shù)據(jù)庫也可以實(shí)施安全傳輸層(TLS)和SSL協(xié)議。
作為文檔數(shù)據(jù)庫,MongoDB不限制用戶存儲(chǔ)數(shù)據(jù)的體量和類型,因此適合大數(shù)據(jù)的應(yīng)用環(huán)境,這對基于云的服務(wù)將特別有利。基于水平可擴(kuò)展能力,以及與云服務(wù)的敏捷性結(jié)合,MongoDB數(shù)據(jù)庫不但能夠減少開發(fā)者的工作量,簡化業(yè)務(wù)與項(xiàng)目的擴(kuò)展流程,還能夠提供高可用性和數(shù)據(jù)的快速恢復(fù)。不過,MongoDB數(shù)據(jù)庫在數(shù)據(jù)的可靠性、一致性、以及安全性等方面不如MySQL。
MongoDB數(shù)據(jù)庫數(shù)據(jù)恢復(fù)案例:
MongoDB數(shù)據(jù)庫故障:
某單位一臺(tái)MongoDB數(shù)據(jù)庫由于業(yè)務(wù)需求進(jìn)行了數(shù)據(jù)遷移,數(shù)據(jù)庫遷移后提示:“Windows無法啟動(dòng)MongoDB服務(wù)(位于 本地計(jì)算機(jī) 上)錯(cuò)誤1067:進(jìn)程意外終止。”
北亞企安數(shù)據(jù)恢復(fù)—MongoDB數(shù)據(jù)庫數(shù)據(jù)恢復(fù)
北亞企安數(shù)據(jù)恢復(fù)工程師通過用戶方的描述,以及對數(shù)據(jù)庫環(huán)境和底層數(shù)據(jù)的檢查,發(fā)現(xiàn)MongoDB數(shù)據(jù)庫在遷移過程中丟失了_mdb_catalog.wt文件,所以導(dǎo)致數(shù)據(jù)庫報(bào)錯(cuò)。
MongoDB數(shù)據(jù)庫數(shù)據(jù)恢復(fù)過程:
1、要恢復(fù)MongoDB數(shù)據(jù),只需要在底層數(shù)據(jù)中找到丟失的_mdb_catalog.wt文件即可。可是多次掃描底層數(shù)據(jù)后發(fā)現(xiàn)該文件已經(jīng)被覆蓋,
2、由于本案例中的MongoDB數(shù)據(jù)庫是基于WiredTiger存儲(chǔ)引擎,于是北亞企安數(shù)據(jù)恢復(fù)工程師調(diào)整數(shù)據(jù)恢復(fù)策略,在Windows環(huán)境下編譯出可執(zhí)行的wt工具。
北亞企安數(shù)據(jù)恢復(fù)—MongoDB數(shù)據(jù)庫數(shù)據(jù)恢復(fù)
3、借助編譯出來的wt工具對數(shù)據(jù)庫集合文件內(nèi)所有數(shù)據(jù)進(jìn)行清洗回寫,讀取數(shù)據(jù)結(jié)果并寫入到文件中。
4、創(chuàng)建一個(gè)全新的MongoDB數(shù)據(jù)庫,并創(chuàng)建相應(yīng)數(shù)據(jù)量的集合。將文件逐一寫入集合中,查詢數(shù)據(jù)集并重建索引信息。
5、通過查詢集合中的記錄,確定記錄類型,并重建集合索引。集合恢復(fù)完成后,可以正常查看其中數(shù)據(jù)。
北亞企安數(shù)據(jù)恢復(fù)—MongoDB數(shù)據(jù)庫數(shù)據(jù)恢復(fù)
北亞企安數(shù)據(jù)恢復(fù)—MongoDB數(shù)據(jù)庫數(shù)據(jù)恢復(fù)
6、協(xié)助用戶方對全部集合進(jìn)行索引重建之后由用戶方進(jìn)行驗(yàn)證。用戶方對數(shù)據(jù)庫進(jìn)行查詢驗(yàn)證后,確認(rèn)數(shù)據(jù)完整無誤。
審核編輯 黃宇
-
數(shù)據(jù)恢復(fù)
+關(guān)注
關(guān)注
10文章
635瀏覽量
18004 -
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3900瀏覽量
65763 -
mongodb
+關(guān)注
關(guān)注
0文章
24瀏覽量
442
發(fā)布評(píng)論請先 登錄
分布式存儲(chǔ)數(shù)據(jù)恢復(fù)—虛擬機(jī)上hbase和hive數(shù)據(jù)庫數(shù)據(jù)恢復(fù)案例
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)——MongoDB數(shù)據(jù)庫文件拷貝后服務(wù)無法啟動(dòng)的數(shù)據(jù)恢復(fù)

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server附加數(shù)據(jù)庫提示“錯(cuò)誤 823”的數(shù)據(jù)恢復(fù)案例

服務(wù)器數(shù)據(jù)恢復(fù)—raid5陣列上層win系統(tǒng)+oracle數(shù)據(jù)庫數(shù)據(jù)恢復(fù)案例
SqlServer數(shù)據(jù)恢復(fù)—SqlServer數(shù)據(jù)庫數(shù)據(jù)恢復(fù)案例

Sybase數(shù)據(jù)恢復(fù)—Sybase數(shù)據(jù)庫無法啟動(dòng)怎么恢復(fù)數(shù)據(jù)?

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—通過拼接數(shù)據(jù)庫碎片恢復(fù)SQLserver數(shù)據(jù)庫

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—Oracle ASM實(shí)例無法掛載的數(shù)據(jù)恢復(fù)案例

oracle數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)庫打開報(bào)錯(cuò)的數(shù)據(jù)恢復(fù)案例

Oracle數(shù)據(jù)恢復(fù)—異常斷電后Oracle數(shù)據(jù)庫啟庫報(bào)錯(cuò)的數(shù)據(jù)恢復(fù)案例

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)庫文件system01.dbf損壞的數(shù)據(jù)恢復(fù)案例

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫出現(xiàn)823錯(cuò)誤的數(shù)據(jù)恢復(fù)案例

Oracle數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)庫delete刪除的數(shù)據(jù)恢復(fù)方法
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SqlServer數(shù)據(jù)庫底層File Record被截?cái)酁?的數(shù)據(jù)恢復(fù)案例

評(píng)論