MongoDB面试题
1. NoSQL与RDBMS直接有什么区别?为什么要使用和不使用NoSQL数据库?说一说NoSQL数据库的几个优点?
NoSQL是非关系型数据库,NoSQL = Not Only SQL。
关系型数据库采用的结构化的数据,NoSQL采用的是键值对的方式存储数据。
在处理非结构化/半结构化的大数据时,在水平方向上进行扩展时,随时应对动态增加的数据项时可以优先考虑使用NoSQL数据库。
2. MongoDB的复制集是什么?并说说复制原理
MongoDB复制集(Mongodb replica sets )可以提高数据的冗余及增加高可用性。MongoDB通过复制将数据同步在多个服务器的过程,复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性, 并可以保证数据的安全性,复制还允许从硬件故障和服务中断中恢复数据。在MongoDB分片(sharding)中提供功能支持。
MongoDB复制原理:
mongodb的复制至少需要两个节点。其中一个是主节点,负责处理客户端请求,其余的都是从节点,负责复制主节点上的数据。
mongodb各个节点常见的搭配方式为:一主一从、一主多从。
主节点记录在其上的所有操作oplog,从节点定期轮询主节点获取这些操作,然后对自己的数据副本执行这些操作,从而保证从节点的数据与主节点一致。
MongoDB复制结构图如下所示:
以上结构图中,客户端从主节点读取数据,在客户端写入数据到主节点时, 主节点与从节点进行数据交互保障数据的一致性。
3. MongoDB的复制方式
1.Master-Salve(主从复制),MongoDB4.0之后就不支持主从复制了。
2. 副本集(replica sets)。
副本集相比较主从复制而言有2点区别:
Master-Salve(主从复制)
作者:syl_json
链接:https://www.imooc.com/article/285856
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作
1)该集群没有特定的主数据库。
2)如果哪个主数据库宕机了,集群中就会推选出一个从属数据库作为主数据库顶上,这就是自动故障恢复功能。
4. mongodb副本集的选举算法
mongodb副本集的选举机制采用bully算法(Elasticsearch选举也是这个算法),bully算法是一种相对简单的协调者竞选算法,mongodb用这个算法来选举副本集中的主节点。
MongoDB的复制
作者:syl_json
链接:https://www.imooc.com/article/285856
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作