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 数据库的整体结构
键值对–》文档–》集合–》数据库