摸索了幾天,大體也初步算入了mongodb的門,仔細(xì)一想,mongodb和傳統(tǒng)關(guān)系型數(shù)據(jù)庫差別很大了。
傳統(tǒng)關(guān)系型數(shù)據(jù)庫中,一個(gè)數(shù)據(jù)庫有一個(gè)或者多個(gè)表(Table),表中的數(shù)據(jù)是稱之為記錄,一行一行的,每行數(shù)據(jù)分不同的字段。
舉一個(gè)容易理解的例子。一個(gè)人有姓名,性別,年齡,以及很多張銀行卡;
如果使用關(guān)系型數(shù)據(jù)庫,我們可能會是使用兩張或者更多表來做記錄,一張用戶表來存用戶的基本信息,另一張表通過用戶id,和銀行卡id,通過多條記錄來存此人的多張銀行卡對應(yīng)關(guān)系;
那如果是在mongodb中,那就對應(yīng)一個(gè)文件了
舉個(gè)例子就是這樣的數(shù)據(jù)了
{
Name:'小明',Sex:'男',Age:'25',
BankCards:[ ‘123445678','12233333','5555555']
}
所以到目前的mongodb中,它是沒有關(guān)系這個(gè)概念的;
此圖反應(yīng)了mongdb和傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(mysql,oracle)之間的對比;

應(yīng)該說是,mongodb存的是一個(gè)完整的對象了,這個(gè)對象數(shù)據(jù)是已文檔的形式存儲的。至于它有什么優(yōu)點(diǎn),網(wǎng)上一大片說它優(yōu)點(diǎn),這里抓網(wǎng)絡(luò)內(nèi)容貼上:
架構(gòu):MongoDB是文檔型數(shù)據(jù)庫,其中一個(gè)集合保存不同的不同的文件。字段的數(shù)量,內(nèi)容和該文件的大小可以是不同于從一個(gè)文件復(fù)制到另一個(gè)。
一個(gè)單一的對象是結(jié)構(gòu)清晰
沒有復(fù)雜的連接
深查詢能力。 MongoDB支持動態(tài)查詢使用基于文檔的查詢語言,如SQL幾乎一樣強(qiáng)大的文件
調(diào)優(yōu)
易于規(guī)模化:MongoDB是易于擴(kuò)展
不需要數(shù)據(jù)庫對象的應(yīng)用程序?qū)ο筠D(zhuǎn)換/映射
使用內(nèi)部存儲器存儲(窗口)工作組,從而實(shí)現(xiàn)更快的數(shù)據(jù)存取
不過缺點(diǎn)有很多,首先:不支持事物,而不會支持這種什么inner join ,left join等這樣的關(guān)系連接,(因?yàn)椴皇顷P(guān)系型數(shù)據(jù)庫嘛)。還有個(gè)我覺得是缺點(diǎn),占用空間!
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
您可能感興趣的文章:- MongoDB模糊查詢操作案例詳解(類關(guān)系型數(shù)據(jù)庫的 like 和 not like)
- MongoDB學(xué)習(xí)筆記(四) 用MongoDB的文檔結(jié)構(gòu)描述數(shù)據(jù)關(guān)系
- 淺談MongoDB 關(guān)系