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