亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MongoDB > 正文

28個MongoDB經典面試題詳解

2020-10-29 18:40:47
字體:
來源:轉載
供稿:網友

MongoDB是目前最好的面向文檔的免費開源NoSQL數據庫。

如果你正準備參加MongoDB NoSQL數據庫的技術面試,你最好看看下面的MongoDB NoSQL面試問答。

這些MongoDB NoSQL面試問答涵蓋了NoSQL數據庫基本的概念,復制(Replication),分片(Sharding),事務和鎖,跟蹤分析工具(Profiler),Nuances和日志等特性。

讓我們看看下面的這些MongoDB NoSQL數據庫的面試問答吧:

1. 你說的NoSQL數據庫是什么意思?NoSQL與RDBMS直接有什么區別?為什么要使用和不使用NoSQL數據庫?說一說NoSQL數據庫的幾個優點?

NoSQL是非關系型數據庫,NoSQL = Not Only SQL。

關系型數據庫采用的結構化的數據,NoSQL采用的是鍵值對的方式存儲數據。

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

在考慮數據庫的成熟度;支持;分析和商業智能;管理及專業性等問題時,應優先考慮關系型數據庫。

2. NoSQL數據庫有哪些類型?

NoSQL數據庫的類型

例如:MongoDB, Cassandra, CouchDB, Hypertable, Redis, Riak, Neo4j, HBASE, Couchbase, MemcacheDB, RevenDB and Voldemort are the examples of NoSQL databases.詳細閱讀。

3. MySQL與MongoDB之間最基本的差別是什么?

MySQL和MongoDB兩者都是免費開源的數據庫。MySQL和MongoDB有許多基本差別包括數據的表示(data representation),查詢,關系,事務,schema的設計和定義,標準化(normalization),速度和性能。

通過比較MySQL和MongoDB,實際上我們是在比較關系型和非關系型數據庫,即數據存儲結構不同。詳細閱讀

4. 你怎么比較MongoDB、CouchDB及CouchBase?

MongoDB和CouchDB都是面向文檔的數據庫。MongoDB和CouchDB都是開源NoSQL數據庫的最典型代表。 除了都以文檔形式存儲外它們沒有其他的共同點。MongoDB和CouchDB在數據模型實現、接口、對象存儲以及復制方法等方面有很多不同。

細節可以參見下面的鏈接:

MongDB vs CouchDB

CouchDB vs CouchBase

5. MongoDB成為最好NoSQL數據庫的原因是什么?

以下特點使得MongoDB成為最好的NoSQL數據庫:

  • 面向文件的
  • 高性能
  • 高可用性
  • 易擴展性
  • 豐富的查詢語言

6.32位系統上有什么細微差別?

journaling會激活額外的內存映射文件。這將進一步抑制32位版本上的數據庫大小。因此,現在journaling在32位系統上默認是禁用的。

7. journal回放在條目(entry)不完整時(比如恰巧有一個中途故障了)會遇到問題嗎?

每個journal (group)的寫操作都是一致的,除非它是完整的否則在恢復過程中它不會回放。

8. 分析器在MongoDB中的作用是什么?

MongoDB中包括了一個可以顯示數據庫中每個操作性能特點的數據庫分析器。通過這個分析器你可以找到比預期慢的查詢(或寫操作);利用這一信息,比如,可以確定是否需要添加索引。

9. 名字空間(namespace)是什么?

MongoDB存儲BSON對象在叢集(collection)中。數據庫名字和叢集名字以句點連結起來叫做名字空間(namespace)。

10. 如果用戶移除對象的屬性,該屬性是否從存儲層中刪除?

是的,用戶移除屬性然后對象會重新保存(re-save())。

11. 能否使用日志特征進行安全備份?

是的。

12. 允許空值null嗎?

對于對象成員而言,是的。然而用戶不能夠添加空值(null)到數據庫叢集(collection)因為空值不是對象。然而用戶能夠添加空對象{}。

13. 更新操作立刻fsync到磁盤?

不會,磁盤寫操作默認是延遲執行的。寫操作可能在兩三秒(默認在60秒內)后到達磁盤。例如,如果一秒內數據庫收到一千個對一個對象遞增的操作,僅刷新磁盤一次。(注意,盡管fsync選項在命令行和經過getLastError_old是有效的)(譯者:也許是坑人的面試題??)。

14. 如何執行事務/加鎖?

MongoDB沒有使用傳統的鎖或者復雜的帶回滾的事務,因為它設計的宗旨是輕量,快速以及可預計的高性能??梢园阉惐瘸蒑ySQL MylSAM的自動提交模式。通過精簡對事務的支持,性能得到了提升,特別是在一個可能會穿過多個服務器的系統里。

