# Mongodb 简略

# Mysql

  • 以表格形式存储数据
  • 关系型数据库
  • SQL 操作
  • 是一个硬盘数据库
  • 类似于 excel 表格

# Redis

  • key-value 形式存储数据
  • 非关系型数据库
  • NoSQL
  • 是一个内存型数据库

# Mongodb

  • 以文档形式存储数据
  • 非关系型数据库
  • NoSQL
  • 是一个硬盘数据库
  • 类似与 word 文档

# mongodb 与 mysql 的结合

假设一个爬虫的的内容存储,关于爬取的网页信息列表及各种关键字信息,可以存储在mysql中。

但是爬取到的网页内容是不规整的或者说是千奇百怪的,这种内容形式的存储即可存储在mongodb中。

两者结合的关系如下: An image

# 再说 Mongodb

# 数据库

  • Mongodb 可以成为数据库系统或称为数据库服务,它是一个服务层级的,不是功能层级的。

  • 一个数据库系统,可以对接很多个服务,类似与一个服务商可以对接多个客户。

  • 每个服务,就对接一个(或多个)数据库。

三个概念的形式大概如下:

An image

我们以 mongodb 来说,一个电脑只会安装一个 mongodb server 端,也就是只会有一个 mongodb 的数据库系统。

但是,我们可以有多个 web server,他们都对应于这一个 数据库系统

同时,这个数据库系统里面又可以有很多个数据库,一个web server 基本是对应一个数据库,特殊情况也可以对应多个。

这一个 mongodb 的第一个层级展示,一个数据库系统首先会分出很多个数据库。

# 集合 collection

数据库是一个服务(业务)的数据容器,一个服务(业务)的数据,要进行分类管理。于是就产生了集合。

# 文档 document

集合下面又会有很多的数据形式,这就是集合。

# bson

首先是 json,它比较常见,是一种字符串类型的数据格式。

mongodb 的存储,每个文档都是一种 类似 json 的格式,但不是 json,它是 bson

TIP

BSON = Binary JSON 是一种二进制类型的 JSON

# NoSQL

区别关系型数据库,如Mysql,它需要执行 sql 语句。而 mongodb 不需要 sql 语句,就是 NoSQL