一、NoSQL简介
NoSQL = Not Only SQL,不仅仅是SQL,泛指非关系型数据库。NoSQL 不依赖业务逻辑方式存储,而以简单的key-value模式存储。因此大大的增加了数据库的扩展能力。
特点:不遵循SQL标准、不支持ACID(原子、一致、隔离、持久)、远超SQL的性能。
为什幺使用NoSQL :
- 对数据库高并发读写。
- 对海量数据的高效率存储和访问。
- 对数据库的高可扩展性和高可用性。
弱点:
- 有数据库事务一致性需求。
- 有数据库的写实时性和读实时性需求。
- 对复杂的SQL查询,特别是有多表关联查询的需求。
二、MongoDB简介
MongoDB 是由 C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,MongoDB添加更多的节点,可以保证服务器的性能。
MongoDB 旨在为 WEB 应用提供可拓展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键值对 key-value 组成。
MongoDB 文档类似于 JSON 对象,字段值可以包含其他文档、数组及文档数组。
{
name: "parker",
number: 7,
position: "striker",
groups: ["sport","football"]
}
MongoDB的特点
- 可以在MongoDB记录中设置任何属性的索引来实现更快的排序。
- 可以通过本地或者网络创建数据镜像,有更强的扩展性。
- 随着负载的增加 ,它可以分布在计算机网络中的其他节点上,即所谓的分片。
- 支持丰富的查询表达式,查询指令使用 JSON 形式的标记,可轻易查询文档中内嵌的对象及数组。
- 允许在服务端执行脚本,可以用 Javascript 编写某个函数,直接在服务端执行,也可以把函数的定义存储在服务端,下次直接调用即可。
三、MongoDB的安装
第一步,拉取镜像:docker pull mongo:latest
第二步,创建和启动容器:docker run -d --restart=always -p 27017:27017 --name <数据库名称> -v /data/db:/data/db -d mongo
返回一串乱码代表创建成功。
第三步,进入容器终端:docker exec -it <数据库名称> /bin/bash
第四步,使用 MongoDB 客户端进行操作:mongosh
第五步,查询所有的数据库:show dbs
到此,MongoDB 已安装成功。