mongodb基础(mongodb简介,基本数据类型,和关系型数据库的对比,NOSQL数据库的分类)

MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。在这里我们有必要先简单介绍一下非关系型数据库(NoSQL)。

NoSQL,指的是非关系型的数据库。NoSQL 有时也称作Not Only SQL 的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。NoSQL 用于超大规模数据的存储。(例如谷歌或Facebook 每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。

关系型数据库PK 非关系型数据库

关系型数据库Nosql数据库
高度组织化结构化数据代表着不仅仅是sql
结构化查询语言(sql)没有声明行查询语言
数据和关系都存储在单独的表中没有预定义的模式
数据操作语言,数据定义语言键-值对存储,列存储,文档存储,图形数据库
严格的一致性最终一致性,而非ACID属性
基础事物非结构化和不可预知的数据
 CAP定理
 高性能,高可用性和可伸缩性

 NoSQL数据库分类

类型典型代表特点
列存储

Hbase

Cassandra

Hypertable

顾名思义,是按照列存储数据的。最大的特点是方便存储结构化和半结构化的数据,方便做数据压缩,对针对谋一列或者某几列的查询有非常大的io优势
文档存储

MongoDB

CounchDB

文档存储一般用类似json的格式存储,存储的内容是文档型的。这样也就有机会对某些字段建立索引,实现关系数据库的某些功能。
Key-value 存储MongoDB
CounchDB
文档存储一般用类似json 的格
式存储,存储的内容是文档型的。
这样也就有机会对某些字段建立
索引,实现关系数据库的某些功
能。
图存储Neo4J
FlockDB
图形关系的最佳存储。使用传统
关系数据库来解决的话性能低
下,而且设计使用不方便。
对象存储Db4o
Versant
通过类似面向对象语言的语法操
作数据库,通过对象的方式存储
数据。
XML 数据库Berkeley DB XML
BaseX
高效的存储XML 数据,并存储XML
的内部查询语法, 比如
XQuery,Xpath。

MongoDB 的数据结构与关系型数据库数据结构对比

关系型数据库术语/概念MongoDB 术语/概念解释/说明
DatabaseDatabase数据库
TableCollection数据库表/集合
RowDocument数据记录行/文档
ColumnField数据列/数据字段
IndexIndex索引
Table joins 表关联/MongoDB 不支持
Primary KeyObject ID主键/MongoDB 自动将_id 设置为
主键

MongoDB 中的数据类型

数据类型说明解释举例
Null空值表示空值或者未定义的对象{“X”:null}
Boolean布尔值真或者假: true 或者
false
{“x”:true}
Integer整数整型数值。用于存储数
值。根据你所采用的服务
器,可分为32 位或64
位。
 
Double浮点数双精度浮点值。{“x”:3.14,”y”:
3}
String字符串UTF-8 字符串 
Symbol符号符号。该数据类型基本上
等同于字符串类型,但不
同的是,它一般用于采用
特殊符号类型的语言。
 
ObjectID对象ID对象ID。用于创建文档
的ID。
{“id”: ObjectId()}
Date日期日期时间。用UNIX 时
间格式来存储当前日期
或时间。
{“date”:new Date()}
Timestamp时间戳从标准纪元开始的毫秒
 
Regular正则表达式文档中可以包含正则表
达式,遵循JavaScript
的语法
{“foo”:/testdb/i}
Code代码可以包含JavaScript
代码
{“x”:function() {}}
Undefined未定义已废弃 
Array数组值的集合或者列表{“arr”: [“a”,”b”]}
Binary Data二进制用于存储二进制数据。 
Object内嵌文档文档可以作为文档中某个key的value“x”:{“foo”:”bar”}}
Min/Max keys最小/大值将一个值与BSON(二进
制的JSON)元素的最低
值和最高值相对比。
 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值