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

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