MongoDB面試題集錦

來源:互聯網
上載者:User

1.什麼是NoSQL資料庫?NoSQL和RDBMS有什麼區別?在哪些情況下使用和不使用NoSQL資料庫?

         NoSQL是非關係型資料庫,NoSQL = Not Only SQL。

       關係型資料庫採用的結構化的資料,NoSQL採用的是鍵值對的方式儲存資料。

       在處理非結構化/半結構化的大資料時;在水平方向上進行擴充時;隨時應對動態增加的資料項目時可以優先考慮使用NoSQL資料庫。

       在考慮資料庫的成熟度等級;支援;分析和商業智慧;管理及專業性等問題時,應優先考慮關係型資料庫。


2.非關係型資料庫有哪些?

       Membase、MongoDB、Hypertable


3.MySQL和MongoDB之間最基本的區別是什嗎?

         關係型資料庫與非關係型資料庫的區別,即資料存放區結構的不同。


4.MongoDB的特點是什嗎?

(1)面向文檔(2)高效能(3)高可用(4)易擴充(5)豐富的查詢語言


5. MongoDB支援預存程序嗎?如果支援的話,怎麼用?

         MongoDB支援預存程序,它是javascript寫的,儲存在db.system.js表中。


6.如何理解MongoDB中的GridFS機制,MongoDB為何使用GridFS來隱藏檔?

  GridFS是一種將大型檔案儲存體在MongoDB中的檔案規格。使用GridFS可以將大檔案分隔成多個小文檔存放,這樣我們能夠有效儲存大文檔,而且解決了BSON對象有限制的問題。


7.為什麼MongoDB的資料檔案很大?

  MongoDB採用的預分配空間的方式來防止檔案片段。


8.當更新一個正在被遷移的塊(Chunk)上的文檔時會發生什嗎?

  更新操作會立即發生在舊的塊(Chunk)上,然後更改才會在所有權轉移前複製到新的分區上。


9.MongoDB在A:{B,C}上建立索引,查詢A:{B,C}和A:{C,B}都會使用索引嗎?

  不會,只會在A:{B,C}上使用索引。


10.如果一個分區(Shard)停止或很慢的時候,發起一個查詢會怎樣?

  如果一個分區停止了,除非查詢設定了“Partial”選項,否則查詢會返回一個錯誤。如果一個分區響應很慢,MongoDB會等待它的響應。



相關文章

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.