15. 為什么我的數據文件如此龐大?

MongoDB會積極的預分配預留空間來防止文件系統碎片。

16. 啟用備份故障恢復需要多久?

從備份數據庫聲明主數據庫宕機到選出一個備份數據庫作為新的主數據庫將花費10到30秒時間。這期間在主數據庫上的操作將會失敗--包括寫入和強一致性讀取(strong consistent read)操作。然而,你還能在第二數據庫上執行最終一致性查詢(eventually consistent query)(在slaveOk模式下),即使在這段時間里。

17. 什么是master或primary?

它是當前備份集群(replica set)中負責處理所有寫入操作的主要節點/成員。在一個備份集群中,當失效備援(failover)事件發生時,一個另外的成員會變成primary。

18. 什么是secondary或slave?

Seconday從當前的primary上復制相應的操作。它是通過跟蹤復制oplog(local.oplog.rs)做到的。

19. 我必須調用getLastError來確保寫操作生效了么?

不用。不管你有沒有調用getLastError(又叫"Safe Mode")服務器做的操作都一樣。調用getLastError只是為了確認寫操作成功提交了。當然,你經常想得到確認,但是寫操作的安全性和是否生效不是由這個決定的。

20. 我應該啟動一個集群分片(sharded)還是一個非集群分片的 MongoDB 環境?

為開發便捷起見,我們建議以非集群分片(unsharded)方式開始一個 MongoDB 環境,除非一臺服務器不足以存放你的初始數據集。從非集群分片升級到集群分片(sharding)是無縫的,所以在你的數據集還不是很大的時候沒必要考慮集群分片(sharding)。

21. 分片(sharding)和復制(replication)是怎樣工作的?

每一個分片(shard)是一個分區數據的邏輯集合。分片可能由單一服務器或者集群組成,我們推薦為每一個分片(shard)使用集群。

22. 數據在什么時候才會擴展到多個分片(shard)里?

MongoDB 分片是基于區域(range)的。所以一個集合(collection)中的所有的對象都被存放到一個塊(chunk)中。只有當存在多余一個塊的時候,才會有多個分片獲取數據的選項。現在,每個默認塊的大小是 64Mb,所以你需要至少 64 Mb 空間才可以實施一個遷移。

23. 當我試圖更新一個正在被遷移的塊(chunk)上的文檔時會發生什么?

更新操作會立即發生在舊的分片(shard)上,然后更改才會在所有權轉移(ownership transfers)前復制到新的分片上。

24. 如果在一個分片(shard)停止或者很慢的時候,我發起一個查詢會怎樣?

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

25. 我可以把moveChunk目錄里的舊文件刪除嗎?

沒問題,這些文件是在分片(shard)進行均衡操作(balancing)的時候產生的臨時文件。一旦這些操作已經完成,相關的臨時文件也應該被刪除掉。但目前清理工作是需要手動的,所以請小心地考慮再釋放這些文件的空間。

26. 我怎么查看 Mongo 正在使用的鏈接?

db._adminCommand("connPoolStats");

27. 如果塊移動操作(moveChunk)失敗了,我需要手動清除部分轉移的文檔嗎?

不需要,移動操作是一致(consistent)并且是確定性的(deterministic);一次失敗后,移動操作會不斷重試;當完成后,數據只會出現在新的分片里(shard)。

28. 如果我在使用復制技術(replication),可以一部分使用日志(journaling)而其他部分則不使用嗎?

可以。

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

更新操作會立即發生在舊的塊(Chunk)上,然后更改才會在所有權轉移前復制到新的分片上。

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

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

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

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

32. MongoDB支持存儲過程嗎?如果支持的話,怎么用?

MongoDB支持存儲過程,它是javascript寫的,保存在db.system.js表中。

33.如何理解MongoDB中的GridFS機制,MongoDB為何使用GridFS來存儲文件?

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

