空壳网站数据,微信公众平台视频网站开发,亦庄网站建设,建动画网站需要多少钱1. MongoDB 是什么#xff1f; 
MongoDB是由C语言编写的#xff0c;是一个基于分布式文件存储的开源数据库系统。再高负载的情况下#xff0c;添加更多的节点#xff0c;可以保证服务器性能。MongoDB旨在给Web应用提供可扩展的高性能数据存储解决方案。 
MongoDB将数据存储…1. MongoDB 是什么 
MongoDB是由C语言编写的是一个基于分布式文件存储的开源数据库系统。再高负载的情况下添加更多的节点可以保证服务器性能。MongoDB旨在给Web应用提供可扩展的高性能数据存储解决方案。 
MongoDB将数据存储为一个文档数据结构由键值keyvalue对组成。MongoDB文档类似于JSON对象。字段值可以包含其他文档数组及文档数组。 2. MongoDB 有哪些特点 
MongoDB是一个面向文档存储的数据库操作起来比较简单和容易。 
你可以在MongoDB记录中设置任何属性的索引如FirstNameSameerAddress8 Gandhi Road来实现更快的排序。 
你可以通过本地或者网络创建数据镜像这使得MongoDB有更强的扩展性。 
如果负载的增加需要更多的存储空间和更强的处理能力它可以分布在计算机网络中的其他节点上这就是所谓的分片。 
MongoDB支持丰富的查询表达式。查询指令使用JSON形式的标记可轻易查询文档中内嵌的对象及数组。 
MongoDB使用update()命令可以实现替换完成的文档数据或者一些指定的数据字段。 
MongoDB中的Map/Reduce主要是用来对数据进行批量处理和聚合操作。 
Map和Reduce。Map函数调用emit(key,value)遍历集合中所有的记录将key与value传给Reduce函数进行处理。 
Map函数和Reduce函数是使用Javascript编写的并可以通过db.runCommand或mapreduce命令来执行MapReduce操作。 
GridFS是MongoDB中的一个内置功能可以用于存放大量小文件。 
MongoDB允许在服务端执行脚本可以用JavaScript编写某个函数直接在服务端执行也可以把函数的定义存储在服务端下次直接调用即可。 3. 什么是非关系型数据库 
NoSQL是非关系型数据库NoSQL  Not Only SQL。 
关系型数据库采用的结构化的数据NoSQL采用的是键值对的方式存储数据。 
非关系型数据库的显著特点是不使用SQL作为查询语言数据存储不需要特定的表格模式。 4. 常见的 NoSQL 数据库都有哪些 
常见的NoSQL数据库包括MongoDB、Cassandra、CouchDB、Hypertable、Redis、Riak、HBASE、Memcache等。 5. 非关系型数据库有哪些类型 -Key-Value 存储egAmazon S3  图表egNeo4J  文档存储egMongoDB  基于列存储egCassandra  
6. MongoDB 和 CouchDB 有什么区别 
MongoDB和CouchDB都是面向文档的数据库。 
MongoDB和CouchDB都是开源NoSQL数据库的最典型代表。除了都以文档形式存储外它们没有其他的共同点。 
MongoDB和CouchDB在数据模型实现、接口、对象存储以及复制方法等方面有很多不同。 7. MongoDB 中什么是集合 
集合就是一组MongoDB文档。它相当于关系型数据库RDBMS中的表这种概念。集合位于单独的一个数据库中。一个集合内的多个文档可以有多个不同的字段。一般来说集合中的文档都有着相同或相关的目的。 8. MongoDB 中 namespace 是什么 
MongoDB存储BSON对象在丛集collection中。数据库名字和丛集名字以句点连结起来叫做namespace。 9. 如果移除对象属性该属性是否从存储层中删除 
如果用户移除对象的属性该属性会从存储层中删除。 
用户移除对象的属性之后对象会重新保存使用re-save()方法。 10. MongoDB 中能否使用日志特征进行安全备份 
MongoDB可以使用日志特征进行安全备份。 11. MongoDB 中允许空值 null 存在吗 
对于对象成员而言是的。然而用户不能够添加空值null到数据库丛集collection因为空值不是对象然而用户能够添加空对象{}。 12. MongoDB 中更新操作立刻 fsync 到磁盘吗 
更新操作不会立刻fsync到磁盘磁盘写操作默认是延迟执行的。 
写操作可能在两三秒默认在60秒内后到达磁盘。例如如果一秒内数据库收到一千个对一个对象递增的操作仅刷新磁盘一次。 
注意fsync选项在命令行和经过getLastError_old是有效的。 13. 为什么 MongoDB 数据文件体积会很大 
MongoDB采用的预分配空间的方式是为了防止文件系统碎片。 14. MongoDB 中启用备份故障恢复需要多久 
从备份数据库声明主数据库宕机到选出一个备份数据库作为新的主数据库将花费10到30秒时间。 
这期间在主数据库上的操作将会失败包括写入和强一致性读取strong consistent read操作。 
注意的是在slaveOk模式下第二数据库上可以执行最终一致性查询eventually consistent query。 15. MongoDB 中支持事务加锁吗 
MongoDB没有使用传统的锁或者复杂的带回滚的事务因为它设计的宗旨是轻量快速以及可预计的高性能。可以把它类比成MySQL MylSAM的自动提交模式。通过精简对事务的支持性能得到了提升特别是在一个可能会穿过多个服务器的系统中。 
MongoDB 4.0中不提供事务支持。若要获得类似的结果请使用findOneDupdate()。 16. MongoDB 中什么是副本集 
MongoDB中副本集由一组MongoDB实例组成包括一个主节点多个次节点MongoDB客户端的所有数据都写入主节点Primary副节点从主节点同步写入数据以保持所有复制集内存储相同的数据提高数据可用性。 17. MongoDB 中什么是聚合 
聚合操作能够处理数据记录并返回计算结果。聚合操作能将多个文档中的值组合起来对成组数据执行各种操作返回单一的结果。它相当于SQL中的count(*)组合group by。 
对于MongoDB中的聚合操作应该使用aggregate()方法。 
db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION) 18. MongoDB 中如何实现排序 
MongoDB中的文档排序是通过sort()方法来实现的。sort()方法可以通过一些参数来指定要进行排序的字段并使用1和-1来指定排序方式其中1表示升序而-1表示降序。 
db.connectionName.find({key:value}).sort({columnName:1}) 19. MongoDB 中什么是 master 或 primary 
MongoDB中primarymaster是当前备份集群replica set中负责处理所有写入操作的主要节点/成员。在一个备份集群中当失效备援failover事件发生时一个另外的成员会变成primarymaster。 
注 
Primary和Secondary是对于IDE通道而言的前者是首要的后者是次要的。 
Master和Slave是相对于同一个IDE通道中的顺序而言的前者是主盘后者是从盘。 20. MongoDB 中什么是 secondary 或 slave 
MongoDB 中SecondaySlave从当前的primary上复制相应的操作。它是通过跟踪复制oplog(local.oplog.rsopen in new window)来实现的。 
注 
Primary和Secondary是对于IDE通道而言的前者是首要的后者是次要的。 
Master和Slave是相对于同一个IDE通道中的顺序而言的前者是主盘后者是从盘。