mongoDB 数据库简介

背景概念-数据库类型

对比关系型数据库

优点 :

  • 逻辑清晰.容易理解,结构类似表格
  • 使用 sql 语句技术成熟,使用方便
  • 数据一致性好,完整性好
  • 关系型数据库比较成熟,可以使用一些复杂操作

缺点 :

  关键词: 慢 

  • 每次操作需要解析 sql 语句
  • 内部加锁,影响效率
  • 不能很好处理海量高并发需求
  • 读写能力差

非关系型数据库

NoSql ---> Not only sql 

常见数据库:

  • 键值型数据库: Redis(散列表)
  • 列存储数据库: HBase
  • 文档型数据库: MongoDB, CouchDB
  • 图形数据库: Graph

优点

  • 读写速度快,更好的应对处理需求
  • 灵活多样,容易扩展

缺点

  • 没有统一的语句操作
  • 技术成熟度较差,缺少复杂操作

使用场景

对数据格式一致性要求不严格
较强的扩展需要数据库做缓存时

MongoDB 数据库

特性

  • 非关系型数据库的文档型整理库
  • 开源数据库,使用广泛,更新较快
  • 由C++ 编写
  • 支持丰富的存储类型和数据操作
  • 有众多的编程语言提供接口
  • 方便扩展和部署,使用方便

安装

Liunx :

sudo apt-get install mongodb

windows :

www.mangodb.com ----> try free ---> Server ---> 选版本下载

Mac OS :

brew install mongodb

安装目录

linux :

自动安装位置 : /var/lib/mangodb
配置文件: /etc/mangodb.conf
命令集: /usr/bin

命令

mongod 配置基本信息

常用参数,其他不常用的在 -h 里面自己查吧

-h / help 查看帮助
--dbpath 设置数据库存储位置
--port 设置端口,默认 27017

mongo 进入moongo shell 界面

quit() / ctrl+c 退出

数据结构

组成:

键值对----> 文档-----> 集合-----> 数据库

概念对比

------------------------------------
| mysql | mongoDB | 含义 |
------------------------------------
| database | database | 表/集合 |
------------------------------------
| table | collection | 字段/域 |
------------------------------------
| row | field | 记录/文档 |
------------------------------------
| index | index | 索引 |
------------------------------------

示例

mysql:

-----------------
ID | NAME | AGE |
-----------------
1 | yang | 18 |
-----------------
2 | tuo | 16 |
-----------------

mongoDB:

{
  "ID" : 1, 
  "NAME" : "yang",
  "AGE" : 18
}, 
{
  "ID" : 2,
  "NAME" : "tuo",
  "AGE" : 16
},

特点:

所谓灵活性: 一个集合中,不需要对文档的结构有限制,每个文档(记录)都可以随意自主的格式
简单来说,mysql 中的表的每行数据都要有固定的格式,不存在的字段必须要设置为空。

原文地址:https://www.cnblogs.com/shijieli/p/10446480.html