更多關于MongoDB經典面試題請查看下面的相關鏈接

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩精品中文字幕| 日本国产一区二区三区| 日韩福利伦理影院免费| 欧洲永久精品大片ww免费漫画| www高清在线视频日韩欧美| 午夜精品久久久久久久男人的天堂| 欧美第一黄网免费网站| 伊人久久男人天堂| 中文国产亚洲喷潮| 国产精品丝袜白浆摸在线| 亚洲精品丝袜日韩| 亚洲国产欧美一区二区三区久久| 亚洲成人精品视频| 欧美在线观看一区二区三区| 中文字幕日韩电影| 日韩电影视频免费| 国产丝袜一区视频在线观看| 911国产网站尤物在线观看| 成人性生交xxxxx网站| 日韩黄色高清视频| 日韩欧美高清在线视频| 亚洲视频精品在线| 欧美一二三视频| 一区二区三区日韩在线| 欧美精品久久久久| 亚洲国产欧美日韩精品| 精品露脸国产偷人在视频| 深夜福利日韩在线看| 亚洲欧洲在线播放| 久久久亚洲影院| 亚洲专区中文字幕| 国产精品女人网站| 欧美精品做受xxx性少妇| 日韩美女中文字幕| 久久精品免费播放| 欧美一区深夜视频| 最近2019免费中文字幕视频三| 国产精品日韩一区| 2019中文在线观看| 亚洲精品www久久久| 精品小视频在线| 日韩欧美成人免费视频| 国产亚洲一区二区精品| 精品女同一区二区三区在线播放| 超在线视频97| 国产97在线视频| 亚洲精品xxxx| 国产日韩欧美一二三区| 国产精品电影网站| 91久久精品美女高潮| 久色乳综合思思在线视频| 久久精品在线播放| 亚洲人线精品午夜| 国产美女高潮久久白浆| 国产精品久久久久久中文字| 亚洲精品久久久久中文字幕欢迎你| 成人a免费视频| 欧美成人免费全部观看天天性色| 久久精品精品电影网| 中文字幕亚洲欧美日韩在线不卡| 欧洲永久精品大片ww免费漫画| 欧美激情精品久久久久久免费印度| 精品久久久久久久久久久| 日韩在线视频中文字幕| 91国语精品自产拍在线观看性色| 久久久精品国产| 国产91免费观看| 欧美精品18videosex性欧美| 久久精品91久久香蕉加勒比| 久久久人成影片一区二区三区观看| 亚洲色图第三页| 91麻豆桃色免费看| 久久资源免费视频| 国产婷婷成人久久av免费高清| 日本久久久久久| 国产一区二区三区视频免费| 久热在线中文字幕色999舞| 这里只有精品在线播放| 97福利一区二区| 欧美午夜激情视频| 久久亚洲欧美日韩精品专区| 国产在线精品播放| 91久久精品国产91久久性色| 欧美激情一区二区三区高清视频| 国产欧美一区二区三区久久人妖| 久久黄色av网站| 成人中文字幕在线观看| 国产精品7m视频| 在线视频中文亚洲| 国产精品久久99久久| 欧美尺度大的性做爰视频| 欧美高清在线播放| 日韩av在线精品| 欧美日韩一区二区免费视频| 午夜精品视频在线| 亚洲精品国产精品国自产在线| 精品成人国产在线观看男人呻吟| 成人黄色免费片| 亚洲激情视频在线观看| 国产精品久久久久不卡| 国产精品亚洲精品| 国产日韩欧美黄色| 国产91精品久久久久久| 9.1国产丝袜在线观看| 这里只有精品视频| 久久免费福利视频| 久久精品亚洲一区| 欧美日韩国产综合视频在线观看中文| 69久久夜色精品国产69乱青草| 国产免费一区二区三区在线能观看| 亚洲黄在线观看| 国产在线观看不卡| 国产美女精品视频免费观看| 91在线视频导航| 久久久国产一区二区三区| 97视频在线观看网址| 欧美性感美女h网站在线观看免费| 国产色视频一区| 国产日韩在线一区| 亚洲国产美女精品久久久久∴| 色妞久久福利网| 日本高清视频精品| 成人网欧美在线视频| 国产精品视频网| 91久久精品在线| 国产精品ⅴa在线观看h| 亚洲欧洲日产国码av系列天堂| 日韩在线观看免费全| 国产在线日韩在线| 亚洲精品久久久久久久久| 亚洲美女在线视频| 久久九九全国免费精品观看| 久久精品视频中文字幕| 国产精品999999| 精品一区二区三区四区| 91免费福利视频| 91视频8mav| 91在线观看免费| 日韩在线观看电影| 在线播放亚洲激情| 俺去亚洲欧洲欧美日韩| 日韩有码在线电影| 欧美精品在线视频观看| 91在线免费观看网站| 中文字幕欧美日韩va免费视频| 精品国产成人av| 日韩av在线免费播放| 国产丝袜一区二区三区| 91在线视频精品| 国产精品久久久久久亚洲调教| 国产精品午夜视频| 日韩精品在线播放| 国产精品久久久久久久9999| 中文字幕国产精品久久| 日韩欧美在线免费观看| 亚洲激情自拍图| 亚洲精品www久久久| 亚洲激情在线观看| 欧美高清视频一区二区| 91在线国产电影| 高清在线视频日韩欧美| 亚洲精品影视在线观看| 伊人久久久久久久久久久久久| 久久久www成人免费精品张筱雨|