mongodb 面試題總結
1 nosql和關係型數據庫的區別
2 nosql數據庫有哪些
redis mongodb hbase
3 MySQL與mongodb本質之間最基本的差異是什麼
差異在多方面 例如 數據的表示,查詢 關係 事務 模式的設計和定義 速度和性能
4. 你怎麼比較MongoDB、CouchDB及CouchBase?
不知道
5 使用mongodb的優勢
面向文件
高性能
高可用
易擴展
可分片
對數據存儲友好
8. 分析器在MongoDB中的做用是什麼?
分析器就是explain 顯示每次操做性能特色的數據庫分析器。經過分析器可能查找比預期慢的操做
9名字空間(namespace)是什麼?
在collection中,數據庫名+集合名叫作名字空間。也就是一個集合的完整名
10. 若是用戶移除對象的屬性,該屬性是否從存儲層中刪除?
是的,用戶移除屬性而後對象會從新保存(re-save())。
11. 可否使用日誌特徵進行安全備份?
是的。
13. 更新操做馬上fsync到磁盤?
通常磁盤的寫操做都是延遲執行的
14如何執行事務/加鎖?
由於mongodb設計就是輕量高性能,因此沒有傳統的鎖和複雜的事務的回滾
15爲何mongodb的數據文件那麼龐大
mongodb會積極的預分配預留空間,防止文件系統碎片
17. 什麼是master或primary?
當前備份集羣負責全部的寫入操做的主要節點,在集羣中,當主節點(master)失效,另外一個成員會變爲master
18 getLastError的做用
調用getLastError 能夠確認當前的寫操做是否成功的提交
19. 分片(sharding)和複製(replication)是怎樣工做的?
分片多是單一的服務器或者集羣組成,推薦使用集羣
20. 數據在何時纔會擴展到多個分片(shard)裏?
mongodb分片是基於區域的,因此一個集合的全部對象都放置在同一個塊中,只有當存在多餘一個塊的時候,纔會有多個分片獲取數據的選項
21. 當我試圖更新一個正在被遷移的塊(chunk)上的文檔時會發生什麼?
會當即更新舊的分片,而後更改纔會在全部權轉移前複製到新的分片上
22. 我怎麼查看 Mongo 正在使用的連接?
db._adminCommand("connPoolStats");
23mongodb的結構介紹
數據庫中存儲的對象設計bson,一種相似json的二進制文件,由鍵值對組成
24 數據庫的總體結構
鍵值對–》文檔–》集合–》數據庫