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