Mongodb简介

Mongodb简介

1.定义

MongoDB是一个基于分布式文件存储 的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

2.重要概念

2.1文档

文档是MongoDB的核心概念,即多个键及其关联的值有序的放置在一起。类似于关系型数据库(如MySQL)的行。不同的语言对于文档的解释的表现形式有所不同,但有其共通的数据结构,如映射,散列及字典等。
文档的特点:

  1. 键值对有序。
    如:{“a” : 1, “b” : 2}与{“b” : 2,“a” : 1}是两个不同的文档。
  2. 文档的值可以是双引号里的字符串也可以是别的数据类型。
  3. MagonDB键值对区分大少写,也区分类型。
  4. 文档的键大多数情况下是字符串,少数情况下可以使用utf-8字符。
  5. 文档不允许出现重复的键。
    如:{“a” : 1, “a” : 2}
2.2集合

集合就是一组文档,类似于关系数据库中的表。
集合的特点:
1.无模式。即集合中的文档可以是各式各样的。
2.命名。可以通过名字来为集合做出标识。
3.子集合。可以使用“.”按照命名空间将集合划分为子集合。例如,对于一个博客系统,可能包括blog.user 和blog.article 两个子集合,这样划分只是让组织结构更好一些,blog 集合和blog.user、blog.article 没有任何关系。虽然子集合没有任何特殊的地方,但是使用子集合组织数据结构更清晰。

2.3 数据库

MongoDB 中多个文档组成集合,多个集合组成数据库。一个MongoDB 实例可以承载多个数据库。它们之间可以看作相互独立,每个数据库都有独立的权限控制。在磁盘上,不同的数据库存放在不同的文件中。
数据库之间可以通过名字来标识,注意:数据库名字与MySQL的索引类似,会保留在文件系统中。
MongoDB 自带的数据库:
● Admin 数据库:一个权限数据库,如果创建用户的时候将该用户添加到admin 数据库中,那么该用户就自动继承了所有数据库的权限。
● Local 数据库:这个数据库永远不会被复制,可以用来存储本地单台服务器的任意集合。
● Config 数据库:当MongoDB 使用分片模式时,config 数据库在内部使用,用于保存分片的信息。

3.主要特点

高性能、易部署、易使用,存储数据非常方便。
*面向集合存储,易存储对象类型的数据。
*模式自由。
*支持动态查询。
*支持完全索引,包含内部对象。
*支持查询。
*支持复制和故障恢复。
*使用高效的二进制数据存储,包括大型对象(如视频等)。
*自动处理碎片,以支持云计算层次的扩展性。
*支持 Golang,RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
*文件存储格式为BSON(一种JSON的扩展)。
*可通过网络访问。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值