首页 > 代码库 > MongoDB介绍及安装

MongoDB介绍及安装

mongodb简介


1、简介

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类 似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

2、特点
它的特点是高性能、易部署、易使用,存储数据非常方便。

主要功能特性有:
*面向集合存储,易存储对象类型的数据。
*模式自由。
*支持动态查询。
*支持完全索引,包含内部对象。
*支持查询。
*支持复制和故障恢复。
*使用高效的二进制数据存储,包括大型对象(如视频等)。
*自动处理碎片,以支持云计算层次的扩展性。
*支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
*文件存储格式为BSON(一种JSON的扩展)。
*可通过网络访问。

3、使用原理
所谓“面向 集合”(Collection-Oriented),意思是数据被分组存储在数据集中,被称为一个集合(Collection)。每个集合在数据库中都有 一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库(RDBMS)里的表(table),不同的是它不需要定义任何模式 (schema)。

模式自由(schema-free),意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。

存储在集合中的文档,被存储为键-值对的形式。键用于唯一标识一个文档,为字符串类型,而值则可以是各种复杂的文件类型。我们称这种存储形式为BSON(Binary Serialized Document Format)。

4、实际应用
MongoDB服务端可运行在Linux、Windows或IOS平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。


BSON入门


1、概念

BSON(Binary Serialized Document Format)是一种类json的一种二进制形式的存储格式,简称Binary JSON,它和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和BinData类型。

BSON可以做为网络数据交换的一种存储形式,这个有点类似于Google的Protocol Buffer,但是BSON是一种schema-less的存储形式,它的优点是灵活性高,但它的缺点是空间利用率不是很理想。

BSON有三个特点:轻量性、可遍历性、高效性。

{“hello":"world"} 这是一个BSON的例子,其中"hello"是key name,它一般是cstring类型,字节表示是cstring::= (byte*) "/x00" ,其中*表示零个或多个byte字节,/x00表示结束符;后面的"world"是value值,它的类型一般是 string,double,array,binarydata等类型。

2、使用情况
MongoDB 使用了BSON这种结构来存储数据和网络数据交换。把这种格式转化成文档这个概念(Document),因为BSON是schema-free的,所以在 MongoDB中所对应的文档也有这个特征,这里的一个Document也可以理解成关系数据库中的一条记录(Record),只是这里的 Document的变化更丰富一些,如Document可以嵌套。

MongoDB以BSON做为其存储结构的一种重要原因是其可遍历性。

3、例子
3.1 一个Document的BSON表示

{
    title:"MongoDB",
    last_editor:"192.168.1.122",
    last_modified:new Date("27/06/2011"),
    body:"MongoDB introduction",
    categories:["Database","NoSQL","BSON"],
    revieved:false }

这是一个简单的BSON结构体,其中每一个element都是由key/value对组成的。

3.2 一个嵌套的例子

{
    name:"lemo",
    age:"12",
    address:{
        city:"suzhou",
        country:"china",
        code:215000 },
    scores:[
        {"name":"english","grade:3.0},
        {"name":"chinese","grade:2.0}  ]
}

这是一种相对复杂点的例子,其中包括了地址对象和分数对象数组,这里使用了嵌套文档对象与文档对象数据来表示单个学生的信息,这种嵌套的文档结构要使用关系数据库来做是比较复杂的。


Windows7下安装MongoDB


1、下载

地址:http://www.mongodb.org/downloads(32位还是64位自行选择)。
我下载的是:mongodb-win32-x86_64-2.4.5.zip

2、解压
把mongodb-win32-x86_64-2.4.5.zip放到某个位置,解压。我放的是D:\dev目录。
解压后的路径为D:\dev\mongodb-win32-x86_64-2.4.5

3. 安装准备
MongoDB默认的数据目录为:C:\data\db。如果不用默认目录,则需要在在mongod.exe命令后加--dbpath参数。
创建数据目录。我创建的是D:\dev\mongodb-win32-x86_64-2.4.5\data\db
创建日志目录及其文件。我创建的是D:\dev\mongodb-win32-x86_64-2.4.5\log及D:\dev\mongodb-win32-x86_64-2.4.5\log\log.txt。

4、启动MongoDB
打开cmd窗口(cmd.exe),进入D:\dev\mongodb-win32-x86_64-2.4.5\bin,执行mongod.exe命令,见下图。
mongod.exe --logpath=D:\dev\mongodb-win32-x86_64-2.4.5\log\log.txt --dbpath=D:\dev\mongodb-win32-x86_64-2.4.5\data\db

--logpath 参数是设定日志文件的路径。
--dbpath 参数是设定数据库文件的存放路径。
mongod.exe命令的所有参数选项可通过mongod.exe --help查看。

5、作为服务进行安装
使用管理员权限打开windows的cmd窗口,进入D:\dev\mongodb-win32-x86_64-2.4.5\bin目录。
mongod.exe --install --logpath=D:\dev\mongodb-win32-x86_64-2.4.5\log\log.txt --dbpath=D:\dev\mongodb-win32-x86_64-2.4.5\data\db
--install 参数是设定安装为服务器

设置为服务后,即可在cmd(管理员权限打开的windows cmd窗口)窗口用服务的方式启动或停止MongoDB。
net start mongodb 启动mongodb服务
net stop mongodb 启动mongodb服务

6、进入shell环境界面
进入sheelMongoDB后,在cmd窗口进入D:\dev\mongodb-win32-x86_64-2.4.5\bin目录,输入mongo.exe,则可以进入shell环境界面。

MongoDB介绍及安装