Mongodb

Mongodb

  • 简介

NoSQL 的概念:指的是非关系型数据库。 NOT only sql 的缩写。特别适用于大规模

的数据存储。例如:谷歌或者facebook 每天为用户收集亿万级别的数据,这些数据类型不需要固定的格式,无需多余的操作就可以进行横向扩展。

     什么是mongodb?

     是C++语言开发,性能比较好,可以为web应用提供扩展的高性能数据存储解决方案。Mongodb将数据存储为一个文档,数据结构由键值(key è value)对组成,文档类似于 json对象,并且字段值可以包含其它文档,即文档可以进行嵌套,还可以是数组,文档数组等等。

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

    {“name”:”joho”,”age”:18,”address”:{“country”:”china”,”zip-code”:”10000”}}

Mongodb 是一个介于关系型数据库和非关系型数据之间的产品,是一个最像关系型数据库的非关系型数据库产品。它支持的数据类型非常的松散,多元。存储格式类似json格式,叫bson(二进制Json),因此支持存储的数据更丰富和复杂。

{name:”sue”,

AGE:26,

Status:”A”,

Groups:[“new”,”sports”]

}

MongoDB最大的特点是支持的查询语言非常强大,语法有点类似面向对象的查询语句,几乎可以实现关系型数据库绝大多数功能,并且支持索引。

缺点:不支持连表查询,不支持事务存储过程,不适用于数据间关系比较复杂的数据,一般都是当做数据仓库来使用。

例如:适用于:日志系统,股票数据系统等等

       不适用于:电子商务平台,物流系统等等,数据关系复杂的系统。

Mongodb 和 mysql 性能进行比较

前提:分别插入 100万条数据记录,并对其中100个用户并发查询

  • Mongodb 概念解析

在mongodb 中基本概念有: 文档 、 集合 、数据库、数据体系

  1. 文档

文档是mongodb 中最基本的单元,类似于关系型数据库中的行(数据记录),多个键

值对有序的放置在一起的便是一个文档。

Mongodb 中以文档的存储方式记录数据,如一条记录格式如下:

{“username”:”shasha”,”age”:18,”email”:”[email protected]”,’sex’:’男’}

{“username”:”shasha2”,”age”:”18”}

{“username”:”shasha22”}

{name:”sue”,AGE:26,Status:”A”,Groups:[“new”,”sports”]}

注意:1)以上是几个不同的文档,mongodb 是区分大小写的数据类型,第一个文档中18表示数字类型,第二个文档中 age 是字符串类型。

     2)每个文档尺寸不能超过16M

     3)文档中键/值 对是有序的,值不仅可以在双引号里面的字符串,还可以是其他数据类型,或者是嵌套一个完整的文档。

     4)一个文档中不能有重复的键。

2、集合

    集合就是一组文档,多个文档组成一个集合,集合类似于mysql里面的表。集合是无模式的,是指在同一个集合中可以包含不同格式的文档,如:

{“username”:”shasha”,”age”:18,”email”:”[email protected]”,’sex’:’男’}

{“username”:”shasha22”}

 {“name”:”joho”,”age”:18,”address”:{“country”:”china”,”zip-code”:”10000”}}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值