MongoDB面试题

《林老师带你学编程》知识星球是由多个工作10年以上的一线大厂开发人员联合创建,希望通过我们的分享,帮助大家少走弯路,可以在技术的领域不断突破和发展。

🔥 具体的加入方式:

1. 你说的 NoSQL 数据库是什么意思?NoSQL 与 RDBMS 直接有什么区别?为什么要使用和不使用 NoSQL 数据库?说一说 NoSQL 数据库的几个优点?

NoSQL 是非关系型数据库,NoSQL = Not Only SQL。

关系型数据库采用的结构化的数据,NoSQL 采用的是键值对的方式存储数据。

在处理非结构化/半结构化的大数据时;在水平方向上进行扩展时;随时应对动态增加的数据项时可以优 先考虑使用 NoSQL 数据库。

在考虑数据库的成熟度;支持;分析和商业智能;管理及专业性等问题时,应优先考虑关系型数据库。

2. NoSQL 数据库有哪些类型?

NoSQL 数据库的类型

例如:MongoDB, Cassandra, CouchDB, Hypertable, Redis, Riak, Neo4j, HBASE, Couchbase, MemcacheDB, RevenDB and Voldemort are the examples of NoSQL databases.详细阅读

3. MySQL 与 MongoDB 之间最基本的差别是什么?

MySQL 和 MongoDB 两者都是免费开源的数据库。  MySQL 和 MongoDB 有许多基本差别包括数据的表 示(data representation),查询,关系,事务,schema 的设计和定义,标准化(normalization),速度    和性能。

通过比较 MySQL 和 MongoDB ,实际上我们是在比较关系型和非关系型数据库,即数据存储结构不同。

详细阅读

4. 你怎么比较 MongoDB、CouchDB 及 CouchBase?

MongoDB 和 CouchDB 都是面向文档的数据库。  MongoDB 和 CouchDB 都是开源 NoSQL 数据库的最 典型代表。    除了都以文档形式存储外它们没有其他的共同点。   MongoDB 和 CouchDB 在数据模型实

现、接口、对象存储以及复制方法等方面有很多不同。

细节可以参见下面的链接:

MongDB vs CouchDB

CouchDB vs CouchBase

5. MongoDB 成为最好 NoSQL 数据库的原因是什么?

以下特点使得 MongoDB 成为最好的 NoSQL 数据库:

.     面向文件的

.     高性能

.     高可用性

.     易扩展性

.     丰富的查询语言

6.32 位系统上有什么细微差别?

journaling 会激活额外的内存映射文件。这将进一步抑制 32 位版本上的数据库大小。因此,现在 journaling 在 32 位系统上默认是禁用的。

7. journal 回放在条目(entry)不完整时(比如恰巧有一个中途故障了)会遇到问题吗?

每个 journal (group)的写操作都是一致的,除非它是完整的否则在恢复过程中它不会回放。

8. 分析器在 MongoDB 中的作用是什么?

MongoDB 中包括了一个可以显示数据库中每个操作性能特点的数据库分析器。通过这个分析器你可以找 到比预期慢的查询(或写操作);利用这一信息,比如,可以确定是否需要添加索引。

9. 名字空间(namespace)是什么?

MongoDB 存储 BSON 对象在丛集(collection)中。数据库名字和丛集名字以句点连结起来叫做名字空间 (namespace)。

10. 如果用户移除对象的属性,该属性是否从存储层中删除?

是的,用户移除属性然后对象会重新保存(re-save())。

11. 能否使用日志特征进行安全备份?

是的。

12. 允许空值 null 吗?

查看更多