5. Mongodb 面试题

5.1.mongodb 与 mySQL 的区别

​ mySQL 是传统的关系型数据库,有数据库、表、记录三个层次组成,所用语句为传统的 SQL 语句,但是在海量数据处理时效率会有所下降。

​ mongodb 是文档型数据库,有数据库、集合、文档三个层次构成,数据具有自述性,呈现 树状数据结构,数据结构由键值对组成,适用于事件地记录、内容管理或博客平台等。

5.2.什么是集合

集合就是一组 MongoDB 文档。它相当于关系型数据库(RDBMS)中的表这种概念。集合 位于单独的一个数据库中。一个集合内的多个文档可以有多个不同的字段。一般来说,集合 中的文档都有着相同或相关的目的。

5.3.什么是文档

文档由一组 key value 组成。文档是动态模式,这意味着同一集合里的文档不需要有相同的字 段和结构。在关系型数据库中 table 中的每一条记录相当于 MongoDB 中的一个文档。

5.4.mongodb 整体结构

键值对–》文档–》集合–》数据库

5.5.在 MongoDB 中如何删除一个集合

MongoDB 利用 db.collection.drop()来删除数据库中的集合。

5.6.更新操作立刻 fsync 到磁盘?

不会,磁盘写操作默认是延迟执行的。写操作可能在两三秒(默认在 60 秒内)后到达磁盘。 例如,如果一秒内数据库收到一千个对一个对象递增的操作,仅刷新磁盘一次。

5.7.什么是 master\slave?

它是当前备份集群(replica set)中负责处理所有写入操作的主要节点/成员。在一个备份集群 中,当失效(failover)事件发生时,一个另外的成员会变成 master。

slave 从当前的 master 上复制相应的操作。它是通过跟踪复制 oplog(local.oplog.rs)做到的。

5.8.MongoDB 中的分片是什么意思

分片是将数据水平切分到不同的物理节点。当应用数据越来越大的时候,数据量也会越来越 大。当数据量增长时,单台机器有可能无法存储数据或可接受的读取写入吞吐量。利用分片 技术可以添加更多的机器来应对数据量增加以及读写操作的要求

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