MongoDB 面试题

2022-10-24T11:11:00

1、ObjectID 有哪些部分组成
一共有四部分组成:时间戳、客户端 ID、客户进程 ID、三个字节的增量计数
器。
2、当我试图更新一个正在被迁移的块(chunk)上的文档时会发生什么?
更新操作会立即发生在旧的分片(shard)上,然后更改才会在所有权转移(ownership transfers)前复制到新的分片上。
3、为什么要在 MongoDB 中使用分析器
MongoDB 中包括了一个可以显示数据库中每个操作性能特点的数据库分析器。通过这个分析器你可以找到比预期慢的查询(或写操作);利用这一信息,比如,可以确定是否需要添加索引。
4、解释一下 MongoDB 中的索引是什么?
索引是 MongoDB 中的特殊结构,它以易于遍历的形式存储一小部分数据集。索引按索引中指定的字段的值排序,存储特定字段或一组字段的值。
5、什么是集合(表)
集合就是一组 MongoDB 文档。它相当于关系型数据库(RDBMS)中的表这种概念。集合位于单独的一个数据库中。一个集合内的多个文档可以有多个不同的字段。一般来说,集合中的文档都有着相同或相关的目的。
6、提到如何检查函数的源代码?
要检查没有任何括号的函数源代码,必须调用该函数。
7、什么是 NoSQL 数据库?NoSQL 和 RDBMS 有什么区别?在哪些情况下使用和不使用 NoSQL 数据库?
NoSQL 是非关系型数据库,NoSQL = Not Only SQL。
关系型数据库采用的结构化的数据,NoSQL 采用的是键值对的方式存储数据。
在处理非结构化/半结构化的大数据时;在水平方向上进行扩展时,随时应对动态增加的数据项时可以优先考虑。
使用 NoSQL 数据库。 在考虑数据库的成熟度;支持;分析和商业智能;管理及专业性等问题时,应优先考虑关系型数据库。
8、提及插入文档的命令语法是什么?
用于插入文档的命令语法是 database.collection.insert(文档)。
9、如果在一个分片(shard)停止或者很慢的时候,我发起一个查询会怎样?
如果一个分片(shard)停止了,除非查询设置了“partial”选项,否则查询会返回一个错误。如果一个分片(shard)响应很慢,MongoDB 则会等待它的响应。
10、如何执行事务/加锁?
因为 MongoDB 设计就是轻量高性能,所以没有传统的锁和复杂的事务的回。

当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »