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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/madongyu1259892936/article/details/85290571

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 术语/概念 解释/说明
Database Database 数据库
Table Collection 数据库表/集合
Row Document 数据记录行/文档
Column Field 数据列/数据字段
Index Index 索引
Table joins   表关联/MongoDB 不支持
Primary Key Object 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)元素的最低
值和最高值相对比。
 

猜你喜欢

转载自blog.csdn.net/madongyu1259892936/article/details/85290571