MongoDB总结

MongoDB

mongoDB是一个开源的,基于分布式的,面向文档存储的非关系型数据库。是非关系型数据库中功能最丰富,最小关系型数据库

MongoDB由C++编写,其名字来源于"humongous"这个单词,其宗旨在于处理大量数据。
MongoDB支持的数据结构非常松散,是json的格式,通过键值对的形式存储数据,可以存储复杂的数据类型。

MongoDB支持的数据类型有:null,boolean,String,objectId,32位整数,64位整数,64位浮点数,日期,正则表达式,js代码,二进制数据,数组,内嵌文档,最大值,最小值未定义类型。在mongoDB中的表现形式为{key1:value1,key2:value2}。

MongoDB最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系型数据库单边查询的绝大部分功能,而且还支持对数据建立索引。

MongoDB的特性

  1. 面向集合存储。数据被分组到若干集合,每个集合可以包含无限个文档,可以将集合想象成RDBMS的表,区别是集合不需要进行模式定义。
  2. 模式自由。集合中没有行和列的概念,每个文档可以有不同的key,key值不要求一致的数据类型
  3. 支持动态查询。mongoDB支持丰富的查询表达式,查询指令使用json形式表达式;
  4. 完整的索引支持。mongoDB的查询优化器会分析查询表达式,并生成一个高效的查询计划;
  5. 高效的数据存储,支持二进制数据及大型对象(图片,视频等)。
  6. 支持复制和故障恢复;
  7. 自动分片以支持云级别的伸缩性,支持水平的数据库集群,可动态添加额外的服务器

Mysql和MongoDB之间最基本的差别是什么?

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

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

  • 面向文件
  • 高性能
  • 高可用性
  • 易扩展性
  • 丰富的查询语言

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

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

名字空间(namespace)是什么?

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

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

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

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

是的

允许空值null吗?

对于对象成员而言,是的。然而用户不能够添加空值(null)到数据库丛集(collection)因为空值不是对象。然而用户能够添加空对象{}。

如何执行事务/加锁?

MongoDB没有传统的锁或者复杂的带回滚的事务,因为它设计的宗旨是轻量,快速以及可预计的高性能。可以把它类比成MySQL MyISAM的自动提交模式。通过精简对事务的支持,性能得到了提升,特别是在一个可能会穿过多个服务器的系统里

我可以把moveChunk目录里的旧文件删除吗?

没问题,这些文件是在分片(shard)进行均衡操作(balancing)的时候产生的临时文件。一旦这些操作已经完成,相关的临时文件也应该被删除掉。但目前清理工作是需要手动的,所以请小心地考虑再释放这些文件的空间。

MongoDB支持存储过程吗》如果支持的话,怎么用?

MongoDB支持存储过程,它是JavaScript写的,保存在db.system.js表中。

如何理解MongoDB中的GridFS机制,MongoDB为何使用GridFS来存储文件?

GridFS是一种将大型文件存储在MongoDB中的文件规范。使用GridFS可以将大文件分隔成多个小文档存放,这样我们能够有效的保存大文档,而且解决了BSON对象有限制的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值