MongoDB 常见 18 道面试题及答案
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)停止或很慢的时候,发起一个查询会怎
样?
评论10
最新资源