MongoDB,是一个开源文档数据库,C++语言编写,非关系型数据库。特点:高性能、高可用、自动扩展(可伸缩),易部署、易使用高可用性体现在对副本集Replication(自动故障转移和数据冗余服务)的支持上,可伸缩性体现在分片集群部署方式上。优点:与HBase相比,MongoDB可以存储具有更加复杂的数据结构的数据,具有很强的数据描述能力。缺点:没有类似于SQL的操作语言,语法规则相对比较复杂。文档数据库,常用于管理文档,尤其擅长处理各种非结构化的文档数据。建立在文档数据模型的基础上。与传统数据库均建立在对磁盘读写的基础上,实现对数据的各种操作。1.MongoDB语句练习1)编写相关语句在集合中插入2条数据{“name”:”tom”,”age”:23,“phone”:1597238461},{“name”:”jerry”,”age”:15,“phone”:1397545412},集合名字为:mycoll。2)把name为“tom”的数据查询出来。3)把name为“tom”的数据删除。4)把name为“tom”的年龄age更新为20。2.MongoDB有哪三种集群部署模式?①主从模式(Master-Slaver)主从模式目前已经不推荐使用,ReplicaSet模式取代了Master-Slaver模式,是一种互为主从的关系。②副本集(ReplicaSet)ReplicaSet将数据复制多份保存,不同的服务器保存同一份数据,在出现故障的时候自动切换,实现故障转移,在实际生产中非常实用。③分片模式(Sharding)适合处理大量数据,它将数据分开存储,不同的服务器保存不同的数据,所有服务器数据的总和即为整个数据集。Sharding模式追求的是高性能,而且是三种集群模式中最复杂的。在实际的生产环境中,通常将ReplicaSet和Sharding两种技术结合使用。3.MongoDB数据库的应用场景有哪些?①网站实时数据处理。它非常适合实时的插入、更新与查询,并具备网站实时数据存储所需的复制及高伸缩性。②缓存。由于具有高性能的特性,它适合作为信息基础设置的缓存层。在系统重启后,由它搭建的持久化缓存层可以避免下层的数据源过载。③高伸缩性的场景。非常适合数十或数百台服务器组成的数据库。④海量数据的存储⑤用于对象及JSON数据的存储不适合的场景:高度事务性系统、传统的商业智能应用、复杂的跨文档级联查询。4.MongoDB中如何批量更新数据?5.内存数据库的响应速度为什么比较快?内存数据库主要是把磁盘的数据加载到内存中进行应用操作,改变了磁盘数据管理的传统方式。6.在MongoDB中查看数据库列表的命令是?7.在MongoDB中查看所有集合的命令为?8.编写代码操作数据库,IP地址为:11.11.0.1,端口号为27017,数据库名字为mydb,集合名字为data,请用熟悉的编程语言在集合中插入一条数据:{“name”:”apple”,’price’:2.5,address:”HK”}。9.MongoDB更新集合中的文档方式是?10.构建一个MongoDB的分片集群,需要哪些组件?11.MongoDB提供执行的聚合方法是?12.NoSQL数据库的特点是什么?13.分布式系统中CAP理论指的是?CAP理论是指在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(PartitionTolerance)三者不可兼得。一致性:更新操作成功后,所有节点在同一时间的数据完全一致。可用性:用户访问数据时,系统是否能在正常响应时间返回结果。分区容错性:分布式系统在遇到某个节点或网络分区故障的时候,仍然能够对外提供满足一致性和可用性的服务。14.MongoDB数据库集合中插入多条数据的方法有哪些?15.MongoDB创建集合的方式有?16.MongoDB有什么特点?17.MongoDB中文档、集合、数据库三者之间的关系是什么?18.内存数据库的应用场景有哪些?内存数据库最大的特点是其应用数据常驻内存中,即活动事务只与内存数据库的内存进行数据交流。常见的内存数据库有Memcached、Redis、SQLite、MicrosoftSQLServerCompact等19.如何使用游标遍历输出数据?20.文档数据库的存储结构层次是?