MongoDB配置使用 Mac OS
MongoDB 是什么 MongoDB是一种文档存储的NoSQL数据库,NoSQL数据库是非关系型数据库 关系型数据库 四原则ACID 原子性 Atomicity 一致性 Consistency 独立性 Isolation 持久性 Durability NoSQL数据库 不同于传统的关系型数据库统称为NoSQL数据库。适用于处理
MongoDB
是什么
MongoDB是一种文档存储的NoSQL数据库,NoSQL数据库是非关系型数据库
关系型数据库
四原则ACID
- 原子性 Atomicity
- 一致性 Consistency
- 独立性 Isolation
- 持久性 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 满足可用性、分割容忍性的系统,通常可能对一致性要求低一些
BASE原则
NoSQL数据库的原则
- Basic Available 基本可用性
- Soft-State 软状态/柔性事务(可理解为无连接的)
- Eventually Consistency 最终一致性
NoSQL数据库分类
RDBMS vs NoSQL
RDBMS
- 高度组织化结构化数据
- 结构化查询语言(SQL) (SQL)
- 数据和关系都存储在单独的表中。
- 数据操纵语言,数据定义语言
- 严格的一致性
- 基础事务
NoSQL
- 代表着不仅仅是SQL
- 没有声明性查询语言
- 没有预定义的模式
- 键 - 值对存储,列存储,文档存储,图形数据库
- 最终一致性,而非ACID属性
- 非结构化和不可预知的数据
- CAP定理
- 高性能,高可用性和可伸缩性
安装(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 }
5. MongoDb web 用户界面
MongoDB 提供了简单的 HTTP 用户界面。 如果你想启用该功能,需要在启动的时候指定参数 –rest 。
$ mongod --rest
基本使用
见上
与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() #查询
推荐阅读
-
Mac os 中配置JDK7
-
在Mac OS上安装配置mongoDB
-
eclipse使用tomcat发布项目(mac os) eclipsetomcatwebappsmac os
-
mac os下开发系列-配置 maven 3 mac os配置 maven 3
-
【转】开发人员为何应该使用 Mac OS X 兼 OS X 小史 OSSmalltalk脚本LinuxCocoa
-
mysql 5.7.13 安装配置笔记(Mac os)
-
Mac OS10.11下mysql5.7.12 安装配置方法图文教程
-
在Mac OS的PHP环境下安装配置MemCache的全过程解析
-
Mac OS10.11下mysql5.7.12 安装配置方法图文教程
-
Vmware10上MAC OS 10.9安装配置方法图文教程