当前位置:Gxlcms > mysql > MongoDB配置使用MacOS

MongoDB配置使用MacOS

时间:2021-07-01 10:21:17 帮助过:11人阅读

MongoDB 是什么 MongoDB是一种文档存储的NoSQL数据库,NoSQL数据库是非关系型数据库 关系型数据库 四原则ACID 原子性 Atomicity 一致性 Consistency 独立性 Isolation 持久性 Durability NoSQL数据库 不同于传统的关系型数据库统称为NoSQL数据库。适用于处理

MongoDB

是什么

MongoDB是一种文档存储的NoSQL数据库,NoSQL数据库是非关系型数据库

关系型数据库

四原则ACID

  1. 原子性 Atomicity
  2. 一致性 Consistency
  3. 独立性 Isolation
  4. 持久性 Durability

NoSQL数据库

不同于传统的关系型数据库统称为NoSQL数据库。适用于处理超大数据。

2009年在亚特兰大举行的”no:sql(east)”讨论会是一个里程碑,其口号是”select fun, profit from real_world where relational=false;”。因此,对NoSQL最普遍的解释是”非关联型的”,强调Key-Value Stores文档数据库的优点,而不是单纯的反对RDBMS。

CAP定理(CAP theorem)

在计算机科学中, CAP定理(CAP theorem), 又被称作 布鲁尔定理(Brewer’s theorem), 它指出对于一个分布式计算系统来说,不可能同时满足以下三点:
- 一致性 Consistency
- 可用性 Availability
- 分隔容忍 Partition Tolerance

CAP认为一个分布式系统最多只能满足以上三点钟的两点,因此有:
CA原则、CP原则、AP原则
- CA 单点集群、满足一致性、可用性的系统,一般在可扩展性上不高
- CP 满足一致性、分隔容忍性的系统,通常在性能上不是很好
- AP 满足可用性、分割容忍性的系统,通常可能对一致性要求低一些
Alt text

BASE原则

NoSQL数据库的原则
- Basic Available 基本可用性
- Soft-State 软状态/柔性事务(可理解为无连接的)
- Eventually Consistency 最终一致性

NoSQL数据库分类

Alt text

RDBMS vs NoSQL

RDBMS
- 高度组织化结构化数据
- 结构化查询语言(SQL) (SQL)
- 数据和关系都存储在单独的表中。
- 数据操纵语言,数据定义语言
- 严格的一致性
- 基础事务

NoSQL
- 代表着不仅仅是SQL
- 没有声明性查询语言
- 没有预定义的模式
- 键 - 值对存储,列存储,文档存储,图形数据库
- 最终一致性,而非ACID属性
- 非结构化和不可预知的数据
- CAP定理
- 高性能,高可用性和可伸缩性

Alt text

安装(MacOS)

1. homebrew安装

brew update 
brew install mongodb
brew install mongodb --with-openssl //带TLS/SSL支持
brew install mongodb --devel //获取最新版本的

2. 新建/data/db目录

sudo mkdir -p /data/db

3. 启动服务

sudo mongod //如果给/data/db加了权限的话,可以省掉sudo

4. 后台管理shell

如果你需要进入MongoDB后台管理,你需要先打开mongodb装目录的下的bin目录,然后执行mongo命令文件。
MongoDB Shell是MongoDB自带的交互式Javascript shell,用来对MongoDB进行操作和管理的交互式环境。
当你进入mongoDB后台后,它默认会链接到 test 文档(数据库)

$ cd /usr/local/bin #其实我不用打开这个,直接用mongo也是可以的
$ ./mongo
> 2+2
4
> db.runoob.insert({x:10})
WriteResult({ "nInserted" : 1 })
> db.runoob.find()
{ "_id" : ObjectId("5604ff74a274a611b0c990aa"), "x" : 10 }

Alt text

5. MongoDb web 用户界面

MongoDB 提供了简单的 HTTP 用户界面。 如果你想启用该功能,需要在启动的时候指定参数 –rest 。

$ mongod --rest

Alt text

基本使用

见上

与python结合使用

用pymongo

import pymongo 
client = pymongo.MongoClient('127.0.0.1',30017)
client.bigsci.authenticate('username','password') #给某个数据库授权
db         = client.bigsci          #选择一个数据库
collection = db.wiki                #选择一个集合
res        = collection.find_one()  #查询

人气教程排行