简介
MongoDB是一个开源,面向文档的数据库,为易于开发和扩展而设计。MongoDB支持高性能,高可用性,和自动扩展。
文档数据库
MongoDB中的一个记录是一个文档,由域(field)和值(value)对组成的数据结构。MongoDB文档跟JSON对象相似,域值可能包含其他文档,数组,及文档数组。
{
name: “sue”,
age: 26,
status: “A”,
groups: [“news”, “sports”]
}
使用文档的优点是:
。文档(对象)对应很多编程语言的原生类型
。内嵌文档和数组减少了对昂贵的join的需求
。动态模式流畅支持多态
关键特性
高性能
MongoDB提供高性能的数据持久化。特别是
。支持内置数据模型减少在数据库系统的I/O操作
。索引支持更快查询,并且能包含内嵌文档和数组的keys
高可用性
为提供高可用性,MongoDB的复制工具,称为replica sets, 提供:
。自动故障恢复
。数据冗余
一个replica set是维护相同数据集的一组MongoDB服务,提供数据冗余和持续的数据可用性。
自动扩展
MongoDB支持水平扩展并作为其核心功能。
。自动sharding并在一个机器集群上分发数据
。Replica set能提供始终低延迟高吞吐的读操作部署
安装
在linux系统上安装
生成环境的部署,总是在64位系统上运行MongoDB.
curl -Ohttp://downloads.mongodb.org/linux/mongodb-linux-x86_64-2.6.5.tgz
tar -zxvf mongodb-linux-x86_64-2.6.5.tgz
设置环境变量:
export PATH=<mongodb-install-directory>/bin:$PATH
运行 MongoDB
创建数据目录,mongod进程默认使用/data/db目录,如果创建其他目录,需要在启动mongod进程时,在dbpath选项中指定。
mkdir -p /data/db
运行MongoDB:
mongod --logpath /path/to/mongodb/mongod.log–fork
使用MongoDB
进入shell命令:
mongodb # mongo
> show dbs;
创建DB和用户:
mongodb # mongo
> show dbs;
> use test; # 切换或创建数据库
mongodb # mongo test
> db.addUser("root","root123"); # 添加用户